<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>

    Bughound:一款基于Elasticsearch的靜態代碼分析工具

    VSole2021-12-09 07:59:16

    關于Bughound

    Bughound是一款開源的靜態代碼分析工具,可以幫助廣大研究人員分析自己的代碼,并將結果發送至Elasticsearch和Kibana,以更好地審查代碼中潛在的安全漏洞。

    Bughound擁有自己的Elasticsearch和Kibana Docker鏡像,并且經過預配制,提供了儀表盤,可以更好地以可視化的形式查看代碼安全問題。

    我們可以使用Bughound檢測多種類型的漏洞,其中包括:

    命令注入
    XXE
    不安全的反序列化
    其他

    Bughound目前僅支持分析PHP和Java代碼,并且包含了一組針對這些語言的不安全函數。開發人員會在將來增加更多的語言和函數支持。

    工具要求

    首先,我們需要使用下列命令安裝運行Bughound所需的全部依賴組件:

    pip3 install -r requirements.txt
    

    除此之外,為了運行Bugbound鏡像,你還需要安裝好Docker。

    工具安裝

    廣大研究人員可以使用下列命令來安裝最新版本的Bughound:

    git clone https://github.com/mhaskar/Bughound
    

    上述步驟操作完成之后,我們就可以使用下列命令來運行Bughound了:

    ./bughound.py
    

    運行腳本之后,你將會看到如下所示的操作界面:

    ┌─[askar@hackbook]─[/opt/bughound]
    └──? $./bughound.py
    .______    __    __    _______  __    __    ______    __    __  .__   __.  _______
    |   _  \  |  |  |  |  /  _____||  |  |  |  /  __  \  |  |  |  | |  \ |  | |       \
    |  |_)  | |  |  |  | |  |  __  |  |__|  | |  |  |  | |  |  |  | |   \|  | |  .--.  |
    |   _  <  |  |  |  | |  | |_ | |   __   | |  |  |  | |  |  |  | |  . `  | |  |  |  |
    |  |_)  | |  `--'  | |  |__| | |  |  |  | |  `--'  | |  `--'  | |  |\   | |  '--'  |
    |______/   \______/   \______| |__|  |__|  \______/   \______/  |__| \__| |_______/
              \ /
              oVo
          \___XXX___/
           __XXXXX__
          /__XXXXX__\
          /   XXX   \
               V                  V1.0 Beta
    [+] Example: ./bughound3.py --path vulnerable_code/ --language php --extension .php --name testproject
    usage: bughound.py [-h] [--path PATH] [--git GIT] --language LANGUAGE
                       --extension EXTENSION --name NAME [--verbose [VERBOSE]]
    bughound.py: error: argument --language is required
    ┌─[?]─[askar@hackbook]─[/opt/bughound]
    └──? $
    

    Docker鏡像安裝

    如需安裝Bughound Docker鏡像,可以直接運行下列命令:

    docker pull bughound/bughound
    

    上述命令將會遠程拉取最新版本的Bughound鏡像,并存儲至你的計算機中。

    接下來,使用下列命令來運行鏡像:

    docker run --name bughound -p5601:5601 -p 9200:9200 bughound/bughound
    

    如果你需要增加最大虛擬內存的話,可以使用下列命令:

    sysctl -w vm.max_map_count=262144
    

    工具使用

    如需開始分析代碼,你應該使用Bughound.py,該腳本提供了很多操作選項:

    ┌─[?]─[askar@hackbook]─[/opt/bughound]
    └──? $./bughound.py -h
    .______    __    __    _______  __    __    ______    __    __  .__   __.  _______
    |   _  \  |  |  |  |  /  _____||  |  |  |  /  __  \  |  |  |  | |  \ |  | |       \
    |  |_)  | |  |  |  | |  |  __  |  |__|  | |  |  |  | |  |  |  | |   \|  | |  .--.  |
    |   _  <  |  |  |  | |  | |_ | |   __   | |  |  |  | |  |  |  | |  . `  | |  |  |  |
    |  |_)  | |  `--'  | |  |__| | |  |  |  | |  `--'  | |  `--'  | |  |\   | |  '--'  |
    |______/   \______/   \______| |__|  |__|  \______/   \______/  |__| \__| |_______/
              \ /
              oVo
          \___XXX___/
           __XXXXX__
          /__XXXXX__\
          /   XXX   \
               V                  V1.0 Beta
    [+] Example: ./bughound3.py --path vulnerable_code/ --language php --extension .php --name testproject
    usage: bughound.py [-h] [--path PATH] [--git GIT] --language LANGUAGE
                       --extension EXTENSION --name NAME [--verbose [VERBOSE]]
    optional arguments:
      -h, --help            show this help message and exit
      --path PATH           local path of the source code
      --git GIT             git repository URL
      --language LANGUAGE   the used programming language
      --extension EXTENSION
                            extension to search for
      --name NAME           project name to use
      --verbose [VERBOSE]   show debugging messages
    ┌─[askar@hackbook]─[/opt/bughound]
    └──? $
    

    掃描本地項目

    比如說,你想要掃描一個本地PHP項目,你可以使用下列命令:

    ./bughound.py --path /opt/dummyproject --language php --extension .php --name dummyproject
    

    該命令將會在Elasticsearch索引下創建一個名為“dummyproject”的新目錄,并爬取本地路徑“/opt/dummyproject”中所有擴展名包含“.php”的所有文件,然后將分析結果發送至Elasticsearch。

    掃描遠程Git庫

    除此之外,我們也可以使用“—git”參數來掃描一個遠程Git項目庫:

    ./bughound.py --git https://github.com/DummyCode/DummyProject --language php --extension .php --name dummyproject
    

    Bughound將會自動克隆目標項目庫,并將其存儲至“projects”目錄中,然后對其進行安全掃描與分析。

    許可證協議

    本項目的開發與發布遵循GPL-3.0開源許可證協議。

    項目地址

    Bughound:【點擊文末閱讀原文】

    參考資料

    https://shells.systems/unveiling-bughound-a-static-code-analysis-tool-based-on-elasticsearch

    https://docs.docker.com/engine/install/

    gitelasticsearch
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    Filebeat監視您指定的日志文件或位置,收集日志事件,并將它們轉發到Elasticsearch或 Logstash進行索引。使用Kibana,可以通過各種圖表進行高級數據分析及展示。
    GoFound 一個golang實現的全文檢索引擎,支持持久化和單機億級數據毫秒級查找,接口可以通過http調用。ElasticSearch缺點就是配置繁瑣、基于JVM對內存消耗比較大。gofound是原生編譯,會減少系統資源的消耗。而且對外無任何依賴。
    Bughound是一款開源的靜態代碼分析工具,可以幫助廣大研究人員分析自己的代碼,并將結果發送至Elasticsearch和Kibana,以更好地審查代碼中潛在的安全漏洞。
    前言因工作需要,需要調研WAF和IDS產品,我經過調研選擇了Modsecurity作為Web端的防火墻防護軟件和Suricata作為tcp和udp層的防護,并且通過logstash將結果輸出到elasticsearch中進行分析。
    一款src撿洞掃描器,因沒時間挖src,畢竟挖src是個費時費力的活,自19年8月起入坑至今,依靠?掃描出的信息和漏洞,利用業余時間從掃描報告中的資產撿洞和找洞,已經3次jd月度前十。目前 SScan 的主要邏輯還是在模仿 BBScan。目錄對于數據庫口令檢測,目前只是檢測是否存在空口令檢測,后續會考慮要不要加入一些弱口令,進行檢測。否則需自行承擔,本公眾號及原作者不承擔相應的后果.
    一款src撿洞掃描器
    2023-01-03 15:24:46
    前言一款src撿洞掃描器,因沒時間挖src,畢竟挖src是個費時費力的活,自19年8月起入坑至今,依靠?掃描出的信息和漏洞,利用業余時間從掃描報告中的資產撿洞和找洞,已經3次jd月度前十。萌發出自己寫掃描器挖洞的念頭,自動挖一些簡單漏洞,賺點零花錢,同時提升一下開發能力,畢竟搞安全的不能不懂開發。目錄對于數據庫口令檢測,目前只是檢測是否存在空口令檢測,后續會考慮要不要加入一些弱口令,進行檢測。
    前言一款src撿洞掃描器,因沒時間挖src,畢竟挖src是個費時費力的活,自19年8月起入坑至今,依靠?掃描出的信息和漏洞,利用業余時間從掃描報告中的資產撿洞和找洞,已經3次jd月度前十。目前 SScan 的主要邏輯還是在模仿 BBScan。目錄對于數據庫口令檢測,目前只是檢測是否存在空口令檢測,后續會考慮要不要加入一些弱口令,進行檢測。
    Vulmap 是一款 web 漏洞掃描和驗證工具, 可對 webapps 進行漏洞掃描, 并且具備漏洞利用功能, 目前支持的 webapps 包括 activemq, flink, shiro, solr, struts2, tomcat, unomi, drupal, elasticsearch, fastjson, jenkins, nexus, weblogic, jboss, spring
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类