*严正声明:本文仅限于技术讨论与分享,严禁用于非法途径。

1、自说自话

目前我能想到的反制红队的办法是dll劫持,但是dll劫持是会有一定的限制的,有一种dll劫持是劫持系统dll,而且需要软件未指定绝对路径,还有一种dll劫持是将软件本来就存在的dll替换成我们的上线木马dll文件,然后在我们的上线木马dll文件中跳回原本的dll。在后来跟团队的战友们讨论的时候发现,可以在汇编中插入我们的dll,然后让程序调用。

这里面又想到了多种方法,一种是用od单步走到第一个jmp命令,然后记录下来,让其更改jmp跳转至我们修改的位置,之后我们在修改的地方执行完dll之后再跳转回原本程序设定好的jmp位置,另外一种就是修改程序领空为我们调用木马dll后,跳转回程序入口点,这个方法还需要更改程序的入口点为我们木马dll的起始点。理论可行,实践开始。

2、免杀dll制作

cs首先生成shellcode。

1621311953_60a341d1c0e84132d2d2f.png!small?1621311954043

这里我用的shellcode生成dll免杀是用的k-fire大佬写的一款工具,当然也可以用其他工具写免杀dll。

下载地址:https://github.com/k-fire/shellcode-To-DLL

根据生成的shellcode,我们将其\x替换为空复制进工具中

1621311967_60a341df3d28d19c232c3.png!small?1621311968021

1621311975_60a341e79db5aa9345149.png!small?1621311976090

点击生成后会出现一个shellcode.dll,这个dll的正常运行方式是用同文件下的call_dll.exe

命令:call_dll.exe shellcode.dll

1621311989_60a341f5af3456b73bf47.png!small?1621311990424

3、将dll执行嵌入进exe中

这里我用的exe是我网上随便下的一个绝地求生外挂,如果是钓鱼红队的话建议用一些比较小众的程序通过更改名称来诱惑红队下载使用,这样可以防止红队去网上下一个没有病毒的程序运行。

将外挂程序拖入x32dbg。

1621312004_60a342040e8b0c30280fe.png!small?1621312004630

选择开启后程序会自动进入起始点。

1621312015_60a3420f42f2302b9965f.png!small?1621312015705

1621312021_60a342154229c2f8037e1.png!small?1621312021832

记住这个起始点,后面还需要用到。这里找到起始点后,我们往底下滑,找到类似于这种情况的地方。

1621312033_60a34221837ecf4752b04.png!small?1621312034258

选择二进制,编辑。

1621312043_60a3422b3bf9b3fd469de.png!small?1621312043826

1621312048_60a342300353e0fd3e0c9.png!small?1621312048385

这个时候就会变成这样。

1621312058_60a3423abc15e12a3d97b.png!small?1621312059238

这个时候我们再向底下过几个位置输入以下汇编代码。

Push 0

Push 0x546ED8

1621312069_60a34245c5367f591c63e.png!small?1621312070265

这个位置也就是一开始写调用call_dll.exe shellcode.dll最初点。

Call WinExec

Jmp 0x545AF0(ps:这里就是一开始记录的程序入口点)

修改完后进行补丁操作

1621312082_60a3425287a6183153de4.png!small?1621312083342

选择的位置要与原本的位置在同一文件夹下,并且我们需要将运行上线dll文件的东西一起拉进这个文件夹。

1621312094_60a3425e958647adc9a86.png!small?1621312095029

然后用lordpe将123.exe的程序入口进行更改。

1621312106_60a3426a6e030ccaee29f.png!small?1621312106743

1621312111_60a3426f4183c2d6b48bd.png!small?1621312111960

这个入口点的位置需要更改为图中所指位置

1621312124_60a3427c03eae3fe0712a.png!small?1621312124501

修改完成后进行保存,然后运行123.exe。在kali的cs上就会出现回连。程序也能正常的执行。

1621312138_60a3428ac60b7d412f57c.png!small?1621312139123

我们将修改完成后的文件上传至云沙箱查查毒。

1621312148_60a34294c91b24a00874c.png!small?1621312149094

4、总结

目前来说这种方法还会出现一些错误,在程序不同的情况下,会出现木马运行成功,但是程序崩溃,也有可能出现打补丁时0/41的情况,这个可能是修改的是系统领空。还需要继续研究根本原因是啥,但是在某一些软件上是可以成功修改的。

本文作者:linluhaijing