
흩어진 IP 3곳, Emotet 로더 하나가 만든 'C2' 착시
말레이시아·가나·한국의 IP 세 개가 'C2 서버'라는 이름표를 공유하지만 ASN, 인증서, WHOIS 어느 것도 겹치지 않는다. 실제로 삼각 검증 가능한 증거는 파일 6건 중 단 하나, 서명되지 않은 64비트 Emotet 로더 DLL뿐이다.
C2 서버 세 곳, 공통점은 하나도 없다
CTX Team이 2026년 9월 20일 로그한 'c2-servers' 카테고리의 위협 레코드(CTXb6e2abf7xf)는 겉보기엔 흔한 Emotet 캠페인 스냅샷처럼 보인다. 파일 6건, IP 3건, URL 6건이 하나의 피드 항목으로 묶여 있고 심각도는 100, 신뢰도는 85로 매겨져 있다. 그러나 실제로 이 항목을 IOC 단위로 뜯어보면 이야기가 달라진다 — 유의미한 데이터를 가진 것은 파일 6건 중 단 1건, 즉 Win32 64비트 DLL 하나뿐이고, 나머지 다섯 파일은 해시값 외에 아무 메타데이터도 남기지 않은 빈 레코드다. IP 3건은 각각 말레이시아, 가나, 한국에 흩어져 있으며, 서로 공유하는 자율시스템번호(ASN)도, 인증서 일련번호도, WHOIS 등록자도 없다.
이 부조화가 이 기사의 척추다. 일반적으로 'C2 서버'로 태깅된 IP 묶음이라면 최소한 동일 호스팅 사업자, 유사한 등록 시점, 혹은 공유 인증서 발급 패턴 중 하나는 드러나기 마련이다. 그런데 여기서는 세 IP 각각이 서로 다른 대륙, 다른 등록기관(APNIC 두 건과 AFRINIC 한 건), 다른 평판 점수를 가진 채 개별적으로 고립돼 있다. CTX Team의 교차 지표 분석 결과 이 항목의 종합 신뢰도는 100점 만점에 19점으로 '낮음' 등급에 그친다 — 피드 레벨에서 부여된 심각도 100·신뢰도 85와, 실제 지표 간 연결성을 따진 세부 평가 19점 사이의 간극 자체가 이 레코드의 성격을 보여주는 첫 번째 신호다.
세 IP를 하나씩 짚어보면 그 이유가 더 뚜렷해진다. 말레이시아의 103.8.26.17은 자율시스템 132241(SKSA TECHNOLOGY SDN BHD) 대에 위치하고, 가나의 196.44.98.190은 자율시스템 327814(Ecoband Ltd), 한국의 116.124.128.206은 자율시스템 9318(SK Broadband Co Ltd)에 속한다. 세 자율시스템은 이 레코드 안에서 서로 단 한 번도 겹치지 않으며, CTX Team이 확인한 바로도 이 세 IP는 각각 "이 세트 안에서 해당 ASN이 유일하게 등장하는 사례"로 개별 표시돼 있다. 즉 이 항목은 하나의 응집된 인프라 군집이 아니라, 세 개의 독립된 관측점이 우연히 같은 피드 레코드에 함께 담긴 형태에 가깝다.
말레이시아발 IP, 10년 전에 죽은 인증서를 여전히 물고 있다
103.8.26.17이 2026년 9월 20일 시점에 제시하고 있는 TLS 인증서를 들여다보면 위화감이 더 커진다. 이 인증서는 자체 서명(self-signed) 방식으로, 발급 대상(subject)과 발급자(issuer) 모두 'pva-iwh.com'이라는 도메인 이름과 'Parallels, Inc.' 법인명을 공통으로 명시하고 있다. 유효 기간은 2015년 2월 10일부터 2016년 2월 10일까지로 기록돼 있다 — 다시 말해 이 서버는 유효기간이 끝난 지 이미 10년이 지난 인증서를 지금도 그대로 내걸고 있는 셈이다.
인증서가 만료된 지 10년 뒤에도 여전히 서버에서 제시되고 있다는 사실은, 이 IP가 활발히 관리되는 최신 C2 인프라라기보다는 오래 방치되거나 재활용된 호스팅 자산일 가능성을 시사한다. 실제 C2 운영자가 최근에 이 서버를 새로 구성했다면 자체 서명 인증서를 새로 발급하는 것이 일반적인 절차이고, 굳이 10년 묵은 인증서를 그대로 두는 선택은 운영 편의성보다는 방치 또는 재사용의 흔적으로 읽는 것이 자연스럽다. WHOIS 레코드는 이 대역이 SKSA Technology Sdn Bhd가 운영하는 웹·이메일 호스팅 서비스(internet-webhosting.com)로 등록돼 있음을 보여주며, 최근 갱신 시점은 2024년 6월로 기록돼 있어 호스팅 사업자 자체는 여전히 운영 중임을 알 수 있다.
이 IP의 VirusTotal 탐지 비율은 15/89, 평판 점수는 -1로 크게 나쁘지 않은 수준이다. 만약 이 서버가 실제로 Emotet 계열의 능동적 C2였다면, 평판 점수가 더 낮게 형성되고 다수 벤더가 명시적으로 악성으로 분류했을 가능성이 높다. 현재로선 이 낮은 악성 신호 비율과 10년 전 인증서라는 조합이, 이 IP를 "능동 C2로 단정하기 어려운 관측 대상"으로 두는 근거가 된다 — 단정은 금물이지만, 데이터가 가리키는 방향은 분명하다.
서울행 회선의 4년 묵은 인증서, 이름조차 다른 도메인을 가리킨다
한국 소재 116.124.128.206은 조금 다른 패턴의 이상 신호를 남긴다. 이 IP가 마지막으로 관측된 인증서는 Sectigo RSA Domain Validation Secure Server CA가 발급한 것으로, 발급 대상은 'www.igogi.co.kr' 및 'igogi.co.kr'이며 유효 기간은 2022년 10월 4일부터 2023년 10월 4일까지다. 마지막 인증서 관측 일자는 2022년 10월 10일로 기록돼 있다 — 이 캠페인 레코드가 잡힌 2026년 시점을 기준으로 보면 거의 4년 전 자료다.
여기서 흥미로운 지점은 인증서 자체가 만료돼서 문제가 아니라, 그 인증서가 가리키는 도메인이 이 캠페인과 아무 연관성이 없어 보이는 한국의 민간 웹사이트라는 점이다. www.igogi.co.kr이라는 이름은 평범한 한국 민간 사이트의 성격을 그대로 보여줄 뿐, Emotet이나 금융 사기형 악성코드와 결부되는 맥락과는 거리가 있다. 이는 이 IP가 한때 정상적인 웹 호스팅 서비스에 할당돼 있었고, 이후 IP 대역이 재할당되거나 방치된 상태에서 우연히 이번 스캔·수집 과정에 포함됐을 가능성을 시사한다. SK Broadband가 운영하는 이 대역의 WHOIS 정보는 2026년 8월에도 갱신된 흔적이 있어, 통신사 차원의 관리는 지속되고 있지만 그것이 이 특정 IP의 C2 역할을 보증하지는 않는다.
말레이시아 IP와 한국 IP 두 사례를 나란히 놓으면 공통된 패턴 하나가 드러난다 — 둘 다 "현재도 서버에서 제시되는 인증서"를 갖고 있지만, 그 인증서는 시대도, 발급 CA도, 대상 도메인도 전혀 다르다. 캠페인 인프라가 응집돼 있다면 인증서 발급 시점이나 CA 선택에서 어떤 규칙성이 나타나야 하지만, 여기서는 정반대다. 하나는 2015~2016년의 자체 서명 인증서, 다른 하나는 2022~2023년의 상용 CA 인증서로, 이 둘을 하나의 프로비저닝 전략의 산물로 묶기는 어렵다. 이 불일치야말로 두 IP가 같은 운영팀이 관리하는 자산이 아니라 서로 무관한 레거시 호스팅 잔재일 가능성을 뒷받침하는 근거로 볼 수 있다.
가나발 IP, 인증서조차 남기지 않은 채 최저 평판을 기록하다
세 번째 IP인 196.44.98.190은 앞선 두 IP와는 또 다른 결의 신호를 낸다. 이 IP는 TLS 인증서 정보 없이 평판 점수만으로 식별되며, 이 세 IP 가운데 가장 낮은 평판 점수인 -37을 기록하고 있다. 탐지 비율은 14/89로 다른 두 IP와 큰 차이는 없지만, 악성 투표 수가 2건으로 상대적으로 높게 잡혀 있어 커뮤니티 차원에서의 악성 신호는 오히려 이 IP가 가장 뚜렷하다.
WHOIS 기록을 보면 이 대역은 가나의 Ecoband Ltd가 운영하는 전용 고객용(dedicated customer) 네트워크로 등록돼 있으며, 관리 연락처로 개인 이름(Alexander Sulzberger, Enoch E. Acquah)과 아크라 소재 주소가 명시돼 있다. 앞선 두 IP가 "과거의 정상적 웹 서비스가 방치된 흔적"으로 읽힌다면, 이 IP는 오히려 평판 데이터 자체가 낮은 악성 신호를 지속적으로 축적해 온 사례로 보인다. 다만 인증서 데이터가 전혀 없어 다른 두 IP처럼 시점을 특정한 이상 신호를 제시할 근거는 부족하며, 이 지점에서는 평판 점수 하나가 유일하게 남은 관측값이라는 점을 분명히 해 둘 필요가 있다.
세 IP를 하나로 묶을 축은 존재하지 않는다
세 IP 각각의 개별 이상 신호를 확인했다면, 다음으로 물어야 할 질문은 "이 셋이 정말 하나의 캠페인 인프라인가"이다. 답은 현재 데이터로는 부정적이다. CTX Team이 교차 지표를 대조한 결과 이 세 IP는 공유 인증서 일련번호, 공유 자율시스템, 공유 등록기관 어느 축으로도 묶이지 않았다. 각 IP는 "이 세트 안에서 해당 자율시스템이 유일하게 등장하는 사례"로 개별 표시돼 있으며, 이는 통상 캠페인 인프라 분석에서 기대하는 교차 링크가 이 레코드에는 전혀 형성돼 있지 않다는 뜻이다.
이 부재는 단순한 데이터 결핍이 아니라 그 자체로 분석적 의미를 갖는다. 만약 이 세 IP가 실제로 하나의 운영팀이 굴리는 C2 페어링이었다면, 적어도 하나의 축(동일 CA, 동일 호스팅 사업자, 유사한 등록 시점)에서 공통점이 드러나야 자연스럽다. 그런데 발급 CA는 자체 서명과 Sectigo로 다르고, 호스팅 사업자는 말레이시아·가나·한국의 서로 무관한 세 회사이며, 인증서가 관측된 시점도 2015~2016년과 2022~2023년으로 10년에 걸쳐 흩어져 있다. 이 정도로 이질적인 조합이 하나의 캠페인 인프라 세트로 성립하려면 별도의 강한 증거가 필요하지만, 이번 레코드에는 그런 증거가 보이지 않는다.
여기서 앞서 언급한 신뢰도 격차가 다시 의미를 갖는다. 피드 레벨의 심각도·신뢰도 점수(100/85)는 이 항목이 'C2 서버' 카테고리로 분류됐다는 사실 자체에서 나온 숫자이지, 지표 간 실제 연결성을 검증한 결과가 아니다. 반면 지표 단위로 연결성을 따진 세부 평가는 19점에 머물러 있다. 두 점수 체계의 간극은, 자동화된 피드 분류가 "이 IP가 Emotet과 어떤 형태로든 연관된 것으로 보고됐다"는 사실은 포착하지만 "이 IP들이 서로 또는 이 파일과 실질적으로 연결돼 있다"는 사실까지는 검증하지 못한다는 점을 보여준다. 분석가 입장에서는 이 셋을 응집된 인프라 군집으로 서술하는 대신, 서로 무관한 세 개의 개별 관측치가 같은 레코드에 우연히 병기된 사례로 다루는 것이 데이터에 더 충실한 접근이다.
정작 증거가 쌓인 곳은 로더 파일 하나뿐이다
이 레코드에서 유일하게 두께 있는 증거를 가진 대상은 파일 하나, 해시 de16ea94…로 시작하는 64비트 Windows DLL이다. VirusTotal은 이 파일을 trojan.emotet/clpz로 분류하고 있으며, 'emotet', 'clpz', 'fwdd'라는 별칭과 함께 트로이목마·뱅커 두 범주에 걸쳐 태그돼 있다. 파일 형식은 PE32+ 실행파일(DLL, 콘솔), 아키텍처는 x86-64, 크기는 422KB로 기록돼 있다. Emotet은 문서 기반 최초 감염 경로를 통해 배포되고 이후 추가 페이로드를 내려받는 모듈형 로더·뱅커 계열로 알려져 있는데, 이번 레코드에는 로더 모듈 자체만 남아 있어 최초 전달 단계는 이미 지나간 뒤의 페이로드 흔적만 포착된 것으로 보인다.
이 파일의 빌드 특성을 들여다보면 흥미로운 지점이 하나 나온다. 이 DLL은 코드 서명이 되어 있지 않고, 임포트 테이블의 항목 수가 0으로 기록돼 있다 — 정상적인 64비트 DLL이라면 최소한 몇 개의 시스템 API를 정적으로 임포트하는 것이 보통이다. 서명 부재와 제로 임포트 테이블이 함께 나타나는 조합은, 이 파일이 런타임에 필요한 임포트를 동적으로 해석하거나 패킹을 거쳐 정적 분석을 어렵게 만드는 방식으로 만들어졌을 가능성을 시사한다. 이는 직접 관측된 언패킹 행위가 아니라 구조적 메타데이터로부터 끌어낸 추론이라는 점을 분명히 해 둘 필요가 있지만, Emotet 계열이 오랫동안 정적 탐지 회피를 위해 구조를 흐리는 전술을 반복해 온 점을 고려하면 자연스러운 해석이다.
행위 분석 쪽에서는 조금 더 직접적인 증거가 나온다. 이 파일은 샌드박스 1건에서 1건 모두 악성 판정을 받았고, 그 결과는 'Emotet'이라는 패밀리명을 명시적으로 지목하고 있다. 관측 건수 자체는 단 1회에 불과해 통계적으로는 두껍지 않지만, 그 1회의 판정이 모호한 의심(suspicious) 수준이 아니라 명확한 악성(malicious) 판정이며 패밀리명까지 특정했다는 점은 이 분류의 신뢰도를 높여준다. DLL이 모듈로서 로드·실행되는 이 동작은 T1129(Shared Modules)에 해당하며, 표준 Emotet 로더의 실행 방식과 일치한다.
산업 관측 지표로 눈을 돌리면 이 파일의 탐지율은 75개 엔진 중 32개, 즉 32/75로 기록돼 있다. 탐지에 성공한 엔진 목록에는 CrowdStrike, Microsoft, SentinelOne, AhnLab-V3, Antiy-AVL, Tencent, TrendMicro-HouseCall 등 주요 벤더가 포함돼 있어, 상당수 엔진이 이를 악성으로 정확히 분류했음을 보여준다. 반면 놓친 엔진 목록에는 Alibaba, BitDefenderFalx, Kingsoft, Lionic, Paloalto, VIPRE, ZoneAlarm, google_safebrowsing 등 12개 엔진이 이름을 올리고 있다 — 이 가운데는 클라우드·모바일 특화 엔진이나 URL 평판 기반 엔진이 다수 포함돼, 정적 파일 스캔보다는 다른 탐지 축에 특화된 엔진들이 이 파일 형태를 놓쳤다고 해석하는 것이 합리적이다. 룰 매칭 측면에서는 Sigma 통합 룰셋에서 중간(medium) 심각도 룰 1건이 매치됐다는 점이 추가로 확인되며, 이는 임계값 기반의 행위 탐지 룰이 이 샘플의 특정 실행 패턴을 포착했다는 뜻이다.
여기서도 교차 추론이 하나 성립한다. 이 파일은 이 레코드에 속한 여섯 개 파일 해시 가운데 유일하게 실체 있는 데이터를 가진 항목이며, CTX Team의 검토에 따르면 이 파일은 같은 레코드에 함께 실린 다른 다섯 개 해시와 임포트 해시, 서명자, 위협 라벨 중 어느 것도 공유하지 않는다. 다섯 개 해시는 식별 정보가 채워지지 않은 채 남아 있어, 이 6개 파일 세트는 하나의 빌드 파이프라인 산물이라기보다는 서로 무관한 항목들이 단순히 함께 묶인 것으로 보는 것이 자연스럽다. 결국 이 레코드에서 분석적으로 의미 있는 단위는 '6개 파일의 군집'이 아니라 '단 하나의 잘 프로파일된 Emotet 로더'로 축소해서 봐야 한다.
실행에서 추정된 C2까지, 끊어진 사슬
이 레코드가 그리는 공격 전개를 시간순으로 재구성해 보면, 확인된 단계와 추정된 단계가 뚜렷하게 갈린다. 첫 단계인 실행은 직접 관측된 사실이다 — 샌드박스에서 이 64비트 DLL이 로드돼 실행됐고, 그 결과 악성 판정과 함께 Emotet이라는 패밀리명이 반환됐다(T1129). 이 단계에서 공격자는 별도의 드로퍼 없이 모듈 자체를 직접 실행 가능한 형태로 배포했을 것으로 보이며, 이는 초기 전달 경로가 이미 완료된 이후의 페이로드 단계임을 시사한다 — 다만 이 레코드에는 그 전달 경로 자체(피싱 문서, 다운로드 링크 등)가 남아 있지 않다.
두 번째 단계인 방어 회피는 관측이 아니라 구조로부터의 추론이다. 서명되지 않은 상태와 제로 임포트 테이블이라는 두 특성이 결합되면서, 이 로더는 정적 분석 도구가 임포트 함수 목록을 통해 행위를 예측하는 경로를 원천적으로 차단한다(T1027 방향의 추론). 공격자 입장에서 이 선택은 트레이드오프를 수반한다 — 임포트를 런타임에 동적으로 해석하도록 만들면 정적 스캐너의 초기 필터링을 통과하기 쉬워지지만, 그 대신 실행 시점에 추가적인 해석 루틴이 필요해지고, 행위 기반 샌드박스나 EDR의 런타임 후킹에는 오히려 더 쉽게 포착될 여지가 생긴다. 실제로 이 샘플이 정적 탐지 32/75라는 중간 수준의 탐지율을 보이면서도 행위 기반 샌드박스에서는 명확한 악성 판정을 받은 것은 이 트레이드오프의 결과로 읽을 수 있다 — 정적 분석은 일부 회피했지만 행위 분석에서는 걸려든 셈이다.
세 번째 단계인 명령제어(C2)는 이 레코드에서 가장 취약한 연결점이다. Emotet 계열이 HTTP 기반 애플리케이션 계층 프로토콜(T1071)로 C2 통신을 수행한다는 것은 널리 알려진 패밀리 차원의 특성이지만, 이 레코드에 포함된 세 IP 중 어느 것도 이 특정 DLL과 직접 연결되는 인증서, 자율시스템, 도메인 해석 정보를 공유하지 않는다. 다시 말해 "이 샘플이 Emotet이니 C2도 Emotet 방식일 것"이라는 패밀리 수준 추론은 자연스럽지만, "이 세 IP가 그 C2다"라는 결론은 이 레코드의 데이터만으로는 성립하지 않는다. 이 지점에서 분석가는 패밀리 지식과 개별 지표 증거를 명확히 구분해서 서술해야 한다.
방어자 시점에서 이 사건을 재구성해 보면 흥미로운 딜레마가 드러난다. SOC 분석가가 이 파일을 탐지하고 트리아지에 들어갔다고 가정하면, 로더 자체의 악성성은 샌드박스 판정과 32/75 탐지율만으로도 비교적 빠르게 확정할 수 있다. 그러나 "이 로더가 어디로 통신하는가"라는 질문에 답하려고 같은 피드 레코드에 실린 IP 목록을 그대로 차단 대상에 올린다면, 실제로는 10년 전 인증서를 물고 있는 방치된 웹호스팅 서버나 4년 전 한국 민간 사이트에 발급됐던 인증서를 마지막으로 남긴 재할당 IP를 엔드포인트 차단 규칙에 추가하는 결과를 낳을 수 있다. 이는 차단 자체가 무의미하다는 뜻이 아니라, 그 차단이 실제 활성 C2를 막는 조치인지 아니면 이미 의미를 잃은 레거시 자산을 막는 조치인지 구분해야 한다는 뜻이다.
라벨은 있지만 이름은 없는 행위자
이 레코드는 특정 행위자를 명시적으로 지목하지 않은 채, 위협 라벨과 카테고리 태그로만 이 샘플을 트로이목마·뱅커로, 패밀리명을 Emotet으로 분류하고 있다. 이 점에서 볼 때, 이 활동은 국가 배후형 도구셋이 아니라 금전적 동기를 가진 사이버범죄 생태계에 속하는 것으로 보는 것이 자연스럽다. 다만 이는 악성코드 패밀리 라벨에서 끌어낸 추론일 뿐이며, 특정 운영 그룹이나 알려진 캠페인 명칭과의 연결은 이 라벨 수준을 넘어서는 별도의 근거가 필요한 부분이다.
Emotet 자체는 오랜 기간 모듈형 로더·뱅킹 트로이목마로 운영돼 온 계열로, 문서 기반 스피어피싱을 통해 초기 접근을 확보하고 추가 모듈을 내려받는 운영 방식이 반복적으로 관측돼 온 것으로 알려져 있다. 그러나 이번 레코드는 그 전형적인 전달 경로나 다단계 페이로드 체인을 보여주지 않고, 로더 모듈 하나와 출처가 불분명한 IP 세 개만을 남겼다. 이 정도의 파편적 증거로는 특정 하위 캠페인이나 운영 주기를 특정하기 어렵고, 현 단계에서는 이 활동을 Emotet 생태계 안의 한 단면으로만 규정하는 것이 타당하다.
낮은 신뢰도 점수가 말해주는 것
이 레코드는 태그상 미국 소재 소매(retail) 산업과 연관돼 있는 것으로 분류돼 있지만, 그 연관성은 산업 분류 태그 수준에 머물러 있으며 표적 전달 경로나 피해 도메인 같은 구체적 근거로 뒷받침되지는 않는다. 산업 태그 하나만으로 소매 섹터가 실제 표적이었다고 단정하기는 어렵고, 이는 분류 체계가 부여한 맥락 정보로 받아들이는 것이 적절하다. 이런 제한된 시야 안에서도 이 레코드가 던지는 메시지는 분명하다 — 'C2 서버'라는 카테고리 이름이 붙었다고 해서 그 안의 모든 IP가 검증된 활성 인프라 군집을 의미하지는 않는다는 점이다.
이번 사례에서 실질적으로 견고한 발견은 인프라 코호트가 아니라 로더 샘플 자체다. de16ea94… 해시로 식별되는 이 Emotet DLL은 행위 분석과 탐지 데이터, 룰 매칭까지 삼각 확인이 가능한 유일한 지표였고, 나머지 여덟 개 지표는 개별적으로는 관측 가치가 있지만 서로 묶어 하나의 캠페인 서사로 엮을 근거가 부족했다. CTX Team이 이 항목의 세부 신뢰도를 19점으로 낮게 평가한 것은 바로 이 비대칭성을 반영한 결과이며, 이는 하위 지표 단위의 실질적 연결성을 도외시하고 피드 레벨의 카테고리 라벨만으로 심각도·신뢰도를 판단할 경우 얼마나 쉽게 과대평가가 발생할 수 있는지를 보여주는 사례로 읽을 수 있다.
이 기록이 CTI 관점에서 남기는 함의는, 위협 피드의 '카테고리'와 '실제 증명된 연결성'이 항상 일치하지는 않는다는 점을 재확인시켜 준다는 데 있다. 방치된 웹호스팅 인증서, 재할당된 통신사 대역, 평판만 낮은 무인증서 IP가 하나의 레코드에 함께 담기는 순간 이들은 마치 하나의 작전처럼 보이지만, 인증서 발급 시점의 격차와 자율시스템의 완전한 비중첩은 그 서사를 지지하지 않는다. 앞으로 유사한 'C2 서버' 유형의 레코드를 검토할 때는, 카테고리 라벨이 아니라 지표 간 실질적 교차 증거의 두께를 먼저 확인하는 것이 분석의 출발점이 되어야 한다는 점을 이번 사례는 다시 한번 보여준다.