<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    一步一步教你漏洞挖掘之如何在半黑盒模式下挖掘RCE漏洞

    VSole2021-10-16 13:51:05

    引言

    很久很久以前,在閑暇之余研究了一下某系統,通過下載客戶端,在半黑盒模式下挖掘出一個JNDI注入漏洞。漏洞本身并不復雜,但是分析漏洞的過程可能對初學者有一定幫助,所以這里分享給大家,大佬請繞道。

    客戶端安裝

    通過訪問服務端,可以下載到該系統的客戶端軟件UClient.exe,下載后直接進行安裝。


    在安裝過程中,會自動下載安裝JRE7u51的支撐環境,并在磁盤上創建一些文件夾。

    漏洞分析

    在分析客戶端程序時,定位到啟動配置文件`client.esc`,可以修改配置,加入jdwp遠程調試。

    客戶端啟動入口:

    分析過程中,定位文件`\NCCACHE\CODE\resources\server.properties`:

    通過嘗試發現`JavaURLCommunicator`類主要用于向服務器發送HTTP請求。

    關注下發送的封裝對象`InvocationInfo`:

    從類的參數中可以看出,該類可能用于封裝與HTTP發包相關的過程。回到request函數:


    重點看下這個地方:

    客戶端對封裝的`InvocationInfo`對象進行序列化操作,然后發送給服務端。雖然沒有拿到服務端代碼,但是可以猜測在服務端應該存在一個反序列化操作。

    研究了一會后,觀察日志文件:

    客戶端通過lookup發送了大量JNDI請求。此時可以猜想服務端可能也存在同樣操作,聯想到前面分析的`JavaURLCommunicator`類`request`函數可以向服務端發送HTTP請求,其中兩個參數分別是服務端URL以及`InvocationInfo`對象,嘗試構造如下請求:

    在處理來自服務端返回數據包的`result`處打下斷點:

    猜測服務端確實應該存在`lookup`操作,修改發包測試程序:

    import nc.bs.framework.common.InvocationInfo;import nc.bs.framework.comn.cli.JavaURLCommunicator;
    public class Test {    public static void main(String[]args)throws Exception{        InvocationInfo info=new InvocationInfo();        info.setServiceName("test");        JavaURLCommunicator com=new JavaURLCommunicator();        String url="http://***/ServiceDispatcherServlet";        com.request(info,url);    }}
    

    結果如下:

    更加證明了上面的猜想,繼續構造JNDI服務:

    漏洞驗證成功。由于默認的JDK版本為JDK7u51,可利用LDAP方式實現RCE。

    后記

    通過后續深入分析,發現系統還存在多個反序列化漏洞,上面主要基于客戶端程序,結合黑盒測試方式,成功挖掘出了一處JNDI注入漏洞,整個過程并不復雜,希望給初學的小伙伴們帶來一些幫助。

    漏洞漏洞挖掘
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    src漏洞挖掘淺談
    2023-02-20 11:22:13
    信息收集就說到這里,信息收集的主要目的就是擴大可利用面,10000萬個資產你可能碰到弱口令,但1個資產你肯定沒有弱口令挖掘前篇前邊已經講了信息收集,在測試前為了能高效的挖掘src,就需要有數據進行測試,這個數據就是我們常說的字典,字典怎么來,整理,收集,經驗,積累。金額,數量都是可以篡改的地方小結挖掘src漏洞最主要還是挖掘邏輯漏洞,無非就是耐心,細節,多留意數據包的可疑數據,數據包所實現的功能。
    首先要上分那么一定是批量刷漏洞,不然不可能上得了分的,然后呢,既然要批量刷漏洞。兩種思路:1.審計通用性漏洞2.用大佬已公布的漏洞思路1難度較大,耗時也較長。思路2難度適中,就是需要寫腳本或者使用別人已經寫好的腳本。這是泛微繼與微信企業號合作后,又一個社交化管理平臺的落地成果。簡單的說,一般比較大的企業都會用這個平臺來做一些釘釘或者微信接口對接泛微OA的功能。
    關于漏洞的基礎知識
    2022-07-20 09:44:23
    黑客可以通過修改事件完成的順序來改變應用的行為。所以,進行有效的驗證是安全處理文件的重要保證。這種類型的漏洞有可能是編程人員在編寫程序時,因為程序的邏輯設計不合理或者錯誤而造成的程序邏輯漏洞。這種類型的漏洞最典型的是緩沖區溢出漏洞,它也是被黑客利用得最多的一種類型的漏洞
    網絡安全漏洞(以下簡稱“漏洞”)作為信息通信網絡中在硬件、軟件、協議的具體實現或系統安全策略上存在的缺陷,隨著經濟社會信息化、網絡化、數字化和智能化程度的加深,對國家網絡安全的影響也日益加劇。世界各主要國家和組織為了切實提升國家網絡安全防護能力,圍繞漏洞的研究、收集和利用,紛紛建立國家級漏洞通報平臺或漏洞數據庫。日本于2003年開始建設“日本漏洞通報”(JVN)平臺;美國于 2005 年開始建設“
    細說從0開始挖掘cms-
    2022-08-17 16:26:57
    確立目標挖洞的第一步首先是確立一個目標,也就是找個cms來挖,這里可以通過github,gitee或者谷歌百度直接去搜cms。或者cnvd查看相應的信息,通過查看相應的信息可以提高我們挖洞的效率,我們從中可以知道該項目已經存在漏洞,我們到時候挖就可以看看相應的地方會不會還存在漏洞或者避免挖到別人挖過的漏洞。本次挖掘漏洞是ofcms,首先先下載一下源碼,然后解壓丟一邊,回到網頁來看一下項目文檔。
    最后對響應的匹配,使用正則識別id命令之后的結果。成功掃描出CVE-2022-1388F5 BIG-IP API Unauthenticated RCE漏洞漏洞的請求也變異無誤,最后的響應中也是執行了id命令。案例二:利用Scalpel工具挖掘多個0day漏洞Scalpel工具使用較為靈活,通過對檢測目標變異響應的check,可以發現檢測目標中未知的安全問題。同時發現某Apache開源項目的CVE漏洞,報告被該團隊接受并正在修復,尚未披露。
    攻擊者可在無需認證的情況下,通過構造特殊的請求,觸發反序列化,從而執行任意代碼,接管運行ForgeRock AM的服務器。本文從漏洞挖掘的角度分析其中的技術細節,也將公開一些其他的反序列化點。
    對于公益SRC來說,想要沖榜就不能在一個站上浪費大量時間,公益SRC對洞的質量要求不高,所以只要 花時間,還是可以上榜的。在對某站點進行測試SQL注入的時候,先通過一些方式測試是否可能存在漏洞,然后可以直接sqlmap一把梭,也可以手工測試,然后提交漏洞。任意注冊算是低危漏洞,不過也有兩分。不管是進行SRC漏洞挖掘,還是做項目進行滲透測試,又或者是打紅藍對抗,一定要做好信息收集。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类