afrog-漏洞掃描(挖洞)工具【了解安裝使用詳細】

★★免責聲明★★
文章中涉及的程序(方法)可能帶有攻擊性,僅供安全研究與學習之用,讀者將信息做其他用途,由Ta承擔全部法律及連帶責任,文章作者不承擔任何法律及連帶責任。

1、afrog介紹

afrog 是一款性能卓越、快速穩定、PoC可定制的漏洞掃描(挖洞)工具,PoC涉及CVE、CNVD、默認口令、信息泄露、指紋識別、未授權訪問、任意文件讀取、命令執行等多種漏洞類型,幫助網絡安全從業者快速驗證并及時修復漏洞。

afrog有以下優點:

  • 開源
  • 快速、穩定、誤報率低
  • 詳細的 HTML 漏洞報告
  • 可定制且可穩定更新的 PoC
  • 活躍的社區交流小組

項目地址:https://github.com/zan8in/afrog

2、環境準備

基礎環境是kali linux ,ip: 192.168.242.4

如果沒有kali系統虛擬機,可關注公眾號:大象只為你,后臺回復:【虛擬機】獲取。

afrog的安裝使用需要go,go版本要求1.19 或更高版本,所以需要先安裝go。

2.1、安裝go

在kali linux系統下安裝會比較簡單,使用apt-get命令,安裝完成就可使用,不需要再設置環境變量等,安裝命令如下:

# 切換到root角色
sudo su
# 更新資源
apt-get update
# 安裝golang
apt-get install golang-go
# 查看安裝版本
go version

在這里插入圖片描述

3、安裝afrog

安裝afrog官方有提供3個方式,編譯好的Binary直接使用、Github下載源碼編譯和Go方式安裝。本文給前面兩種方式,Github源碼安裝是會比較麻煩,過程中也可能會出現異常情況。

3.1、編譯好的Binary直接使用

github項目地址看到右側看到Releases點進去下載最新的afrog_xxx_linux_amd64.zip 或直接訪問 https://github.com/zan8in/afrog/releases 選擇版本下載,然后復制到kali系統、解壓即可用。

# 創建目錄,復制下載的編譯好的zip包到該目錄下
mkdir afrog
# 切換到afrog目錄下
cd afrog
# 解壓壓縮包
unzip afrog_3.0.7_linux_amd64.zip 
# 刪除壓縮包
rm -rf afrog_3.0.7_linux_amd64.zip
# 查看版本號驗證命令是否可正常使用
./afrog -v
# 更多命令使用參數-h查看
./afrog -h
3.2、Github下載源碼編譯

方便工具使用管理,一般會單獨放在一個目錄下,比如tools,安裝命令如下:

如果git clone方式,因網絡問題無法正常下載,可直接到github上下載后再復制到kali 虛擬機。

# 切換到tools目錄
cd tools
# 下載afrog源碼
git clone https://github.com/zan8in/afrog.git
# 切換到afrog源碼目錄
cd afrog
# 方式一:生成的執行文件是afrog【建議使用】
go build -o afrog cmd/afrog/main.go  
# 方式二:生成的執行文件是main
go build cmd/afrog/main.go  

在編譯這個步驟預計10~20分鐘,具體看網速而定,如果網速不好的話,這個步驟會卡很久,卡很久可能是異常了【詳見3.3、Github下載源碼編譯異常處理】。

編譯完后就可以使用命令確認是否正常使用。

# 查看版本號
./afrog -v
# 更多命令使用參數-h查看
./afrog -h
3.3、Github下載源碼編譯異常處理

卡在go: downloading github.com/zan8in/rawhttp 這個地方很久沒反應

在這里插入圖片描述

如果沒有使用Ctrl+C命令強制停止,最后會有異常信息如下:

....略
whttp/@v/v0.0.0-20230318132449-31532db674af.zip": dial tcp 172.217.163.49:443: connect: connection refused
pkg/runner/celprogram.go:18:2: github.com/zan8in/oobadapter@v0.0.0-20240611013553-c79cb5eec939: Get "https://proxy.golang.org/github.com/zan8in/oobadapter/@v/v0.0.0-20240611013553-c79cb5eec939.zip": dial tcp 142.251.42.241:443: connect: connection refused
pkg/runner/cel.go:15:2: google.golang.org/genproto/googleapis/api@v0.0.0-20230530153820-e85fd2cbaebc: Get "https://proxy.golang.org/google.golang.org/genproto/googleapis/api/@v/v0.0.0-20230530153820-e85fd2cbaebc.zip": dial tcp 142.251.42.241:443: connect: connection refused

把以上報錯信息復制去ChatGPT給出的說明是安裝和編譯 afrog 時遇到了連接問題,無法從 Go 代理服務器下載所需的包。這可能是由于網絡問題或代理服務器的問題。

嘗試在瀏覽器中打開 https://proxy.golang.org 是能正常訪問。采用更改 Go 代理服務器的方式解決

# 執行該語句后再重新編譯afrog就正常了
go env -w GOPROXY=https://goproxy.cn,direct
4、使用說明

使用命令可用 ./afrog -h 來查看,這里只列出1個命令和對應2個場景靶場使用示例。afrog和其他一些工具的聯動后面我自己測試使用再分享出來。更多用法請參考wiki:https://github.com/zan8in/afrog/wiki

在掃描之前,需要先配置afrog-config.yaml

4.0、配置afrog-config.yaml

配置文件目錄在$HOME/.config/afrog/afrog-config.yaml 。詳細可參考:https://github.com/zan8in/afrog/wiki/Configuration

至少需要配置ceye,api-key和domain 從http://ceye.io/ 獲取,自己注冊賬號。

在這里插入圖片描述

使用命令vim 打開配置文件,按i鍵進入編輯,退出編輯按esc,保存退出輸入:wq!,僅退出不保存輸入:q!

在這里插入圖片描述

4.1、使用命令

掃描單個目標:

默認情況下,afrog 會掃描所有內置 PoC,如果發現任何漏洞,它會自動創建 HTML 報告,以掃描日期作為文件名,并且在web端【需啟用web服務才可看】展示出來;如果沒有發現漏洞不會生成報告。

./afrog -t https://example.com

掃描的結果在/reports目錄下,或使用命令./afrog --web 啟動web服務查看漏洞報告。

在這里插入圖片描述

注意:掃描結果不一定完全準確,可結合其他信息收集或檢測一起。

以下演示基于在線靶場:https://vulfocus.cn/,靶場啟動后20分鐘內有效。

4.2、無漏洞示例

在線靶場搜索SQL注入編號:CVE_2022_28346,啟動靶場。

在這里插入圖片描述

執行命令結果如下:

在這里插入圖片描述

到reports目錄下查看沒有生成xxx.html文件。

分析原因: 漏洞編號CVE_2022_28346在afrog收錄的pocs里面有沒有記錄,所以就掃描不出來。

4.3、有漏洞示例

先在github上的pocs記錄上取一個CVE-2020-14750,再到在線靶場搜索,啟動靶場,得到測試地址。

執行命令結果如下:

在這里插入圖片描述

訪問web端,可以看到列出結果和控制臺一樣的記錄,只不過web端會有更詳細的記錄可以查看。

在這里插入圖片描述

以弱口令登錄為示例,查看詳細,會發現測試弱口令登錄成功的賬號密碼都提供出來了。

在這里插入圖片描述

5、我的公眾號

敬請關注我的公眾號:大象只為你,持續更新網安相關知識中…

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/40653.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/40653.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/40653.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MySQL篇-SQL優化實戰-減少子查詢

回顧 上一篇了解了分析SQL使用的explain,可以點擊查看MySQL篇-SQL優化實戰了解我在寫sql的注意事項還有explain的說明,這次拿一段生產使用的sql進行優化說明。從14s優化到2.6s 待優化的SQL SELECT DISTINCTswpe.tag_number,hca.ACCOUNT_NAME customer…

VBA中類的解讀及應用第十三講:限制復選選擇,窗體模塊的搭建

《VBA中類的解讀及應用》教程【10165646】是我推出的第五套教程,目前已經是第一版修訂了。這套教程定位于最高級,是學完初級,中級后的教程。 類,是非常抽象的,更具研究的價值。隨著我們學習、應用VBA的深入&#xff0…

02-部署LVS-DR群集

1.LVS-DR工作原理 LVS-DR模式,Director Server作為群集的訪問入口,不作為網購使用,節點Director Server 與 Real Server 需要在同一個網絡中,返回給客戶端的數據不需要經過Director Server 為了響應對整個群集的訪問,…

Java WebService記

Web Services開發 常用的 Web Services 框架有 Apache Axis1 、 Apache Axis2 、 Apache CXF ,而 Apache Axis1 已經逐漸被淘汰所以本文不會討論,重點關注 Apache Axis2 及 Apache CXF 。 Apache Axis2 在IDEA中新建 Axis2Demo 項目后右鍵選擇 添加框架…

每天10個js面試題(一)

1.js基本數據類型? JavaScript 共有八種數據類型,分別是Undefined、Null、Boolean、Number、String、Object、Symbol、BigInt。其中 Symbol 和 BigInt 是 ES6 中新增的數據類型 2.let、const、var的區別? let和const有暫時性死區&#xff0…

開源模型應用落地-LangChain高階-智能體探究-agent類型(一)

一、前言 大模型具有非常強大的功能,可以解答疑問、撰寫報告和文檔、總結內容、進行翻譯等各種日常工作任務。然而,大模型還可以應用于更多的場景,發揮出更強大的作用。 通過智能體,我們可以實現許多有價值的事情,比如:在日常生活中,我們能借助智能體實現智能家居的自動化…

【滲透入門】SQL注入

聲明:本文檔或演示材料僅供教育和教學目的使用,任何個人或組織使用本文檔中的信息進行非法活動,均與本文檔的作者或發布者無關。 文章目錄 什么是sql注入sql注入舉例防御方式練習靶場 什么是sql注入 SQL注入是一種網絡安全漏洞,攻…

【Android源碼】Gerrit安裝

前言 如果你打開 https://android.googlesource.com/platform/manifest,就會發現,google官方管理Android源碼,使用的是Gerrit。Android系統源碼是非常大的,用Git肯定是不適合。對于大型項目,得用Gerrit,今…

NoSQL之Redis高可用與優化

一、Redis高可用 在web服務器中,高可用是指服務器可以正常訪問的時間,衡量的標準是在多長時間內可以提供正常服務(99.9%、99.99%、99.999%等等)。 但是在Redis語境中,高可用的含義似乎要寬泛一些,除了保證…

二叉樹的鏈式訪問 與 二叉樹專題

目錄 二叉樹的前、中、后序遍歷求二叉樹第K層節點的個數二叉樹查找值為x的節點leetcode相同的樹對稱二叉樹二叉樹的前序遍歷另一棵子樹牛客 二叉樹的遍歷 二叉樹的前、中、后序遍歷 1.前序遍歷:先訪問根節點,再訪問左子樹,最后訪問右子樹 根…

【備忘】fastadmin 如何獲取列表選中行的pk

去官方搜沒搜出來,還得是萬能的網友厲害。 //獲取選中項 $(document).on("click", ".btn-selected", function () {// 獲取選中項idsconsole.log(JSON.stringify(Table.api.selectedids(table)));// 獲取選中項所有數據console.log(JSON.strin…

輸入一個整數n,輸出n的約數為質數的數?兩個問題n的約數問題和n的質數問題

輸入一個整數n,輸出n的約數為質數的數? 一.首先解決n的質數的問題(1)枚舉法(2)埃氏篩 二.解決n的質數約數問題 一.首先解決n的質數的問題 (1)枚舉法 考慮質數的定義:在大…

conda中創建環境并安裝tensorflow1版本

conda中創建環境并安裝tensorflow1版本 一、背景二、命令三、驗證一下 一、背景 最近需要使用tensorflow1版本的,發個記錄! 二、命令 conda create -n tf python3.6 #創建tensorflow虛擬環境 activate tf #激活環境,每次使用的時候都…

理解策略梯度方法:從REINFORCE到PPO

今年2月的時候,導師突然告訴我Ron William離世了。他算是我導師的 a life time friend,關系很好,我做畢業論文的時候,他還來參與了論文的答辯。Ron是一個很友善的老頭,和他在強化學習領域的影響力比起來,本…

汽車信息安全--數據安全:圖像脫敏

General 隨著車聯網的發展,汽車越來越智能化,就像是一部“裝著四個輪子的手機”。 有人說,智能手機就如同一部竊聽器,無論你開機或者關機,它都會無時不刻地監聽著用戶的一舉一動。 可想而知,智能車輛上…

馬工程刑法期末復習筆記重點2

馬工程刑法期末復習筆記重點2

SpringBoot 參數校驗

參數校驗 引入springvalidation依賴 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId> </dependency>參數前添加Pattern public Result registry(Pattern(regexp &qu…

Java面向對象練習(2.商品類)(2024.7.4)

商品類 package Supermarket20240704;public class Commodity {private String name;private double price;private int inventory;public Commodity(){};public Commodity(String name, double price, int inventory){this.name name;this.price price;this.inventory inv…

Java核心技術【十九】Iterator與增強for循環

Java中的Iterator與增強for循環 在Java編程中&#xff0c;迭代是處理集合元素的一種常見操作。Java提供了多種迭代集合元素的方式&#xff0c;其中最常用的兩種是Iterator和增強for循環&#xff08;也稱為“for-each”循環&#xff09;。本文將深入探討這兩種迭代方式的特性和…

CLAM用于弱監督WSI分析

計算病理學&#xff08;computational pathology&#xff09;下的深度學習方法需要手動注釋大型 WSI 數據集&#xff0c;并且通常存在領域適應性和可解釋性較差的問題。作者報告了一種可解釋的弱監督深度學習方法&#xff0c;只需要WSI級標簽。將該方法命名為聚類約束注意力多實…