xray和360爬蟲以及server醬聯動形成自動化挖洞以及報警
0X00前言
上一篇我們寫了xray和360爬蟲形成自動化挖洞,但是這需要我們有事沒事就去看一眼挖到洞沒,很是繁瑣,因此我們利用server醬來實現漏洞得自動推送。
0X01server醬簡介
「Server醬」,英文名「ServerChan」,是一款「程序員」和「服務器」之間的通信軟件。說人話?就是從服務器推報警和日志到手機的工具。官網http://sc.ftqq.com/3.version
0X02程序搭建
基本上原理如圖所示。
上一篇中我們已經搭建好了自動化挖洞,因此我們只需要和server醬聯動起來即可。
首先需要創建一個server賬號。
開通並使用上它,只需要一分鍾:
登入:用GitHub賬號登入網站,就能獲得一個SCKEY(在「發送消息」頁面)
綁定:點擊「微信推送」,掃碼關注同時即可完成綁定
發消息:往 http://sc.ftqq.com/SCKEY.send 發GET請求,就可以在微信里收到消息啦
要實現自動推送,我們必須先利用flask在本地搭建一個webhook服務
主要代碼為:
from flask import Flask, request import requests import datetime import logging app = Flask(__name__) def push_ftqq(content): resp = requests.post("https://sc.ftqq.com/{sckey}.send", data={"text": "xray vuln alarm", "desp": content}) if resp.json()["errno"] != 0: raise ValueError("push ftqq failed, %s" % resp.text) @app.route('/webhook', methods=['POST']) def xray_webhook(): vuln = request.json # 因為還會收到 https://chaitin.github.io/xray/#/api/statistic 的數據 if "vuln_class" not in vuln: return "ok" content = """##爸爸 xray 發現了新漏洞 url: {url} 插件: {plugin} 漏洞類型: {vuln_class} 發現時間: {create_time} 請及時查看和處理 """.format(url=vuln["target"]["url"], plugin=vuln["plugin"], vuln_class=vuln["vuln_class"] or "Default", create_time=str(datetime.datetime.fromtimestamp(vuln["create_time"] / 1000))) try: push_ftqq(content) except Exception as e: logging.exception(e) return 'ok' if __name__ == '__main__': app.run()
將代碼中得{sckey}替換為你自己的SCKEY
將該代碼保存為py文件在本地執行,可以看到在本地成功開啟了服務。
使用xray被動掃描命令監聽端口並將結果發送到本地的webhook服務
命令為:.\xray_windows_amd64.exe webscan --listen 127.0.0.1:7777 --webhook-output http://127.0.0.1:5000/webhook
仔細命令可以查看xray文檔
值得一提的是,我既想把結果存為html文檔,又想讓他推送給server醬,便嘗試了該命令:
.\xray_windows_amd64.exe webscan --listen 127.0.0.1:7777 --html-output proxy.html --webhook-output http://127.0.0.1:5000/webhook
當都監聽好以后將需要掃的域名放到traget.txt中啟動爬蟲即可。
附結果圖倆張:
0X03參考鏈接
sc.ftqq.com