zoukankan      html  css  js  c++  java
  • 20145314郑凯杰《网络对抗技术》PE文件病毒捆绑(插入捆绑)的实现

    20145314郑凯杰《网络对抗技术》PE文件病毒捆绑(插入捆绑)的实现

    一、本节摘要

    • 简介:每个应用程序内部都有一定的空间(因为文件对齐余留的00字段)可以被利用,这样就可以保证被插入的程序“原封不动”,显然更具有迷惑性和欺骗性。先对windows可执行文件PE结构进行分析,接下来可以实现用Ollydbg对PE文件进行恶意代码注入。
    • 目标:
      1. 用汇编语言编写一个简单的对话框,并将其写入PE文件的预留字段中
      2. 将入口地址的语句修改为跳转语句。
      3. 跳转执行完对话框后再实现语句回溯,跳回原本的正常程序,不影响正常程序执行。
    • 工作环境:
      • Windows 7
    • 最终成果:已全部实现目标,但OllyDbg无法导出修改后的EXE程序。

    二、实现过程

    实现最最毒辣的一种方法,为了保证我们文件捆绑之后注入的隐蔽性。就是要保证文件修改前后的大小一样。因此选择PE文件注入的方法。下面用OllyDbg进行简单的注入,并在其后实现病毒的注入:

    打开OllyDbg调试器。装入我们的目标程序,游戏的EXE。

    根据我们上面的PE知识准备,可以知道,每个PE文件在其末尾都会有一波空白的代码部分。拉动滚动条,找到最后:

    这个部分就是空白部分。

    首先我们实现一下简单的例子,比如说注入一个对话框。

    先写上内容。

    选中一波空白部分,右键编辑,输入我们需要的字段zkj5314haha

    点击ctrl+A 重新分析一下代码

    发现红色的就是刚添加的部分。

    接下来需要我们编写一波汇编代码,实现上面这个字段的使用

    PUSH 0 ; BUTTONS =
    PUSH XXXXX ; CAPTION = 标题文字,定位到刚才的第一个字符串
    PUSH XXXXX ; MESSAGE = 信息文字,定位到第二个字符串
    PUSH 0 ; ICON = 按钮
    CALL MessageBoxA; 用 MessageBoxA 跑起上面的所有代码

    按行输入汇编后,就出现了这一波代码。如果你现在保存它并运行它,你将看不到任何的效果,为什么呢?因为这段代码并没有被调用。

    接下来记住 77625F00 这个是我们开始执行程序代码的地方。

    右击PUSH 0 转到 EIP

    选择几行代码复制,

    777501C8 . 895C24 08 MOV DWORD PTR SS:[ESP+8],EBX
    777501CC . E9 E9960200 JMP ntdll.777798BA
    777501D1 . 8DA424 000000>LEA ESP,DWORD PTR SS:[ESP]
    777501D8 . 8DA424 000000>LEA ESP,DWORD PTR SS:[ESP]
    777501DF . 90 NOP

    选择第一条,输入JMP 刚才的地址。使程序在刚进来时就可以跳转到我们的恶意代码部分

    会发现刚才的那一部分都被覆盖了,这时候我们就应该把覆盖的这一部分代码给补到最后的恶意代码上。

    还得记录下跳转回去的地址777501CC,这个值需要加在我们补充完代码之后。使程序在跳转完成后还可以回到原点正常执行。

    因此,在补充完代码之后,加上JMP 777501CC

    接下来就可以run程序。

    成功出现弹窗。

    弹窗取消后,程序会等很久才打开,应该是OllyDbg的问题,运行起来特别慢,最后也没办法导出修改后的exe文件。很是痛苦。不过已经实现了PE文件的病毒化,入口地址的修改和跳转。

  • 相关阅读:
    HDU 6143 Killer Names【dp递推】【好题】【思维题】【阅读题】
    HDU 6143 Killer Names【dp递推】【好题】【思维题】【阅读题】
    POJ 3974 Palindrome【manacher】【模板题】【模板】
    POJ 3974 Palindrome【manacher】【模板题】【模板】
    HDU 6127 Hard challenge【计算机几何】【思维题】
    HDU 6127 Hard challenge【计算机几何】【思维题】
    HDU 6129 Just do it【杨辉三角】【思维题】【好题】
    HDU 6129 Just do it【杨辉三角】【思维题】【好题】
    HDU 3037 Saving Beans【Lucas定理】【模板题】【模板】【组合数取余】
    8.Math 对象
  • 原文地址:https://www.cnblogs.com/5314zkj/p/7029296.html
Copyright © 2011-2022 走看看