使用WebStor快速检查你组织网络中的所有网站相关安全技术
關于WebStor
WebStor是一款功能強大的網站安全檢測工具腳本,在WebStor的幫助下,廣大研究人員可以輕松快速枚舉當前組織中的全部網站,以及響應存儲、數據存儲和其他所使用的已知Web技術。除此之外,WebStor還可以識別相關的0 day漏洞以及利用技術。
【技術資料】
快速識別組織中易受攻擊的Web技術
WebStor基于Python語言開發實現,可以實現快速枚舉組織整個網絡中所有的網站。因為很多情況下,廣大安全研究人員幾乎不可能跟蹤分布在不同單元和網絡上的不同管理員部署的所有Web技術,因此WebStor尤其適合解決這類具有分散管理的中大型組織中出現的獨特問題。
WebStor可以通過執行下列操作任務來實現其目標:
- 執行DNS區域傳輸來收集組織網絡中的A記錄和CNAME記錄。
- 使用Masscan掃描組織網絡范圍中開放的HTTP/HTTPS端口,以及組織網絡的A記錄和CNAME記錄中存在的那些組織地址范圍外的任何IP地址。
- 使用Python的requests庫收集全部的響應信息并存儲在MariaDB數據庫中。除了IP地址之外,與開放HTTP/HTTPS端口的IP相對應的所有DNS名稱都將包含在請求中,以便目標網站在使用不同Header的時候不會導致遺漏任何站點。
- 下載WappalyzerWeb技術數據庫并存儲在MariaDB數據庫中,使用戶能夠按名稱查詢常見Web技術位置。
- 允許用戶查詢包含了自定義正則表達式的存儲響應位置。
支持的平臺
當前版本的WebStor支持在Linux系統上運行,由于該工具基于Python開發,因此也可以輕松移植到Windows系統上使用。【學習資料】
工具架構
工具要求
應用程序
- Masscan:如果你想要使用Cron作業來更新數據庫,則必須在通過WebStor執行Masscan掃描的時候提供sudo密碼。
- MariaDB 10.0.5或更高版本:WebStor嘗試的默認憑據將是root和空密碼。
Python庫
pip3 install dnspythonpip3 install beautifulsoup4pip3 install mysql-connector-pythonpip3 install js-regexpip3 install geventpip3 install requests工具安裝
首先,我們需要使用下列命令將該項目源碼克隆至本地:
git clone https://github.com/RossGeerlings/webstor.git如果你想直接運行WebStor而不需要進行自定義配置的話,可以直接安裝好該工具的依賴組件,然后運行下列命令來安裝WebStor:
sudo pip3 install webstor如果通過PyPI安裝的話,WebStor將會直接配置到系統環境變量中,我們可以直接使用命令行工具切換到WebStor的工作目錄下,然后運行下列命令來啟動WebStor(不需要執行“webstor.py”):
webstor或
webstor -g工具基礎使用
webstor.py [-h] [--ADD-HTTP-PORT HTTPPORTTOADD] [--CLEAR-HTTP][--ADD-HTTPS-PORT HTTPSPORTTOADD] [--CLEAR-HTTPS][--ADD-CUSTOM-FINGERPRINT FINGERPRINT][--DELETE-CUSTOM-FINGERPRINT FINGERPRINTNAMETODELETE][--IMPORT-CUSTOM-FINGERPRINT IMPORTFINGERPRINTFILE][--CLEAR-CUSTOM-FINGERPRINTS] [--SHOW-CONFIG][--SHOW-CONFIG-FULL] [--RUN-MASSCAN][--SET-MASSCAN-RANGES SETSCANRANGES][--ADD-RANGE RANGETOADD] [--DELETE-RANGE RANGETODELETE][--IMPORT-MASSCAN-RANGES IMPORTSCANRANGES][--ADD-PATH PATHTOADD] [--DELETE-PATH PATHTODELETE][--CLEAR-PATHS] [--REFRESH-RESPONSES][--RESPONSES-ADD-FOR-PATH RESPONSESADDFORPATH][--SEARCH-PATTERN SEARCHPATTERN][--SEARCH-CUSTOM-FINGERPRINT SEARCHFINGERPRINT][--SEARCH-WAPPALYZER SEARCHWAPPALYZER] [--NO-TSIG-KEY][--TSIG-KEY-IMPORT IMPORTTSIGFILE][--TSIG-KEY-REP*LACE REP*LACEMENTTSIGFILE][--DELETE-TSIG TSIGTODELETE][--USE-TSIG-FILE-ONLY USETSIGFILEONLY][--DOWNLOAD-NEW-WAPPALYZER] [--LIST-WAPPALYZER-TECH-NAMES][--ZONE-XFER] [--ADD-DOMAIN DOMAINDETAILS][--DELETE-DOMAIN DOMAINTODELETE][--IMPORT-ZONE-FILE IMPORTZONEFILE] [--CLEAR-DOMAINS][--LIST-DOMAINS] [--LIST-OUTSIDE] [--SQL-CREDS SQLCREDSFILE]optional arguments:-h, --help show this help message and exit--ADD-HTTP-PORT HTTPPORTTOADD, -a HTTPPORTTOADDAdd a custom HTTP port.--CLEAR-HTTP, -aC Clear any custom HTTP ports and revert to default of80.--ADD-HTTPS-PORT HTTPSPORTTOADD, -b HTTPSPORTTOADDAdd a custom HTTPS port.--CLEAR-HTTPS, -bC Clear any custom HTTPS ports and revert to default of443.--ADD-CUSTOM-FINGERPRINT FINGERPRINT, -c FINGERPRINTAdd a custom fingerprint in the form <Name>,<RegEx>.--DELETE-CUSTOM-FINGERPRINT FINGERPRINTNAMETODELETE, -cD FINGERPRINTNAMETODELETEDelete a custom fingerprint by name.--IMPORT-CUSTOM-FINGERPRINT IMPORTFINGERPRINTFILE, -cI IMPORTFINGERPRINTFILEImport a custom fingerprint file with the pathspecified.--CLEAR-CUSTOM-FINGERPRINTS, -cCClears all custom fingerprints stored in DB.--SHOW-CONFIG, -g Show current WebStor configuration (brief).--SHOW-CONFIG-FULL, -gFShow current WebStor configuration (full).--RUN-MASSCAN, -m Runs a new port scan with Masscan on all configuredTCP ports for HTTP and HTTPS, against all configuredranges and any IP addresses from DNS records that areoutside those ranges.--SET-MASSCAN-RANGES SETSCANRANGES, -mR SETSCANRANGESScan range or ranges, rep*laces existing ranges in DB,comma separated, such as: -s10.10.0.0/16,10.13.0.0/16,192.168.1.0/24--IMPORT-MASSCAN-RANGES IMPORTSCANRANGES, -mI IMPORTSCANRANGESImport scan ranges (CIDR blocks) from a specifiedfile.--DELETE-RANGE RANGETODELETE, -mD RANGETODELETEDelete scan range.--ADD-PATH PATHTOADD, -p PATHTOADDAdd paths for which to request and store responsesbesides '/'.--DELETE-PATH PATHTODELETE, -pD PATHTODELETEDelete paths for which to request and store responsesbesides '/'.--CLEAR-PATHS, -pC Clear any custom URL request paths and revert todefault of '/'.--REFRESH-RESPONSES, -rRefresh URL responses in DB.--RESPONSES-ADD-FOR-PATH RESPONSESADDFORPATH, -rP RESPONSESADDFORPATHAdd URL responses for a one-time path in with thecurrent responses in the DB.--SEARCH-PATTERN SEARCHPATTERN, -sP SEARCHPATTERNSearch for string or regular expression in WebStordatabase.--SEARCH-CUSTOM-FINGERPRINT SEARCHFINGERPRINT, -sC SEARCHFINGERPRINTSearch for technology by name of user-provided customfingerprint.--SEARCH-WAPPALYZER SEARCHWAPPALYZER, -sW SEARCHWAPPALYZERSearch for technology by name (from Wappalyzer TechDB) in WebStor DB.--NO-TSIG-KEY, -tN Do not use DNSSec TSIG key stored in database or afile, even if present.--TSIG-KEY-IMPORT IMPORTTSIGFILE, -tI IMPORTTSIGFILEImport a specified TSIG key file into the database--TSIG-KEY-REP*LACE REP*LACEMENTTSIGFILE, -tR REP*LACEMENTTSIGFILERep*lace a TSIG key in the database with a specifiedfile--DELETE-TSIG TSIGTODELETE, -dT TSIGTODELETEDelete a TSIG key from the database by name.--USE-TSIG-FILE-ONLY USETSIGFILEONLY, -tF USETSIGFILEONLYOnly use tsig file specified (full path), do not useTSIGs stored in the DB. Applies to all domains,limiting WebStor to one TSIG for zone transfers in thecurrent execution.--DOWNLOAD-NEW-WAPPALYZER, -wDownload a new Wappalyzer fingerprints file directlyfrom GitHub. Overwrites existing Wappalyzerfingerprint data.--LIST-WAPPALYZER-TECH-NAMES, -wLList the names of all Wappalyzer technologies in thedatabase.--ZONE-XFER, -z Forces a new zone transfer using all domains, servers,and associated TSIG keys in DB--ADD-DOMAIN DOMAINDETAILS, -zA DOMAINDETAILSAdd a domain in the form <Domain name>,<Server>,<TSIGKey Name>.--DELETE-DOMAIN DOMAINTODELETE, -zD DOMAINTODELETEDelete a DNS domain from the database by name.--IMPORT-ZONE-FILE IMPORTZONEFILE, -zI IMPORTZONEFILEAdd domains for zone transfers from a file.--CLEAR-DOMAINS, -zC Clears all DNS domains stored in DB.--LIST-DOMAINS, -zL Lists all DNS domains stored in DB.--LIST-OUTSIDE, -e Prints a list of all names and IPs from our zonetransfers that are outside defined net ranges.--SQL-CREDS SQLCREDSFILE, -q SQLCREDSFILEUse SQL credentials in file at specified path.工具使用樣例
【學習資料】
搜索目標Web技術相關的字符串或正則表達式:
./webstor.py -sP "content=\"wordpress 4.[7-9]"上述命令將枚舉該正則表達式對應的網站列表,期待的響應來自于Wordpress v4.7-9站點。
如果需要將上述正則表達式存儲為自定義指紋的話,就可以通過名稱來查詢了,而無需每次都輸入正則表達式:
./webstor.py -c "wordpress4.7-9,content=\"wordpress 4.[7-9]"上述命令運行之后,我們就可以使用下列命令來讓WebStor執行查詢了:
./webstor.py -sC wordpress4.7-9通過Wappalyzer定義來讓WebStor查詢WordPress站點:
./webstor.py -sW wordpress此時,WebStor將返回目標組織網絡中所有可抵達的WordPress站點信息。注意,Wappalyzer的掃描速度會比使用模式/正則表達式的速度要慢,具體取決于待驗證的查詢屬性數量。
許可證協議
本項目的開發與發布遵循MIT開源許可證協議。
最后
點擊查看【網絡安全學習資料·攻略】獲取相關書籍與工具!
總結
以上是生活随笔為你收集整理的使用WebStor快速检查你组织网络中的所有网站相关安全技术的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【网络安全】文件上传绕过思路总结
- 下一篇: 【网络安全】Linux内核部分文件分析