DC-1渗透测试

DC1 五个flag的拿取(截图是五个flag里面的内容)

**注意事项:**kali的用户名:root密码:kali

注意:DC1 只要开机服务就起来了

思路:信息收集---> 寻找漏洞---> 利用漏洞(sql注入,文件上传漏洞,框架漏洞等)---> 反弹shell--->进行提权

1,DC1网络适配器改为NAT模式,并在高级选项一栏查看MAC地址

2信息收集过程,利用acp-scan -l f发现活动主机

3由上一步知道第三个是DC-1IP地址

4.Namp进行更加详细的扫描,发现测试机开通了22端口,80端口,111端口分别对应了ssh服务,http服务,rpcbind服务

5利用disrearch -u扫描目录(过程缓慢,)发现了robots.txt存在,应该可以利用,实验后行不通。

6,通过工具searchsploit 检查drupal的7.0-7.31版本存在5个漏洞可以利用

7, 框架版本Drupal 7,打开msfconsole工具,搜索相关框架漏洞。

Msfconsole****简称(msf)是一款常用的渗透测试工具,包含了常见的漏洞利用模块和生成各种木马,方便于安全测试人员的使用。

【工具使用】Metasploit(MSF)使用详解****来自 < 【工具使用】------Metasploit(MSF)使用详解(超详细)-CSDN博客>

8由msf搜索总共有七个漏洞可以利用,其中第一个经过测试是可以成功的,复制粘贴一下

9,msf 漏洞使用 :

use 1(复制粘贴)

查看漏洞具体内容**:info**

配置被攻击机**:set RHOSTS 192.168.10.138**

检查配置**:options**

执行攻击**:run**

10,run一下,攻击靶机192.168.23.144

  1. 进入靶机的命令行内

12,执行命令:python -c 'import pty;pty.spawn("/bin/bash")'

(这是一段简短的 Python 代码,旨在从当前的 shell 会话中启动一个交互式的 bash shell(以提高终端的功能),并通过 TTY(伪终端)绑定到该 shell,从而获得更好的交互式操作体验。

代码导入了pty模块,并调用pty.spawn()函数,将参数"/bin/bash"传递给它。这个函数的作用是创建一个新的伪终端(pseudo-terminal)并将它与当前的终端关联起来,然后在新的伪终端内启动一个bash Shell进程。这相当于在当前终端执行了一个新的bash进程,但是该进程跑在伪终端下。)

由此进入交互式命令中

13,ls一下在flag1.txt找到第一个flag1

Every good CMS needs a config file - and so do you.

每一个好的CMS都需要一个配置文件,你也是。

14,提示我们需要找cms(内容管理系统)的配置文件,此系统的配置文件在sites/default/目录下,我们进入此目录,发现目录下有配置文件(settings.php),查看配置文件,果然有flag的蛛丝马迹

cat settings.php,在这个文件中,有flag2

15,由此找到第二个flag2

* Brute force and dictionary attacks aren't the

* only ways to gain access (and you WILL need access).

* What can you do with these credentials?

暴力和字典攻击不是

获得访问权限的唯一方法(您将需要访问权限)。

16,第二个flag有提示,拿到证书

你能用这些证书做什么?

数据库:用户名:dbuser 密码:R0ck3t

17,接下来进入数据库查找网页登录账号和密码然后登陆网页。

进入MYSQL mysql -u dbuser -p password:R0ck3t

18 ,存在两个数据库

19,进入第二个数据库

20,查看表名

21,查看user里面所有信息,包括密码

成功找到账户和密码,但密码进行了加密,使用md5无法解密,因为Drupal 7的加密方式并不是一般的MD5

22,退出数据库,并列出初始目录下的所有内容

23,进入scripts

24,查看一下脚本password-hash.sh下有什么,然后把想用的密码传入脚本,然后让脚本自动加密生成一个系统支持的密码形式(我们这里传入123456)。

25.编译出密码 hash: SDdev/YW/NC5u9rd8xBLFT5X12s8yajuwfoifaCaoxFLDBVhSQ.bh

26,再次进入数据库

27查看数据库,使用drupaldbd数据库,并查看表名

28,由25****步可以开始更换密码,

select uid,name,pass from users;

查看之前的用户密码

update users set pass="SD4mpsf5vApkT26HtoEKccL5nAo9YjEceEkz0np.6zC011MNhoEjQ" where name="admin";

更改admin的密码

select uid,name,pass from users;

查看更改后的用户密码

29,观察到密码改变

30, 利用admin passwd:123456登录

31,登录进入网站,获得第三个flag:

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.

特殊的PERMS将有助于查找密码,但您需要执行该命令才能找到阴影中的内容。

32,退出,并依据flag3给出提示查找一下passwd,passwd在etc目录下有一个,我们进行查找发现flag4存在home目录下,直接进入home目录查看flag4

注;flag4在最后一行

33,查看flag4内容,提示根目录为关键字

flag4:

Can you use this same method to find or access the flag in root?

Probably. But perhaps it's not that easy. Or maybe it is?

您可以使用相同的方法来查找或访问根中的标志吗?

可能。但也许没那么容易。也许是这样?

34,flag4给出提示flag5就在根目录下,最后我们就需要提权。而flag3和flag4都给出了提示"find",暗示我们应该使用find提权。这里使用了find提权寻找suit

35,提权成为root用户

36,发现shell前缀改变,查看权限,发现有了root权限,进入root目录,获得第五个flag

解题总结:

DC-1靶场攻破过程:

1、首先我将测试机的网站进行了扫描,由此发现它的框架版本是Drupal 7,然后进入msf搜索相关漏洞,利用可行漏洞进行渗透,然后拿到交互shell,发现了flag1,其提示我们注意系统配置

2、cms的配置文件在sites/default中,查看配置文件发现了flag2,告诉我们数据库账号和密码

3、进入数据库后想更改密码,但是密码是进行了专门加密的,当知道了系统下自带加密脚本,于是我借助加密脚本生成了一个符合系统的密码,并且将数据库admin用户的密码进行了更改。使用更改后的密码,登陆上网站后,拿到了flag3,其提示我们寻找passwd

3、于是我找到了etc目录下的passwd,发现了flag4在home目录下,我进入home目录,查看了flag4,并提示我flag5在root目录下(需要提权操作)

4、通过flag3和flag4的提示,我使用find命令进行了提权并成功获取最后的flag5,成功渗透了DC-1靶机

相关推荐
独行soc4 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
独行soc5 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘
Clockwiseee6 小时前
php伪协议
windows·安全·web安全·网络安全
黑客Ash7 小时前
安全算法基础(一)
算法·安全
云云3217 小时前
搭建云手机平台的技术要求?
服务器·线性代数·安全·智能手机·矩阵
云云3217 小时前
云手机有哪些用途?云手机选择推荐
服务器·线性代数·安全·智能手机·矩阵
xcLeigh7 小时前
网络安全 | 防火墙的工作原理及配置指南
安全·web安全
白乐天_n8 小时前
腾讯游戏安全移动赛题Tencent2016A
安全·游戏
光路科技9 小时前
八大网络安全策略:如何防范物联网(IoT)设备带来的安全风险
物联网·安全·web安全
saynaihe9 小时前
安全地使用 Docker 和 Systemctl 部署 Kafka 的综合指南
运维·安全·docker·容器·kafka