SK쉴더스 로고
ADT캡스캡스홈
SK쉴더스

Dysphoria 봇넷, 블록체인 기반 C2와 감염 기기 릴레이 사용

EQST Now | 2026.07.29

NOW Briefing

Brief 1 라우터와 IP 카메라를 감염시키는 Dysphoria 봇넷(공격자가 원격 조종하는 감염 기기 집단)을 XLab이 약 20만 대 규모로 추정했습니다. 연구진은 이 봇넷이 지난 3월 국제 공조로 인프라가 무력화된 JackSkid·fbot 계열과 코드 및 인프라 연결고리를 공유한다고 분석했습니다.
Brief 2 텔넷·SSH의 약한 자격증명과 이미 공개된 IoT 기기 취약점으로 퍼집니다. C2 주소는 블록체인 도메인 기록에 숨겨 두고 받아오며, 6월 말부터는 분산 서비스 거부(DDoS) 기능을 뺀 대신 감염 기기를 공격 통신의 중계 노드로 쓰는 변종이 나타났습니다.
Brief 3 인터넷에 노출된 IoT 기기의 펌웨어를 올리고 기본 자격증명을 교체해야 합니다. 또, 공유기에 관리자가 만들지 않은 포트 개방 규칙이 등록돼 있는지도 함께 확인합니다.

Dysphoria 봇넷, 블록체인 기반 C2와 감염 기기 릴레이 사용

■ 개요

Dysphoria는 라우터와 IP 카메라처럼 인터넷에 연결된 기기를 감염시켜 원격 조종하는 봇넷입니다. XLab은 2026년 3월 25일 첫 샘플을 확보한 뒤 비공개 추적을 이어오다 7월 25일 기술 리포트를 공개했습니다. XLab은 텔레메트리와 외부에 유출된 관리 화면을 근거로 감염 규모를 약 20만 대로 추정했지만, 집계·중복 제거 방법은 공개하지 않았습니다. 7월 14~20일 해외 일일 최대 접속 기기 수로 제시한 23.9만 대와도 집계 기준이 달라 정밀한 기기 수로 해석해서는 안 됩니다.

첫 샘플은 3월 19일 미국·독일·캐나다 합동 단속으로 JackSkid 인프라가 무력화된 지 6일 뒤 확보됐습니다. 코드와 인프라의 연결고리는 확인됐지만 동일 운영자가 Dysphoria로 재편했다고 단정할 근거는 공개되지 않았습니다. 운영자는 최대 4Tbps 규모의 공격 능력을 내걸고 구독 형태로 공격을 판매하고 있습니다.

XLab은 Dysphoria가 텔넷·SSH에 약한 자격증명을 대입해 로그인하거나, 알려진 취약점을 악용해 명령을 실행한다고 분석했습니다. XLab 공개 목록에는 Huawei(CVE-2017-17215), DrayTek(CVE-2020-8515), Linksys(CVE-2025-9528), Totolink(CVE-2025-28137), Aitemi 리피터(CVE-2025-34152), React 서버 컴포넌트(CVE-2025-55182) 등이 포함돼 있습니다. 다만 CVE-2025-9528은 높은 권한이 필요한 결함이고 CVE-2025-55182는 IoT 펌웨어가 아닌 React 서버 컴포넌트 취약점입니다. 공개 보고서는 Dysphoria가 두 취약점을 전파 과정에서 사용하는 구체 경로를 설명하지 않았으므로, 목록에 포함됐다는 사실과 실제 악용 절차를 구분해야 합니다.

감염에 성공한 뒤에는 C2 인프라 정보를 이더리움과 솔라나의 블록체인 도메인 기록에서 받아옵니다. 중앙 등록기관을 통한 기존 도메인 압류만으로는 레코드를 제거하기 어려워 단일 조치로 인프라를 중단하기가 까다롭습니다. 다만 블록체인 레코드 조회 경로와 배포 노드, 감염 릴레이 등 차단 가능한 의존 요소는 남아 있습니다.

6월 말부터는 DDoS 기능을 빼고 감염 기기를 공격자 통신의 중계 노드로 쓰는 변종이 관측됐습니다. 이 경우 조직이 입는 피해는 기기 한 대의 감염으로 끝나지 않고, 자사 회선이 공격 경유지로 기록되는 문제까지 이어집니다.

■ 요약

항목 내용
캠페인·기법명 Dysphoria 봇넷(JackSkid·fbot 계열의 후속)
위협 수준 높음
• XLab 추산 약 20만 대(집계·중복 제거 방법 미공개)
• 운영자 주장 기준 최대 4Tbps
공격 유형 • 텔넷·SSH 약한 자격증명 대입
• IoT 기기 원격 코드 실행 취약점 악용
• DDoS 및 감염 기기 중계(릴레이) 전환
영향/위험 • 감염 기기가 DDoS 공격에 동원됨
• 감염 기기가 공격자 통신 경유지로 전환됨
• UPnP 포트 매핑으로 내부 서비스가 외부에 노출됨
• 블록체인 도메인 기반 C2로 차단·테이크다운 회피 가능
표적 산업·지역 • 라우터·게이트웨이·IP 카메라 등 범용 IoT 운영 환경
• 전 세계(XLab 텔레메트리 기준 해외 일일 최대 23.9만 대, 독립 재현 없음)
관측 기간 • 2026-03-25 최초 샘플 확보
• 2026-07-25 XLab 기술 리포트 공개

■ C2 주소를 숨기는 방식

일반 도메인은 등록기관이나 호스팅 사업자에 요청해 정지시킬 수 있습니다. 반면 이더리움의 도메인 이름 서비스(ENS)와 솔라나의 도메인 이름 서비스(SNS)는 이름과 값이 블록체인에 기록되므로 중앙 등록기관을 통한 삭제가 어렵습니다. 이 구조 때문에 Dysphoria는 burrberry.eth, ukranianhorseriding.eth, 24carnforth2merseyside.sol 같은 이름을 조회해 접속할 인프라 정보를 받아옵니다. 블록체인 레코드를 지우기 어렵더라도 조회 경로와 후속 배포·릴레이 노드는 별도로 차단할 수 있습니다.

값은 TXT 또는 사용자 정의 레코드에 2001:db8:12e7:13d7::1 형태의 가짜 IPv6 주소로 들어 있습니다. 실제 IPv4 주소 4바이트가 이 문자열 안에 흩어져 있어, 고정 키로 비트 회전·XOR·덧셈을 되돌리면 원래 주소가 복원됩니다. 레코드 조회 결과만 들여다봐서는 평문 IP가 드러나지 않습니다.

XLab이 리버싱으로 복원한 주소 변환 로직은 다음과 같습니다. 바이트마다 위치 값에 따라 다른 키 바이트를 적용하기 때문에, 같은 IP라도 자리마다 다른 문자열로 보입니다.

def ror8(x, r):
    return ((x >> r) | (x << (8-r))) & 0xFF

def F(x, i, key=0x80408454):
    x = ((x >> 4) | (x << 4)) & 0xFF
    x = ror8(x, i+1)
    k = (key >> (24 - 8*i)) & 0xFF
    return ((x ^ k) + k) & 0xFF

def decode_ip(ip_bytes):
    k = 0x80408454
    return ".".join(str(F(ip_bytes[i], i, k)) for i in range(4))

📘 INFO

악성코드 내부 문자열도 변형된 RC4로 암호화돼 있습니다.
표준 RC4에 난수 생성기(LCG)로 S박스를 다섯 번 더 섞는 단계와 시프트 레지스터(LFSR)로 키스트림을 뒤트는 단계가 추가됐습니다.
따라서 샘플에서 문자열만 추출하는 방식으로는 C2 도메인 같은 침해 지표(IoC)를 얻을 수 없습니다.

■ 감염 기기의 릴레이 전환

C2 은닉에 더해, 6월 25일 확인된 변종에는 DDoS 모듈이 아예 없습니다. 대신 UPnP(기기가 공유기에 포트 개방을 스스로 요청하는 프로토콜)로 게이트웨이를 찾아 155개의 포트 포워딩 규칙을 자동 생성합니다. 감염 장비는 이 포트에서 외부 접속을 받아 원격 C2의 같은 포트로 전달하므로, 관리자가 만들지 않은 대량의 릴레이 진입점이 외부에 노출됩니다.

이 변종은 리눅스의 이벤트 처리 방식(epoll)으로 외부 접속과 원격 C2 사이의 트래픽을 양방향으로 그대로 전달합니다. 감염된 장비는 4초 남짓한 주기로 login.trees4sale.net:9000에 상태 정보를 보고합니다. 그 결과 실제 통제 서버는 피해 기기 뒤에 가려지고, 외부에서 관측되는 접속지는 또 다른 피해 기기가 됩니다.

릴레이 구조에서는 방어 측면에서 두 가지 문제가 생깁니다. 우선 차단 대상으로 잡히는 IP가 공격자 서버가 아니라 다른 피해자의 회선이므로, 단순 IP 차단이 정상 트래픽 차단으로 이어질 수 있습니다. 또한 감염 기기에서 DDoS 트래픽이 관측되지 않아도 감염 상태는 유지되므로, 대역폭 이상만으로 감염 여부를 판단하면 릴레이로 전환된 장비를 놓치게 됩니다.

■ 탐지 및 점검

• 릴레이 변종을 놓치지 않으려면 공유기 관리 화면에서 UPnP 포트 매핑 목록을 확인하고, 관리자가 등록하지 않은 대량의 규칙이 있는지 점검해야 합니다. XLab이 분석한 샘플은 155개의 규칙을 생성했습니다.

• DNS 로그에서 내부 IoT 기기가 login.trees4sale.net, i.peer4you.net, o.peer4you.net, c2.saintpetersburgresident.ru, dysphoria.androiddebugbridge.su를 질의한 이력이 있는지 조회합니다.

• 배포·C2 서버로 확인된 217.60.195.160, 76.164.203.171, 92.42.100.131, 78.153.155.152와의 통신 기록을 방화벽 로그에서 검색합니다.

• IoT 기기가 login.trees4sale.net:9000으로 약 4초 이상의 간격을 두고 반복 통신하는지 확인합니다. 릴레이 변종은 JSON 형식의 상태 정보를 전송하므로, 도메인·포트·주기와 페이로드 형식을 함께 대조해 조사합니다.

• 인터넷에 노출된 23/TCP·22/TCP를 조사하고, 짧은 시간에 로그인 실패가 몰린 기기는 자격증명 대입 표적으로 보고 우선 점검합니다.

✅ CHECK

감염 기기 목록을 만들 때 DDoS 트래픽 발생 여부만 기준으로 삼아서는 안 됩니다.
릴레이 변종은 공격 트래픽을 만들지 않고 중계만 하기 때문입니다.
UPnP 규칙 증가와 주기적 아웃바운드 세션이 더 신뢰할 수 있는 신호입니다.

■ 대응 방안

• XLab이 공개한 취약점 목록과 보유 자산을 대조한 뒤, 제조사가 제공하는 최신 펌웨어와 완화책을 적용합니다. 패치가 없거나 지원이 종료된 장비는 외부 노출을 차단하고 격리·교체합니다. CVE-2025-55182는 React 서버 컴포넌트 취약점이므로 IoT 장비와 분리해 관련 서버 패키지를 점검하되, Dysphoria의 구체적인 악용 경로는 공개되지 않았다는 점을 함께 고려해야 합니다.

• 사용하지 않는 UPnP는 공유기에서 비활성화하고, 이미 생성된 포트 매핑 규칙은 전부 삭제한 뒤 재생성 여부를 다시 확인합니다.

• 텔넷·SSH 원격 관리 인터페이스의 외부 노출을 차단하고, 기본 자격증명과 재사용된 비밀번호를 모두 교체합니다.

• 감염 의심 기기는 재부팅으로 끝내지 말고 펌웨어를 다시 올린 뒤 노출 경로를 먼저 막습니다. 악성 프로세스가 사라져도 취약한 펌웨어와 약한 자격증명이 남아 있으면 곧바로 재감염되기 때문입니다.

• 블록체인 도메인 기반 C2는 도메인 차단 목록에만 의존해 막을 수 없으므로, IoT 대역의 비정상 아웃바운드 세션을 기준으로 탐지 정책을 세웁니다.

💡 TIP

IoT 기기는 자산 목록에서 누락되는 경우가 많습니다.
사전 승인을 받은 범위에서 사무실·지사 회선의 공인 IP를 외부 관점으로 점검하면, 관리 대상에 없던 노출 기기를 빠르게 찾아낼 수 있습니다.

[참고 자료]

XLab - Dysphoria Botnet Technical Analysis

BleepingComputer - New Dysphoria DDoS botnet spreads to 200k devices worldwide

The Hacker News - Dysphoria IoT Botnet Adds Blockchain C2 and Victim Relays After JackSkid Disruption

Security Affairs - Dysphoria Botnet Uses Blockchain Domains to Hide C2 Infrastructure

미국 법무부 - Authorities Disrupt IoT DDoS Botnets

NVD - CVE-2025-9528

NVD - CVE-2025-28137

NVD - CVE-2025-34152

NVD - CVE-2025-55182

  • #EQST_NOW
  • #취약점

관련 서비스

더 많은 보안 인사이트

SK쉴더스 유튜브 채널에서 확인하세요.

SK쉴더스 유튜브 채널에서 확인하세요.
보안 트렌드와 대응방법

매월 뉴스레터로 확인하세요.

매월 뉴스레터로 확인하세요.