Radium¥¥¥Rad基礎操作

前言

最近在學習滲透測試知識幻林,自從開始使用Rad便非常的驚喜瑞你,但在使用過程中產(chǎn)生了很多小疑問和小障礙烛愧,經(jīng)過一段時間的學習使用油宜,形成了一些拙見,與大家共享怜姿,希望大家能站在我的肩膀上慎冤,繼續(xù)前進。

一沧卢、Rad是什么蚁堤?

rad,全名 Radium但狭,名字來源于放射性元素——鐳, 從一個URL開始披诗,輻射到一整個站點空間。他是從企業(yè)版Xray中提取出的一款專為安全掃描而生的瀏覽器爬蟲熟空。由Golang寫成,具有如下特點:

通過調用Chrome搞莺,可以智能爬取各種 Web2.0 網(wǎng)站息罗,模擬人的行為進行點擊、輸入等才沧,自動事件觸發(fā)和表單填充迈喉,助力漏洞掃描更快一步

支持Windows绍刮,Linux,MacOS(包括M1芯片版)

支持手動登錄網(wǎng)站后繼續(xù)爬取

支持在爬取過程中對相似度高的頁面進行去重挨摸,過濾靜態(tài)文件孩革、重復請求減少資源消耗

支持自由配置代理,UA等設置

支持為指定域名配置headers

支持多種輸出得运,可選擇輸出域名膝蜈,完整請求,JSON

支持自定義請求關鍵字/正則過濾熔掺,防止危險請求觸發(fā)饱搏、意外登出

支持自定義并發(fā)控制,合理調配資源占用

支持自定義行為控制置逻,限制單個頁面中點擊深度推沸,點擊次數(shù)、點擊時間間隔券坞、超時時間

二鬓催、安裝Rad

下載地址

https://github.com/chaitin/rad/releases

自行下載對應版本的Rad即可

準備

安裝最新版本的Chrome

Rad是沒有圖形化界面的,所以需要通過Powershell恨锚,cmd宇驾,shell等通過命令行調用。配置文件需要隨意制定一個掃描目標后生成眠冈。

執(zhí)行如下命令獲取配置文件:

rad.exe -t http://example.com 各自系統(tǒng)命令有所不同

執(zhí)行完成后應如下圖

三飞苇、基礎使用

首先使用rad.exe -h查看Rad本身自帶的幫助信息

1.--target|-t|--url|-u

該參數(shù)都可以指定掃描目標,作用一樣

2.--config|-c

該參數(shù)可指定使用哪個配置文件蜗顽,當未使用該參數(shù)時默認rad_config.yml

3.--text-output|--text

指定輸出模式為txt布卡,且將導出基本結果,也就是只有請求類型與請求地址雇盖。

輸入結果如圖:

4.--full-text-output|--full

指定輸出模式為txt忿等,且將導出完整請求,也就是包括了請求頭與請求體崔挖。

輸入結果如下圖:

5.--json-output|--json

指定輸出模式為json贸街,且將導出完整請求,也就是包括了請求頭與請求體狸相。

輸出結果如下圖:

6.--auto-index|--index

該參數(shù)需配合結果輸出參數(shù)一起使用薛匪,他會檢測到如果當前生成的結果文件已存在,便自動在結果文件的名稱后面添加編號脓鹃,不需要自己再修改生成文件的名稱逸尖。

效果如圖:

7.--http-proxy

設置代理服務器,需要注意,此處的原理為:Rad為調用起的Chrome設置了代理娇跟,而不是Rad本身使用代理岩齿。

8.--disable-headless

無頭模式,又稱為無界面啟動苞俘,是指在調用Chrome做爬蟲時不打開瀏覽器盹沈,而是使用瀏覽器的內核進行爬蟲

Rad在默認狀態(tài)下是啟用無頭模式的,使用此參數(shù)可禁用無頭模式吃谣,使其開啟瀏覽器運行乞封,觀測爬取過程

無頭模式的默認狀態(tài)也可以在配置文件中修改

9.--log-level

指定輸出等級,默認輸出info基协,當級別高于info后歌亲,info將不被輸出。

級別分為:debug, info, warn, error, fatal

效果如下圖:

10.--no-banner

去掉banner信息

效果如圖:

11.--wait-login

使用該參數(shù)會自動禁用無頭瀏覽模式澜驮,開啟一個瀏覽器供手動登錄陷揪。在登錄完畢后在命令行界面點擊回車鍵繼續(xù)爬取。注意需要登陸時請在配置文件中開啟圖片顯示功能杂穷,否則會出現(xiàn)驗證碼不顯示的現(xiàn)象

以下為登陸全流程

首先會開啟一個空白界面悍缠,需要手動在地址欄輸入要登陸的地址

響應完成后輸入賬號密碼進行登錄

登陸完成后進入主界面

這個時候回到shell界面點擊回車即可繼續(xù)爬取

四、Rad聯(lián)動Xray等其他工具

Rad與其他工具聯(lián)動的原理基本一致耐量,這里只選擇三個工具作為演示

Xray

社區(qū)版:設置上級代理為Xray監(jiān)聽地址 首選運行xray:

? ? — xray webscan --listen 127.0.0.1:7777 --html-output proxy.html

? ? — 運行rad:rad -t http://example.com -http-proxy 127.0.0.1:7777

高級版:對 Rad 進行了深度融合飞蚓,下載后可以一鍵使用:

? ? — xray webscan --browser-crawler http://example.com --html-output vuln.html

? ? — 注意將Xray與Rad放于同一目錄下

Burp Suite

使用burp作為上級代理,只需要將bp打開廊蜒,然后將Rad的http-proxy設置為burp的代理端口即可

burp的抓包打開后趴拧,就可以直接使rad暫停住,可以修改包的內容再發(fā)送山叮。

也可以將intercept置為off著榴,在HTTP history中查看發(fā)送與返回的數(shù)據(jù)包

如果需要再掛一層代理改變出網(wǎng)ip,只需要在Burp的User options中的Upstream Proxy Servers設置上層代理即可

W13scan

原理與xray一樣屁倔,使用W13scan的被動掃描作為上級代理完成聯(lián)動

python3 w13scan.py -s 127.0.0.1:7778 --html? # 端口可省略脑又,默認為7778,開啟--html即實時生成html報告

rad -t http://example.com -http-proxy 127.0.0.1:7778

五、多目標掃描

由于Rad目前不支持多目標掃描锐借,所以可以選擇使用命令行的多命令執(zhí)行完成多目標掃描的目的问麸。

1.多條命令之間推薦使用;來執(zhí)行,第一時因為linux的命令行與powershell都支持該符號分割钞翔,第二也是可以在上一條命令執(zhí)行失敗的情況下繼續(xù)執(zhí)行下一條命令严卖,從而達到出現(xiàn)了問題也不影響后續(xù)的效果。

效果如下圖:

2.目標少的時候還可以使用這種方式布轿,但如果目標多了哮笆,使用腳本來生成命令會更為合適

如果需要Xray+Rad的批量主動掃描俺亮,可以使用timwhitez師傅寫的腳本來實現(xiàn)。獲取地址:Xray-Rad

如果只是生成一段命令疟呐,可以參考以下腳本,使用方式:python 1.py -r a.txt -o b.txt

import argparse

import time

parser = argparse.ArgumentParser()

txtName = str(int(time.time())) + ".txt"

parser.add_argument('-r',help='Enter the file you want to generate')

parser.add_argument('-o', type=str, default=txtName, help='Please enter the name of the file you want to output. Default is '+txtName)

args = parser.parse_args()

f = open(args.r,'r')

data = f.readlines()

a = ""

for i in data:

a += "; .\\rad.exe -t {} --json abs.json --index".format(i.strip())

f.close()

f = open(args.o,"w")

f.write(a)

f.close()

這是目標文件:

這是生成結果:

具體想要生成出什么樣的命令都可以再修改

配置文件解析

此處只對配置文件中描述的比較模糊的地方做一下詳細說明东且,故不粘貼配置文件的全部內容

exec_path: ""

? ? ? — 啟動chrome的路徑启具,正常安裝了Chrome的就一般不需要填寫

disable_headless: true

? ? ? — 無頭模式,也就是無界面啟動珊泳。默認為無界面啟動狀態(tài)鲁冯,修改為false后運行程序即可看到瀏覽器

force_sandbox: false

? ? ? — 強制開啟sandbox;為 false 時默認開啟沙箱色查,但在容器中會關閉沙箱薯演。為true時強制啟用沙箱,可能導致在docker中無法使用秧了。

? ? ? — 沙盒利用操作系統(tǒng)提供的安全性跨扮,允許不能對計算機做出持久性改變或者訪問持續(xù)變化的信息的代碼的執(zhí)行。沙箱提供的架構和具體保證依賴于操作系統(tǒng)验毡。

proxy: ""

? ? ? ? — 代理配置衡创,如果不想在命令行中每次都添加,可直接在此處添加

domain_headers:? ? ? ? ? ? ? ? ? # 請求頭配置:[]{domain,map[headerKey]HeaderValue}

- domain: '*'? ? ? ? ? ? ? ? ? ? # 為哪些域名設置header晶通,glob語法

? headers: {}? ? ? ? ? ? ? ? ? ? # 請求頭璃氢,map[key]value

? ? ? — 該參數(shù)可以實現(xiàn)高度的自定義,并且可以設置多個domain狮辽,為每個不同的domain設置不同的headers

— 拿http://space.bilibili.com來舉例一也,當沒有登陸的時候,訪問該url會跳轉至登陸界面喉脖。而當?shù)顷懞笠叮搖rl會跳轉至登陸用戶的空間。所以如果想要爬取相關內容动看,又不想使用wait-login尊剔,就可以先登錄,抓取cookie菱皆,然后此處設置cookie须误,會直接跳轉到登錄用戶的空間

? ? ? — 還類似與這個漏洞,CVE-2021-29441仇轻,將UA設定成指定的內容京痢,即可未授權訪問admin的內容

? ? ? — 還有像一些webVPN,通過特定的cookie允許訪問內網(wǎng)的內容篷店,正常在沒有cookie時無法訪問祭椰。這個時候就可以對該域名添加指定cookie臭家,從而實現(xiàn)讓rad爬取內網(wǎng)資產(chǎn)的目的。

element_filter_strength: 0

? ? ? — 過濾同站點相似元素強度方淤,1-7取值钉赁,強度逐步增大,為0時不進行跨頁面元素過濾

? ? ? — 在爬取過程中對相似度高的頁面進行去重携茂,過濾靜態(tài)文件你踩、重復請求減少資源消耗,可有效減少無用請求的輸出讳苦。

new_task_filter_config|request_send_filter_config|request_output_filter_config

? ? ? — 檢查某個鏈接是否應該被加入爬取隊列带膜、某個請求是否應該被發(fā)送、輸出

? ? ? — path_disallowed: [] # 不允許訪問的路徑, 支持的格式如: test鸳谜、*test*

拿這個參數(shù)舉例子:

? ? ? — 未修改時所爬取到的鏈接:

添加不想被爬的路徑:

修改后的爬取結果:

輸出文件的使用

Rad有三種輸出模式膝藕,簡易輸出,全輸出和Json輸出咐扭,此處大概提一下一些簡單的使用芭挽,也歡迎師傅們有更多更好的想法。

1.當使用--text 1.txt也就是簡易輸出的時候蝗肪,可以選擇將輸出的文件中的GET與POST去掉览绿,然后直接將該文件交給sqlmap來跑

當生成的txt比較大,或者是批量目標生成的txt合起來穗慕,就可以使用這樣的命令進行批量檢測python sqlmap.py -m 1.txt --smart --batch --random-agent --level 5

2.上述的使用容易出現(xiàn)POST請求不會被檢測到的情況饿敲,所以可以使用Json格式進行輸出,然后通過腳本實現(xiàn)對GET請求與POST請求的分離逛绵,使用多命令執(zhí)行來實現(xiàn)精準匹配怀各。

import argparse

import time

import json

import base64

parser = argparse.ArgumentParser()

txtName = str(int(time.time())) + ".txt"

parser.add_argument('-r',help='Enter the file you want to generate')

parser.add_argument('-o', type=str, default=txtName, help='Please enter the name of the file you want to output. Default is '+txtName)

args = parser.parse_args()

f = open(args.r,'r')

load_dict = json.load(f)

f.close()

a = ""

for i in range(len(load_dict)):

if load_dict[i]["Method"] == "GET":

a += "; python sqlmap.py -u \"{}\" --smart --batch --random-agent --level 5".format(load_dict[i]["URL"])

else:

if "b64_body" in load_dict[i]:

a += "; python sqlmap.py -u \"{}\" --data \"{}\" --smart --batch --random-agent --level 5".format(load_dict[i]["URL"],base64.b64decode(load_dict[i]["b64_body"]).decode("utf-8"))

else:

continue

f = open(args.o,"w")

f.write(a)

f.close()

該腳本只是實例,可根據(jù)自己需求自行修改术浪。

效果如下瓢对,為方便展示,將分號替換為回車:

你學會了嗎胰苏?

沒有吧硕蛹!

再去看一遍!

快點K恫ⅰ7ㄑ妗!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末倔毙,一起剝皮案震驚了整個濱河市埃仪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌陕赃,老刑警劉巖卵蛉,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件颁股,死亡現(xiàn)場離奇詭異,居然都是意外死亡傻丝,警方通過查閱死者的電腦和手機甘有,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來葡缰,“玉大人梧疲,你說我怎么就攤上這事≡俗迹” “怎么了?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵缭受,是天一觀的道長胁澳。 經(jīng)常有香客問我,道長米者,這世上最難降的妖魔是什么韭畸? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮蔓搞,結果婚禮上胰丁,老公的妹妹穿的比我還像新娘。我一直安慰自己喂分,他們只是感情好锦庸,可當我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蒲祈,像睡著了一般甘萧。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上梆掸,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天扬卷,我揣著相機與錄音,去河邊找鬼酸钦。 笑死怪得,一個胖子當著我的面吹牛,可吹牛的內容都是我干的卑硫。 我是一名探鬼主播徒恋,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼欢伏!你這毒婦竟也來了因谎?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤颜懊,失蹤者是張志新(化名)和其女友劉穎财岔,沒想到半個月后风皿,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡匠璧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年桐款,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片夷恍。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡魔眨,死狀恐怖,靈堂內的尸體忽然破棺而出酿雪,到底是詐尸還是另有隱情遏暴,我是刑警寧澤,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布指黎,位于F島的核電站朋凉,受9級特大地震影響,放射性物質發(fā)生泄漏醋安。R本人自食惡果不足惜杂彭,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望吓揪。 院中可真熱鬧亲怠,春花似錦、人聲如沸柠辞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽叭首。三九已至徙垫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間放棒,已是汗流浹背姻报。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留间螟,地道東北人吴旋。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像厢破,于是被迫代替她去往敵國和親荣瑟。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,647評論 2 354