CastleLoader에서 CastleRAT으로: 다중 계층 인프라로 작전을 진화시키는 TAG-150
Executive Summary
Insikt Group 은 최소 2025년 3월부터 활동 중인 새로운 위협 행위자 TAG-150을 확인했으며, 빠른 개발, 기술적 정교함, 대중의 신고에 대한 대응, 대규모의 진화하는 인프라가 특징입니다. TAG-150에 연결된 인프라에는 여러 멀웨어 패밀리의 명령 및 제어(C2) 서버로 사용되는 IP 주소 및 도메인과 같은 피해자를 대상으로 하는 계층 1 구성 요소와 여러 계층으로 구성된 상위 계층 인프라가 모두 포함됩니다. 2025년 3월에 등장한 이후, TAG-150은 자체 개발한 것으로 추정되는 여러 멀웨어 제품군을 배포했으며, 가장 최근에는 여기에 처음으로 문서화된 원격 액세스 트로이 목마인 CastleLoader와 CastleBot을 시작으로 가장 최근에는 CastleRAT을 배포했습니다. 또한 Insikt Group 에서는 파일 공유 플랫폼, 탐지 방지 서비스 등 TAG-150에 의해 활용될 가능성이 있는 여러 서비스를 확인했습니다.
보안 방어자는 TAG-150을 방어하기 위해 관련 로더, 인포스틸러, RAT에 연결된 IP 주소 및 도메인을 차단하고, Pastebin과 같은 비정상적인 LIS에 플래그를 지정하여 잠재적으로 연결을 차단하고, 현재 및 과거 감염에 대해 업데이트된 탐지 규칙(YARA, Snort)을 배포해야 합니다. 다른 제어 기능으로는 이메일 필터링 및 데이터 유출 모니터링 구현이 있습니다. 구현 지침은 완화 섹션을, 침해 지표(IoC)의 전체 목록은 부록 A를 참조하세요. 장기적으로 분석가는 사이버 범죄 생태계에 새로운 위협이 있는지 지속적으로 모니터링하고 그에 따라 제어 기능을 조정해야 합니다.
주요 연구 결과
- Insikt Group 는 캐슬로더와 같은 멀웨어를 배포하는 것으로 알려진 TAG-150으로 추적된 위협 행위자가 운영하는 대규모 인프라 세트를 발견했습니다. 인프라는 피해자를 대면하는 계층 1 서버와 상위 계층인 계층 2, 계층 3, 계층 4 인프라로 구성된 다중 계층 모델을 따릅니다.
- 또한, Insikt Group 에서는 CastleRAT이라고 불리는 TAG-150과 연결된 새로운 원격 액세스 트로이 목마가 발견되었습니다. Python과 C 버전 모두에서 사용 가능한 CastleRAT의 핵심 기능은 시스템 정보 수집, 추가 페이로드 다운로드 및 실행, CMD 및 PowerShell을 통한 명령 실행으로 구성됩니다.
- 또한 추가 분석을 통해 탐지 방지 서비스인 Kleenscan(kleenscan[.]com)을 비롯한 여러 파일 공유 서비스, 메시징 플랫폼, 전문 유틸리티를 활용하는 TAG-150의 광범위한 도구 세트와 운영 생태계에 대한 통찰력을 얻을 수 있습니다.
배경
TAG-150은 Insikt Group에서 멀웨어 제품군인 CastleLoader, CastleBot, 그리고 최근에는 CastleRAT의 개발 및 사용과 관련된 위협 행위자에 대해 지정한 명칭입니다. 이들은 최소 2025년 3월부터 활동하기 시작했습니다( 그림 1 참조). 이러한 멀웨어 패밀리는 종종 초기 감염 벡터로 관찰되는데, 여기에는 SectopRAT, WarmCookie, HijackLoader, NetSupport RAT뿐만 아니라 Stealc, RedLine Stealer, Rhadamanthys Stealer, DeerStealer, MonsterV2 등 수많은 정보 탈취꾼이포함됩니다(1, 2).
그림 1: TAG-150 활동 타임라인 (출처: Recorded Future)
감염은 Cloudflare를 테마로 한 "ClickFix" 피싱 공격 또는 합법적인 애플리케이션으로 위장한 사기성 GitHub 리포지토리를 통해 가장 일반적으로 시작됩니다. 운영자는 소프트웨어 개발 라이브러리, 온라인 회의 플랫폼, 브라우저 업데이트 알림 및 문서 확인 시스템을 모방한 도메인을 활용하여 ClickFix 기술을 사용합니다. 피해자는 속아서 자신의 디바이스에서 악성 PowerShell 명령을 복사하고 실행하도록 유도하여 감염을 가능하게 합니다. 공개 보고에 따르면 전체 클릭과 다운로드는 제한적이었지만 악성 링크와 상호작용한 피해자의 28.7% 감염률은 TAG-150의 효과를 잘 보여줍니다.
이전 공개 보고에 따르면 TAG-150은 다양한 2단계 페이로드를 전달하는 데 사용되는 점, 관찰된 CastleLoader 관리자 패널의 수, 그리고 일반적으로 MaaS 플랫폼과 관련된 기능의 존재(PRODAFT에서 언급 )로 인해 서비스형 멀웨어(MaaS) 모델에서 작동하는 것으로 나타났습니다. 그러나 Insikt Group 은 언더그라운드 포럼에서 이러한 서비스에 대한 광고나 토론을 확인하지 못했습니다. 또한, Recorded Future Network Intelligence 분석에 따르면 TAG-150은 주로 관련 인프라와 상호작용하며, 외부 고객 또는 계열사와 연결될 가능성이 있는 소수의 다른 IP 주소만 이 인프라와 통신하는 것으로 나타났습니다. 외부 고객 또는 제휴사와 관련이 있을 수 있는 이 네트워크 트래픽은 대부분 토르 노드에 연결되어 있어 분류가 복잡합니다.
인프라 분석
Insikt Group 태그-150에 연결된 광범위한 다계층 인프라를 확인했습니다. 이 인프라는 피해자를 대상으로 하는 계층 1, 계층 2, 계층 3, 계층 4 서버와 CastleLoader, SecTopRAT, WarmCookie 및 새로 발견된 CastleRAT와 같은 멀웨어군과 관련된 계층 3, 계층 4 서버로 구성되어 있으며 후자는 백업 용도로 사용되는 것으로 보입니다. 그림 2는 전체 인프라에 대한 개요를 제공하며, 이후 섹션에서는 각 구성 요소에 대해 자세히 살펴봅니다.
그림 2: TAG-150에 연결된 다계층 인프라(출처: Recorded Future)
다계층 인프라
계층 1
티어 1 인프라는 CastleLoader, CastleRAT, SecTopRAT, WarmCookie 등 다양한 멀웨어 제품군과 관련된 수많은 C2 서버로 구성되어 있습니다. 이러한 서버는 일반적으로 티어 2 서버를 통해 관리되지만, 경우에 따라 티어 3 서버와 직접 상호 작용하는 경우도 있습니다.
캐슬 로더
Insikt Group은 부록 B에 설명된 대로 TAG-150과 관련된 상당한 수의 CastleLoader C2 서버를 확인했습니다. 이러한 서버의 IP 주소는 NameCheap, Inc. 또는 TUCOWS, INC.를 통해 등록된 도메인을 호스팅하는 경우가 많지만 도메인은 일관된 명명 규칙을 준수하지 않습니다. CastleLoader C2 인프라는 다양한 ASN(자율 시스템 번호)에서 관찰되었지만 상당 부분은 GmbH, FEMO IT SOLUTIONS LIMITED 및 Eonix Corporation에 서비스를 제공하는 호스팅 제공업체와 연결되어 있습니다. FEMO IT SOLUTIONS LIMITED는 위협 활동 조력자(TAE)로 평가되며 Insikt Group에서 적극적으로 추적하고 있습니다.
분석된 도메인 중 panelv1[.]hostingzealoft[.]today 는 잘 알려진 호스팅 제공업체인 hostingzealot[.]com의 합법적인 도메인을 모방한 것으로 눈에 띄었습니다, 이 도메인과 연결된 IP 주소도 호스팅합니다. 이 이름을 선택한 이유는 아직 명확하지 않습니다. 이 외에도 TAG-150은 다른 도메인에서 일관된 명명 규칙이나 주제별 패턴을 따르지 않는 것 같습니다.
캐슬로더 관리자 패널
Insikt Group 에서 관찰한 대부분의 CastleLoader C2 서버는 주로 포트 80에서 C2 기능을 제공하며, 관리자 패널은 일반적으로 포트 5050에서 호스팅되고 때로는 포트 9999에서 호스팅되기도 합니다. 그림 3은 CastleLoader 관리자 패널의 예시를 보여줍니다.
그림 3: 캐슬로더 C2 관리자 패널(출처: URLScan)
CastleRAT
이전에 보고된 CastleLoader와 CastleBot 외에도, Insikt Group 에서 새로운 멀웨어 제품군인 CastleRAT을 발견했으며, 자세한 내용은 CastleRAT 섹션에서 확인할 수 있습니다. Insikt Group CastleRAT의 C 및 Python 변종을 모두 발견했습니다. 부록 B에는 일반적으로 포트 80, 443, 7777에 노출되며 때때로 다른 포트에 노출되는 CastleRAT C2 서버가 나열되어 있습니다. 특히 주목할 만한 한 인스턴스는 구글 클라우드 IP 주소에서 호스팅되는 등 여러 ASN에서 CastleRAT C2 서버가 관찰되었습니다.
SectopRAT
Insikt Group 는 TAG-150과 연관된 최소 7개의 섹토프랫 C2 서버를 확인했으며, 그 중 6개는 TAG-150의 상위 계층 인프라를 통해 액세스되었습니다( 부록 B 참조). C2 통신의 기본 채널은 TCP 포트 15647, 15747, 15847, 15947, 14367 또는 9000입니다. 부록 B에서 처음 및 마지막으로 확인된 날짜는 이러한 서버가 TAG-150의 상위 계층 인프라와 통신하는 것이 관찰된 가장 초기 및 최신 사례를 나타냅니다. IP 주소 92[.]255[.]57[.]32 는 TAG-150의 상위 계층 인프라와 통신하는 것이 관찰되지는 않았지만, 피해자들 사이에서 중복되는 것이 관찰되어 TAG-150과 연관된 것으로 평가됩니다.
분석 과정에서 Insikt Group은 IP 주소 91[.]210[.]164[.]26도 확인했습니다, 잠재적으로 TAG-150과 연결되어 있지만 TAG-150의 상위 계층 인프라와 통신하는 것이 관찰되지 않았습니다.특히, IP 주소 176[.]126[.]163[.]56 는 일반 이름 krona186380으로 자체 서명된 TLS(전송 계층 보안) 인증서를 호스트합니다. 분석 중 Insikt Group 에서도 IP 주소 91[.]210[.]164[.]26이 확인되었습니다. 동일한 ASN 내에서 krona184679라는 일반 이름을 가진 유사한 자체 서명 TLS 인증서를 제시했습니다. 이 IP 주소에서 샘플이나 상위 계층 인프라 통신이 관찰되지는 않았지만, Insikt Group 은 이러한 유사성으로 인해 TAG-150과 연결되었을 가능성이 있다고 평가합니다.
분석 과정에서 Insikt Group은 IP 주소 91[.]210[.]164[.]26도 확인했습니다, 태그-150과 잠재적으로 연결되어 있지만 태그-150의 상위 계층 인프라와 통신하는 것이 관찰되지 않았습니다.
웜쿠키
Insikt Group 부록 B에 설명된 바와 같이 TAG-150과 연관된 WarmCookie C2 서버를 하나 이상 확인했습니다. 이 동일한 IP 주소는 이전에 CastleLoader와 관련하여 보고된 적이 있습니다. 관찰된 웜쿠키 샘플에 연결된 캠페인 ID는 트래픽1과 트래픽2였습니다. 캠페인 ID의 SHA256 해시는 올바른 후속 페이로드를 검색하기 위한 전제 조건으로 의심되는 CastleLoader GET 요청 엔드포인트를 구성하는 데 사용됩니다.
계층 2
Insikt Group 피해자를 대상으로 하는 계층 1 서버와 계층 3 인프라 사이의 중개자 역할을 하는 계층 2 VPS 서버를 확인했습니다. 특히 TAG-150은 RDP 포트 3389를 통해 티어 2 서버에 접속한 후 다양한 다른 포트를 통해 티어 1 서버에 접속하는 것이 관찰되었습니다. 캐슬로더, 캐슬랫, 섹토랫, 웜쿠키 등과의 연결이 관찰되었습니다. 특히 태그-150은 티어 2를 완전히 우회하여 티어 3 계층에서 티어 1 서버로 직접 연결한 경우도 있었습니다. Insikt Group 는 이 동작을 TAG-150과 관련된 동일한 운영자가 운영 절차를 변경했거나 다른 운영자가 대체 방법을 사용한 결과라고 평가합니다.
계층 3
TAG-150의 티어 3 인프라는 두 부분으로 나뉘어져 있는 것으로 보입니다. 한편으로 Insikt Group은 모두 동일한 TLS 인증서를 사용하는 일련의 VPS 서버를 확인했으며, 한 서버가 트래픽이 많아서 허브로 의심되는 것으로 나타났고 다음 섹션에서 설명하는 티어 4로 평가되는 것과 연결되는 것을 관찰했습니다.
이와는 별도로 Insikt Group은 티어 3으로 평가된 러시아 거주 IP 주소가 티어 2 및 티어 1 서버와 모두 통신하는 것이 관찰된 것을 확인했습니다. 러시아 IP 주소는 AS35807(AS-SKYNET-SPB)로 발표됩니다. 이렇게 VPS 인프라와 주거용 IP 주소가 분리되면 TAG-150에 연결된 두 번째 운영자가 있다는 신호일 수 있습니다. 주목할 만한 점은 러시아 거주 IP가 기본 사용자 데이터그램 프로토콜(UDP) 포트인 33445를 통해 Tox 서버와 정기적으로 통신하는 것이 관찰되었으며, 이는 TAG-150이 내부 통신에 Tox를 활용하고 있음을 시사합니다.
계층 4
기본 계층 3 서버가 몇 주에 걸친 지속적인 하이 포트 간 UDP 세션을 통해 잠재적 백업 서버로 평가되는 다른 서버( Insikt Group )와 통신하는 것이 관찰되었습니다. 이 서버는 티어 4 서버로 추적됩니다. 티어 4 서버는 AS204601(ON-LINE-DATA)에서 발표한 IP 주소와 연결되어 있으며, 적어도 한 사례에서 캐슬로더 패널과 직접 통신하는 것이 관찰되었으며, 이는 운영상의 보안 결함으로 평가되는 활동입니다.
또한 Insikt Group 에서 티어 4에 속할 가능성이 있는 또 다른 서버 세트를 확인했습니다.
TAG-150에서 사용하는 서비스
Recorded Future Network Intelligence 및 기타 자료를 통해 TAG-150의 활동을 모니터링한 결과, Insikt Group 는 TAG-150이 다양한 운영 리소스를 활용하고 있을 가능성이 높다고 평가했습니다. 여기에는 보안 메시징 플랫폼과 같은 개인 정보 보호 중심 애플리케이션을 위한 인프라를 제공하는 Oxen 네트워크(이전의 Lokinet), Kleenscan(kleenscan[.]com)이 포함됩니다, 최근 해체된 AVCheck의 대안, 파일 공유 서비스 temp[.]sh, 암호화폐 거래소 simpleswap[.]io 등이 있습니다; 파일 호스팅 서비스 메가[.]NZ; 그리고 이 그룹이 사용할 가능성이 높은 Exploit Forum도 있습니다. Insikt Group 는 AVCheck의 중단 이후 Lumma 계열사를 포함한 다른 사이버 범죄자들이 Kleenscan을 사용하기 시작했다고 이전에 언급한 바 있습니다. 2025년 6월, Insikt Group 에서 태그-150이 185[.]39[.]19[.]164에서 호스팅된 마탄부추스 로더 패널과 잠시 상호작용하는 것을 확인했습니다.
페이로드 전달 인프라
Insikt Group은 한 가지 예외를 제외하고 대부분 Cloudflare 뒤에서 호스팅되는 CastleLoader와 관련된 여러 페이로드 전송 도메인을 발견했습니다. 모든 관련 지표는 부록 B에 나와 있습니다.
잠재적 놀이 Ransomware 활동
TAG-150 활동을 조사하는 동안 Insikt Group 는 IP 주소 107[.]158[.]128[.]45에서 캐슬로더 패널과 통신한 프랑스 ISP IP를 확인했습니다. 그리고 WarmCookie C2 서버 192[.]36[.]57[.]164를 사용합니다. 주목할 점은 이 WarmCookie C2 서버가 알려진 Play Ransomware 피해자와 연결된 IP 주소와 관련된 네트워크 유출에서 관찰되었다는 것입니다. 유출 시점이 피해 조직의 Play Ransomware 침해와 일치하기 때문에 Insikt Group 은 Play Ransomware 또는 그 계열사 중 하나가 CastleLoader를 사용했을 가능성이 있다고 평가합니다.
Insikt Group 에서 특정 WarmCookie와 CastleLoader 인스턴스를 연결하는 전체 감염 체인을 찾지는 못했지만, 동일한 뮤텍스가 있는 WarmCookie 샘플이 확인되었으며, 이 샘플은 CastleLoader를 통해 배포된 것으로 나타났습니다. 이 발견은 192[.]36[.]57[.]164와 관련된 WarmCookie 샘플의 가능성을 높입니다. 도 캐슬로더를 통해 배포되었으므로 107[.]158[.]128[.]45에 직접 연결될 수 있습니다.
그러나 현재까지 Ransomware 플레이를 WarmCookie 또는 CastleLoader와 연관시킨 공개 보고는 없습니다. 따라서 피해자가 여러 위협 행위자의 표적이 되었을 가능성이 남아 있으며, WarmCookie 감염은 Play Ransomware 사건과 관련이 없을 수 있습니다.
CastleRAT
CastleRAT는 다음과 같은 공통점을 공유하는 C 및 Python 변종을 포함하는 RAT입니다:
- 하드 코딩된 16바이트 키와 RC4 암호화를 사용하는 사용자 지정 바이너리 프로토콜
- 지리적 위치 API ip-api[.]com을 쿼리하여 감염된 호스트의 공용 IP 주소를 통해 위치 및 기타 정보를 얻습니다.
- 실행 파일 다운로드 및 실행
- 원격 셸
C 변종 CastleRAT에는 키로깅 및 화면 캡처와 같은 고급 도용 기능도 포함되어 있습니다. 두 가지 변형 모두 지속적으로 개발 중입니다. 예를 들어, Steam 커뮤니티 페이지에서 호스팅되는 C2 디드롭은 2025년 8월 말에 처음 관찰된 새로운 현상입니다( 그림 4 참조).
그림 4: 데드랍 해결을 위해 Steam 커뮤니티를 사용하는 TAG-150의 CastleRAT (출처: Recorded Future)
특히, 지금까지 CastleRAT이 CastleLoader와 함께 배포된 것이 관찰되었고 그 인프라가 TAG-150과 분명한 연관성을 보이지만, 이것이 반드시 CastleRAT을 배후에 있는 동일한 공격자가 개발했다는 것을 의미하지는 않으며 다른 곳에서 멀웨어를 획득했을 가능성이 남아 있습니다.
캐슬랫 파이썬 변형
CastleRAT는 2025년 8월 초에 Insikt Group 에 의해 처음 발견된 경량 RAT로, 캐슬로더 페이로드입니다. 특히, 이 파이썬 변종 멀웨어는 8월 말에 PyNightshade라는 이름으로 공개적으로 언급되었지만 문서화되지 않은 채로 남아있었습니다.
CastleRAT의 C 변종은 아직 공개적으로 확인되지 않았지만, 멀웨어 제품군과 특별히 연결되지 않은 수많은 일반 바이러스 백신 탐지에서 플래그가 지정되어 있습니다. 따라서 현재 백신에 전혀 탐지되지 않거나 거의 탐지되지 않는 것으로 보아 Python 변종 CastleRAT은 은닉을 염두에 두고 설계된 것으로 보입니다. 다음 기능은 2025년 7월 말 CastleRAT 파이썬 변종이 처음 관찰된 이후 변경되지 않고 구현된 기능입니다:
- 공인 IP의 국가 정보 및 시스템 정보 획득 및 보고
- 3초마다 핑/킵얼라이브 메시지 생성
- 실행 파일(EXE) 또는 동적 링크 라이브러리(DLL)를 다운로드하여 실행합니다.
- cmd 셸 명령의 실행 및 출력 보고
- PowerShell 명령의 실행 및 출력 보고
- 자동 삭제
국가 정보는 잘 알려진 IP 지리적 위치 서비스인 ip-api[.]com에서 검색됩니다. 필드의 상태와 국가가 쿼리됩니다( 그림 5 참조).
그림 5: 지리적 위치 API 서비스 ip-api[.]com에 대한 CastleRAT Python 변형 요청 및 응답 (출처: Recorded Future)
그림 6에 표시된 Recorded Future 악성코드 인텔리전스 쿼리를 사용하여 CastleRAT Python 변종을 찾을 수 있습니다.
dynamic.network.http.sequence.request.url contains "/line/?fields=16385"그림 6: Recorded Future 악성코드 인텔리전스 쿼리를 통해 CastleRAT Python 변종 찾기 (출처: Recorded Future)
Insikt Group 은 Python 변종 CastleRAT이 여전히 활발하게 개발 중이라고 평가합니다. 최근 업데이트에서는 웹소켓 내 바이너리 프로토콜 캡슐화, C2 데드 드롭을 위한 Steam 커뮤니티 페이지 활용 등의 기능이 도입되었습니다.
캐슬랫 C 변형
CastleRAT의 C 변종은 Python 변종보다 훨씬 더 많은 기능을 통합하고 있어 일반 바이러스 백신 솔루션에서 탐지될 가능성이 높습니다:
- 공인 IP 및 시스템 정보의 국가 및 기타 정보를 획득하여 보고합니다.
- 6초마다 핑/킵얼라이브 메시지 생성
- Keylogger
- Clipper
- 화면 캡처
- 파일 업로드
- 파일 다운로드
- 브라우저 프로세스 찾기 및 종료
- 셸 명령의 실행 및 출력 보고
- PowerShell 명령의 실행 및 출력 보고
- 지속성 등록 및 등록 취소
- 인젝션을 통해 파일을 실행하거나 브라우저로 가장하여 실행하기
- Steam 커뮤니티 페이지를 통한 C2 디드랍
파이썬 변종과 마찬가지로, C 변종은 널리 악용되는 IP 지리적 위치 서비스 ip-api[.]com을 쿼리하여 감염된 호스트의 공용 IP 주소를 기반으로 정보를 수집합니다. 그러나 데이터 범위가 확장되어 도시, 우편번호, IP가 VPN, 프록시 또는 Tor 노드와 연결되어 있는지 여부를 나타내는 지표가 포함되었습니다( 그림 7 참조).
그림 7: 지리적 위치 API 서비스 ip-api[.]com에 대한 CastleRAT C 변형 요청 및 응답 (출처: Recorded Future)
최근 버전의 CastleRAT C 변종에서는 ip-api[.]com에서 도시 및 우편 번호 쿼리가 제거되었습니다. 출력( 그림 8 참조).
그림 8: 위치 정보 API 서비스 ip-api에 대한 CastleRAT C 변형 요청 및 응답 (출처: Recorded Future)
그림 9에 표시된 Recorded Future 악성코드 인텔리전스 쿼리는 CastleRAT C 변종을 찾는 데 사용할 수 있습니다.
그림 9: Recorded Future 악성코드 인텔리전스 쿼리를 통해 캐슬랫 C 변종 찾기 (출처: Recorded Future)
CastleRAT C 버전은 동기화를 위해 다음과 같은 고유한 Mutex 객체를 사용합니다:
- Thickwick3
- fsAiodwsfSAFuiefS
- 바바이마자이
- sPEJIOGDsionsgfdUewg
- KolokolBozhii
- FkgfIJGgJgdiJGDGHDjMGjia
- sdgiregdsssaFWIFS
- fsAiodwsfSAFuiefS2
- GoldVekRogerS
- XmGetzKAM8Bw8NCBTUYo5e
파이썬 변종이 C 변종의 데이터 탈취 기능을 통합하도록 업데이트될지 여부와 개발자가 탐지 회피를 위해 어떤 추가 기능을 도입할지 여부는 불확실합니다.
피해자학
Insikt Group TAG-150의 다양한 멀웨어 제품군과 관련된 티어 1 C2 인프라와 통신하는 것으로 의심되는 수많은 피해자 IP 주소를 확인했습니다. 이러한 IP 주소의 대부분은 미국 내 지리적 위치에 있는 것으로 보이지만, 실제 피해자를 확실하게 식별할 수 있는 것은 극소수에 불과합니다. 대부분의 피해자는 신원이 확인되지 않아 확인이 불가능하지만, Insikt Group 에 따르면 적어도 일부는 개인이 감염되었을 가능성이 높다고 합니다.
완화 조치
- 부록 A의 IoC를 활용하여 과거 또는 현재 진행 중인 감염(성공 및 시도)을 조사하고 Recorded Future Intelligence Cloud 을 사용하여 TAG-150 및 기타 위협 행위자와 관련된 향후 IoC를 모니터링하세요.
- SIEM 또는 엔드포인트 탐지 및 대응(EDR) 도구에서 부록 C, D, E에 제공된 시그마, YARA, 스노트 규칙을 활용하여 CastleLoader 및 CastleRAT의 존재 또는 실행을 탐지하세요. 또한 Recorded Future Intelligence Cloud 에서 제공되는 다른 탐지 규칙을 사용하세요.
- Recorded Future Network Intelligence 을 사용하여 기업 인프라에서 알려진 악성 인프라로 데이터가 유출되는 사례를 탐지하세요. 특정 쿼리를 사용하고 자산에 따라 결과를 필터링하여 이를 달성할 수 있습니다.
- Recorded Future Intelligence Cloud 을 사용하여 TAG-150, 기타 위협 행위자 및 광범위한 사이버 범죄 생태계를 모니터링하여 최신 TTP, 선호하는 도구 및 서비스(예: 위협 행위자가 사용하는 특정 TAE), 새로운 개발 동향에 대한 가시성을 확보하세요.
전망
Insikt Group 는 TAG-150이 스텔스와 회피에 특히 중점을 두고 빠른 속도로 툴링을 계속 발전시킬 것이라고 평가합니다. TAG-150은 이미 기술적 정교함과 적응력을 입증했으며 Insikt Group 방어 조치에 대한 탄력성을 유지하기 위해 탐지 방지 서비스 및 기술을 추가로 실험할 것으로 예상합니다.
캐슬 로더, 캐슬 봇, 그리고 현재 캐슬 랫을 포함하여 자체 개발한 것으로 보이는 여러 멀웨어 제품군을 배포한 이력을 고려할 때, TAG-150은 단기간 내에 추가 멀웨어를 개발하여 배포할 가능성이 높습니다. Insikt Group 또한 이 그룹이 피해자 범위를 확대하거나 잠재적으로 MaaS 방식으로 운영할 가능성이 높다고 평가합니다.
Insikt Group 은 새로운 위협을 추적하고 그룹의 궤적을 평가하기 위해 태그-150의 인프라, 도구 개발, 지하 포럼에서의 활동을 지속적으로 면밀히 모니터링할 것입니다.
부록 A: 침해 지표(IoC)
CastleLoader C2 IP Addresses:
62[.]60[.]226[.]73
62[.]60[.]226[.]211
62[.]60[.]226[.]254
79[.]132[.]130[.]142
80[.]77[.]23[.]48
85[.]158[.]108[.]135
94[.]159[.]113[.]123
107[.]158[.]128[.]45
107[.]158[.]128[.]90
170[.]130[.]165[.]37
173[.]44[.]141[.]89
173[.]232[.]146[.]90
185[.]212[.]47[.]84
185[.]219[.]220[.]128
213[.]209[.]150[.]229
CastleLoader C2 Domains:
cisco-webexxapp[.]xyz
estetic-online[.]com
higueruela[.]net
lekuvam[.]com
mhousecreative[.]com
notionus[.]org
oneyogasite[.]com
panelv1[.]hostingzealoft[.]today
polarcompany[.]org
rinasalleh[.]com
sftp[.]sagargolf[.]com
vilaoaza[.]com
CastleRAT Python and C C2 IP Addresses:
34[.]72[.]90[.]40
45[.]61[.]136[.]81
91[.]212[.]166[.]17
94[.]141[.]122[.]164
104[.]225[.]129[.]171
144[.]208[.]126[.]50
180[.]178[.]189[.]17
185[.]149[.]146[.]118
185[.]196[.]10[.]8
195[.]85[.]115[.]44
195[.]201[.]108[.]189
CastleRAT C2 Deaddrops:
steamcommunity[.]com/id/tfy5d6gohu8tgy687r7
steamcommunity[.]com/id/krouvhsin34287f7h3
steamcommunity[.]com/id/huilo
steamcommunity[.]com/id/desdsfds34324y3g
SectopRAT C2 IP Addresses:
45[.]141[.]84[.]229
83[.]222[.]191[.]98
92[.]255[.]57[.]32
176[.]126[.]163[.]56
185[.]93[.]89[.]56
194[.]26[.]29[.]44
217[.]12[.]206[.]21
WarmCookie C2 IP Address:
170[.]130[.]165[.]112
Possibly Linked WarmCookie C2 IP Address:
192[.]36[.]57[.]164
Payload Servers:
45[.]32[.]69[.]11
138[.]68[.]250[.]216
CastleLoader Samples (SHA256):
8b7c1657f4d5cf0cc82d68c1f1a385adf0de27d46fc544bba249698e6b427856
18e535d4a641821c4c212b30d79fcebf3fd42d9831972b40dc262b614a08d114
6444f0e3f78254aef663837562d258a2236a77f810ee8d832de7d83e0fdd5783
05ecf871c7382b0c74e5bac267bb5d12446f52368bb1bfe5d2a4200d0f43c1d8
f4bdea09e45471612689bd7d76aa5492fb9de69582d3cf5082d585c16e340d4c
bf21161c808ae74bf08e8d7f83334ba926ffa0bab96ccac42dde418270387890
007f031d4ba5f964136fe73615f524eccdeced5cd7573c281bc1455d5cab2ff6
65493c28b5991bb8e73d1ceb94b3633137542c422ffc5dfd90801909dd475d58
53dddae886017fbfbb43ef236996b9a4d9fb670833dfa0c3eac982815dc8d2a5
f0e1963efa5bfa96ae1a1e370fa2c70a044a03279f2fdbf07391c7e08e295e93
1bb10490d6f13e80d874896428908f6b5758b9722b959841c369c6ddc435230e
4cef6738ef175fa988e9867ca19d2a12f1bf55d2cab07246010833fdb0f4d0f0
88d16948e8cf885d475bc44afa477d2f5b38721e32248425a9e5429c48a4af26
25e0008aba82690e0f58c9d9fcfbc5d49820aa78d2f7bfcd0b85fb969180fc04
e6aab1b6a150ee3cbc721ac2575c57309f307f69cd1b478d494c25cde0baaf85
CastleRAT Python Variant Samples (SHA256):
94dc0f696a46f3c225b0aa741fbd3b8997a92126d66d7bc7c9dd8097af0de52a
401b0eb132cacd6e32d4b4af627370288f9f3e59af36ccfd43a501564937f93c
53775af67e9df206ed3f9c0a3756dbbc4968a77b1df164e9baddb51e61ac82df
58d54e2454be3e4e9a8ea86a3f299a7a60529bc12d28394c5bdf8f858400ff7b
6d62210addb8268d0bd3e6ef0400d54c84e550ccad49f5867fdc51edc0c1db2c
282fa3476294e2b57aa9a8ab4bc1cc00f334197298e4afb2aae812b77e755207
a2feb262a667de704e5e08a8a705c69bbcc806e0d52f0f8e3f081a6aa6c8d7b4
85b4d29f2830a3be3a0f51fbe358bea1a35d2a8aaa6a24f5cc1f2e5d2769716e
4ef63fa536134ad296e83e37f9d323beb45087f7d306debdc3e096fed8357395
CastleRAT C Variant Samples (SHA256):
0fd7eb57f5f9d817dd497c1ce3be0791f5e798077f8dc2c3a4e2b2b0b0bdc2c6
5a741df3e4a61b8632f62109a65afc0f297f4ed03cd7e208ffd2ea5e2badf318
3dd877835c04fde3f2d14ce96f23a1c00002fefa9d731e8c4ce3b656aac90063
7e0d097412ca8c3acdbaaa7c1f79c42cda3a4e50b52c0a8b34d6c75cc764ce42
a67027c3dec4fc4a5a09c68950f494f631ee6aa42b85dd82d74c5b5399d08d19
66aac2857eee73b1f5f715214bb50a03c0dc052d4bb3e64d6b0b492f2c85f374
2fcb76dfdfcd390658bbc032faafef607804d5d4a2f1c0005f274ab2e06d8af4
a97ff41736299857a3cae7c1917456eef5e0fcc703d0a1e475d0b9cfe42452c7
7a682be245a2e51f473ee1c60d537e57423ab2c3d9ae990445cdb6e43aeb5c76
f2e36ccfeb225009ae229a2be905deff587c471b8d47690dc7f5111e1bc611af
ce6a7af556090b3ff762e27058be2327e6c5188d6ed54703d794089f577fd20c
39b40746de01af66c0e5ce5888df4c42e474adcdb4301275b1474423d7a0ff1f
9d356492e433e068c5e71f73638180e3f6a5d992e55ad496a8dafa5174e0a827
13a5c1a535c161fd2724423dad1dfa6885c705713569d4ed4f2ebf900df25ed7
b0b24ff78ab1c4322764bcb332254069504b168cb8aaca469bdf1d37f313d4d3
c2054617b8dcb619749c0402dc31eeb473386b3829f17176bc27b1447a8b6d92
60125159523c356d711ffa1076211359906e6283e25f75f4cf0f9dc8da6bf7b0
1ff6ee23b4cd9ac90ee569067b9e649c76dafac234761706724ae0c1943e4a75
d51f81ee026df39447143b67eaf16326c30e0c9477c0d50507f1fbfffe53abd6
e6bcdf375649a7cbf092fcab65a24d832d8725d833e422e28dfa634498b00928
67cf6d5332078ff021865d5fef6dc61e90b89bc411d8344754247ccd194ff65b
963c012d56c62093d105ab5044517fdcce4ab826f7782b3e377932da1df6896d
f2ff4cbcd6d015af20e4e858b0f216c077ec6d146d3b2e0cbe68b56b3db7a0be
SectopRAT Samples (SHA256):
ae78caabec6a4241c64357ca5ca05de2e181fe253963de528807bf051fc3608e
Af88dc52b37022583a6687214bb5e345b606c6a0a3f37cfe41576d89c3d8e65d
WarmCookie Samples (SHA256):
e62684a48067d8bf5f219f007bb5908301ca3303b9c57a2f0c3212cf0eb8d7b7
Pastebin URLs:
https://pastebin[.]com/raw/2wW91TbyCastleLoader
C2 IP Addresses:
62[.]60[.]226[.]73
62[.]60[.]226[.]211
62[.]60[.]226[.]254
79[.]132[.]130[.]142
80[.]77[.]23[.]48
85[.]158[.]108[.]135
94[.]159[.]113[.]123
107[.]158[.]128[.]45
107[.]158[.]128[.]90
170[.]130[.]165[.]37
173[.]44[.]141[.]89
173[.]232[.]146[.]90
185[.]212[.]47[.]84
185[.]219[.]220[.]128
213[.]209[.]150[.]229
CastleLoader C2 Domains:
cisco-webexxapp[.]xyz
estetic-online[.]com
higueruela[.]net
lekuvam[.]com
mhousecreative[.]com
notionus[.]org
oneyogasite[.]com
panelv1[.]hostingzealoft[.]today
polarcompany[.]org
rinasalleh[.]com
sftp[.]sagargolf[.]com
vilaoaza[.]com
CastleRAT Python and C C2 IP Addresses:
34[.]72[.]90[.]40
91[.]212[.]166[.]17
94[.]141[.]122[.]164
104[.]225[.]129[.]171
144[.]208[.]126[.]50
180[.]178[.]189[.]17
185[.]149[.]146[.]118
195[.]85[.]115[.]44
195[.]201[.]108[.]189
CastleRAT C2 Deaddrops:
steamcommunicty[.]com/id/tfy5d6gohu8tgy687r7
steamcommunity[.]com/id/krouvhsin34287f7h3
steamcommunity[.]com/id/huilo
steamcommunity[.]com/id/desdsfds34324y3g
SectopRAT C2 IP Addresses:
45[.]141[.]84[.]229
83[.]222[.]191[.]98
92[.]255[.]57[.]32
176[.]126[.]163[.]56
185[.]93[.]89[.]56
194[.]26[.]29[.]44
217[.]12[.]206[.]21
WarmCookie C2 IP Address:
170[.]130[.]165[.]112
Possibly Linked WarmCookie C2 IP Address:
192[.]36[.]57[.]164
CastleLoader Samples (SHA256):
8b7c1657f4d5cf0cc82d68c1f1a385adf0de27d46fc544bba249698e6b427856
18e535d4a641821c4c212b30d79fcebf3fd42d9831972b40dc262b614a08d114
6444f0e3f78254aef663837562d258a2236a77f810ee8d832de7d83e0fdd5783
05ecf871c7382b0c74e5bac267bb5d12446f52368bb1bfe5d2a4200d0f43c1d8
f4bdea09e45471612689bd7d76aa5492fb9de69582d3cf5082d585c16e340d4c
bf21161c808ae74bf08e8d7f83334ba926ffa0bab96ccac42dde418270387890
007f031d4ba5f964136fe73615f524eccdeced5cd7573c281bc1455d5cab2ff6
65493c28b5991bb8e73d1ceb94b3633137542c422ffc5dfd90801909dd475d58
53dddae886017fbfbb43ef236996b9a4d9fb670833dfa0c3eac982815dc8d2a5
f0e1963efa5bfa96ae1a1e370fa2c70a044a03279f2fdbf07391c7e08e295e93
1bb10490d6f13e80d874896428908f6b5758b9722b959841c369c6ddc435230e
4cef6738ef175fa988e9867ca19d2a12f1bf55d2cab07246010833fdb0f4d0f0
88d16948e8cf885d475bc44afa477d2f5b38721e32248425a9e5429c48a4af26
25e0008aba82690e0f58c9d9fcfbc5d49820aa78d2f7bfcd0b85fb969180fc04
e6aab1b6a150ee3cbc721ac2575c57309f307f69cd1b478d494c25cde0baaf85
CastleRAT Python Variant Samples (SHA256):
94dc0f696a46f3c225b0aa741fbd3b8997a92126d66d7bc7c9dd8097af0de52a
401b0eb132cacd6e32d4b4af627370288f9f3e59af36ccfd43a501564937f93c
53775af67e9df206ed3f9c0a3756dbbc4968a77b1df164e9baddb51e61ac82df
58d54e2454be3e4e9a8ea86a3f299a7a60529bc12d28394c5bdf8f858400ff7b
6d62210addb8268d0bd3e6ef0400d54c84e550ccad49f5867fdc51edc0c1db2c
282fa3476294e2b57aa9a8ab4bc1cc00f334197298e4afb2aae812b77e755207
a2feb262a667de704e5e08a8a705c69bbcc806e0d52f0f8e3f081a6aa6c8d7b4
85b4d29f2830a3be3a0f51fbe358bea1a35d2a8aaa6a24f5cc1f2e5d2769716e
4ef63fa536134ad296e83e37f9d323beb45087f7d306debdc3e096fed8357395
CastleRAT C Variant Samples (SHA256):
0fd7eb57f5f9d817dd497c1ce3be0791f5e798077f8dc2c3a4e2b2b0b0bdc2c6
5a741df3e4a61b8632f62109a65afc0f297f4ed03cd7e208ffd2ea5e2badf318
3dd877835c04fde3f2d14ce96f23a1c00002fefa9d731e8c4ce3b656aac90063
7e0d097412ca8c3acdbaaa7c1f79c42cda3a4e50b52c0a8b34d6c75cc764ce42
a67027c3dec4fc4a5a09c68950f494f631ee6aa42b85dd82d74c5b5399d08d19
66aac2857eee73b1f5f715214bb50a03c0dc052d4bb3e64d6b0b492f2c85f374
2fcb76dfdfcd390658bbc032faafef607804d5d4a2f1c0005f274ab2e06d8af4
a97ff41736299857a3cae7c1917456eef5e0fcc703d0a1e475d0b9cfe42452c7
7a682be245a2e51f473ee1c60d537e57423ab2c3d9ae990445cdb6e43aeb5c76
f2e36ccfeb225009ae229a2be905deff587c471b8d47690dc7f5111e1bc611af
ce6a7af556090b3ff762e27058be2327e6c5188d6ed54703d794089f577fd20c
39b40746de01af66c0e5ce5888df4c42e474adcdb4301275b1474423d7a0ff1f
9d356492e433e068c5e71f73638180e3f6a5d992e55ad496a8dafa5174e0a827
13a5c1a535c161fd2724423dad1dfa6885c705713569d4ed4f2ebf900df25ed7
b0b24ff78ab1c4322764bcb332254069504b168cb8aaca469bdf1d37f313d4d3
c2054617b8dcb619749c0402dc31eeb473386b3829f17176bc27b1447a8b6d92
60125159523c356d711ffa1076211359906e6283e25f75f4cf0f9dc8da6bf7b0
1ff6ee23b4cd9ac90ee569067b9e649c76dafac234761706724ae0c1943e4a75
d51f81ee026df39447143b67eaf16326c30e0c9477c0d50507f1fbfffe53abd6
e6bcdf375649a7cbf092fcab65a24d832d8725d833e422e28dfa634498b00928
67cf6d5332078ff021865d5fef6dc61e90b89bc411d8344754247ccd194ff65b
963c012d56c62093d105ab5044517fdcce4ab826f7782b3e377932da1df6896d
f2ff4cbcd6d015af20e4e858b0f216c077ec6d146d3b2e0cbe68b56b3db7a0be
SectopRAT Samples (SHA256):
ae78caabec6a4241c64357ca5ca05de2e181fe253963de528807bf051fc3608e
Af88dc52b37022583a6687214bb5e345b606c6a0a3f37cfe41576d89c3d8e65d
웜쿠키 샘플(SHA256):
e62684a48067d8bf5f219f007bb5908301ca3303b9c57a2f0c3212cf0eb8d7b7
페이스타인 URL:
https://pastebin[.]com/raw/2wW91Tby
부록 B: C2 서버
CastleLoader C2 서버
AS214943 -
버추얼라인 기술
(출처: Recorded Future)
CastleRAT C2 서버
AS395092 -
Shock Hosting LLC
AS198953 -
Proton66 LLC
AS215826 -
파트너 호스팅 LTD
AS395092 -
Shock Hosting LLC
AS396982 -
Google LLC
GerbertGerbertSS
AeSIekwmgdISa3sa
(파이썬)
KeyKeyKluchCCCCp(C 버전)
AS39378 -
servinga GmbH
AS212228 -
servinga GmbH
AS211659 -
Oniks LLC
(출처: Recorded Future)
SectopRAT C2 서버
미디어 랜드 LLC
SS-Net
AS57523
창 웨이 테크놀로지스 Co. Limited
그린 플로이드 LLC
리미티드 네트워크 LTD
미디어 랜드 LLC
(출처: Recorded Future)
웜쿠키 C2 서버
(출처: Recorded Future)
TAG-150 페이로드 C2 서버
AS14061 -
디지털 오션 LLC
(출처: Recorded Future)
부록 C: MITRE ATT&CK 기법
부록 D: YARA 규칙
캐슬 로더
rule MAL_CastleLoader {
meta:
author = "Insikt Group, Recorded Future"
date = "2025-08-06"
description = "CastleLoader 악성코드 실행 파일 탐지"
version = "1.0"
참조 = "https://www.ibm.com/think/x-force/dissecting-castlebot-maas-operation"
hash = "1b6befc65b19a63b4131ce5bcc6e8c0552fe1e1d136ab94bc7d81b3924056156"
hash = "202f6b6631ade2c41e4762e5877ce0063a3beabce0c3f8564b6499a1164c1e04"
hash = "25e0008aba82690e0f58c9d9fcfbc5d49820aa78d2f7bfcd0b85fb969180fc04"
hash = "b45cce4ede6ffb7b6f28f75a0cbb60e65592840d98dcb63155b9fa0324a88be2"
해시 = "fb9de7448e9e30f717c171f1d1c90ac72828803a16ad385757aeecc853479d3c"
해시 = "6444f0e3f78254aef663837562d258a2236a77f810ee8d832de7d83e0fdd5783"
malware = "CastleLoader"
malware_id = "8RF9P9"
category = "MALWARE"
문자열:
$vmware_check = { 3D 56 4D 77 61 75 ?? 81 7D F8 72 65 56 4D 0F 85 ?? ??? ?? ?? 81 7D F4 77 61 72 65 }
api_hashing = { 0F BE 0C 1E 8B C2 F6 C3 01 75 0F C1 E8 03 0F AF C1 8B CA C1 E1 07 33 C1 }
stack_str_url = { C7 ?.5 [1-4] 74 00 74 00 C7 ?.5 [1-4] 69 00 6E 00 C7 ?.5 [1-4] 67 00 73 00 }
mov_edx_apihash1 = { BA 44 A0 2D 39 } // CreateMutexW
$mov_edx_apihash2 = { BA 2B C2 86 58 } // GetLastError
$mov_edx_apihash3 = { BA 94 F9 86 F8 } // RtlAllocateHeap
$mov_edx_apihash4 = { BA B2 48 70 60 } // ExitProcess
조건:
uint16(0) == 0x5A4D 및 모두
}
캐슬랫 파이썬 변형
rule MAL_CastleRAT_Python {
meta:
author = "Insikt Group, Recorded Future"
date = "2025-08-18"
description = "CastleRAT 멀웨어의 파이썬 변종 탐지"
version = "1.0"
참조 = "https://www.ibm.com/think/x-force/dissecting-castlebot-maas-operation"
참조 = "https://catalyst.prodaft.com/public/report/understanding-current-castleloader-campaigns/overview"
hash = "94dc0f696a46f3c225b0aa741fbd3b8997a92126d66d7bc7c9dd8097af0de52a"
hash = "53775af67e9df206ed3f9c0a3756dbbc4968a77b1df164e9baddb51e61ac82df"
malware = "CastleRAT"
malware_id = "9WCga-"
카테고리 = "악성코드"
문자열:
cmd1 = "S_CONNECT" 전체 단어
$cmd2 = "S_COMMAND" 전체 단어
$cmd3 = "S_PING" 전체 단어
$cmd4 = "S_CMD" 전체 단어
$cmd5 = "S_DELETE" 전체 단어
$cmd6 = "S_POWERSHELL" 전체 단어 $cmd7 = "S_START_TERMINAL" fullword
$cmd8 = "S_SESSION_MESSAGE" fullword
$cmd9 = "S_UPLOAD" fullword
$fun1 = "CheckElevation():" fullword
$fun2 = "GetHWID("
$fun3 = "GetOS("
$fun4 = "GetIpGeo("
$fun5 = "rc4createkeyA("
fun6 = "EncryptDecryptBufA("
$fun7 = "RecvTimeout("
$fun8 = "Send("
$fun9 = "Connect(" $fun10 = "ThreadPing("
$fun11 = "ThreadRecvTerminal("
$fun12 = "ThreadTerminalSession("
$fun13 = "ThreadUploadFile("
$fun14 = "SelfDelete()" fullword
조건:
파일 크기 < 50KB 및
7의 ($cmd*) 및
10의 ($fun*)
}
캐슬랫 C 변형
rule MAL_CastleRAT_C {
meta:
author = "Insikt Group, Recorded Future"
date = "2025-08-18"
description = "Detection of the C variant of CastleRAT malware"
version = "1.0"
reference = "https://www.ibm.com/think/x-force/dissecting-castlebot-maas-operation"
reference = "https://catalyst.prodaft.com/public/report/understanding-current-castleloader-campaigns/overview"
hash = "1ff6ee23b4cd9ac90ee569067b9e649c76dafac234761706724ae0c1943e4a75"
hash = "e6bcdf375649a7cbf092fcab65a24d832d8725d833e422e28dfa634498b00928"
hash = "67cf6d5332078ff021865d5fef6dc61e90b89bc411d8344754247ccd194ff65b"
hash = "963c012d56c62093d105ab5044517fdcce4ab826f7782b3e377932da1df6896d"
hash = "60125159523c356d711ffa1076211359906e6283e25f75f4cf0f9dc8da6bf7b0"
malware = "CastleRAT"
malware_id = "9WCga-"
category = "MALWARE"
strings:
$ = "keylog.txt" fullword wide
$ = "(VPN)" wide ascii
$ = "rundll32 \"C:\\Windows\\System32\\shell32.dll\" #61" wide
$ = "\"%ws\" --mute-audio --do-not-de-elevate" fullword wide
$ = "\"%ws\" -no-deelevate" fullword wide
$ = "IsWindowVisible" fullword ascii
$ = "camera!" fullword wide
$ = "UAC_InputIndicatorOverlayWnd" fullword wide
$ = "-----------------------------------------" fullword wide
$ = "[%02d:%02d %02d.%02d.%02d] %ws" fullword wide
$ = "C:\\Windows\\System32\\cmd.exe" fullword wide
$ = "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe" fullword wide
$ = "www.ip-api.com" fullword wide
$ = "MachineGuid" fullword wide
$ = "line/?fields=" wide
condition:
uint16(0) == 0x5a4d and all of them
}
부록 E: 시그마 규칙
title: 캐슬랫 파이썬 악성코드 자가 삭제
아이디: 1050A0C4-1110-4B55-938C-0D27259DDD1E
상태: 안정적
설명: 스스로 삭제하기 위해 Python 변종 CastleRAT 악성 코드에 의한 파워쉘 실행을 탐지합니다.
참조:
- https://tria.ge/250822-r3a6qaak2t
저자: Insikt Group, Recorded Future
날짜: 2025-08-28
태그:
- attack.t1070.004 # 표시기 제거: 파일 삭제
로그 소스:
제품: 윈도우
카테고리: 프로세스_생성
탐지:
self_delete:
CommandLine|endswith: 'powershell Start-Sleep -Seconds 4; Remove-Item -Path '*' -Force; exit'
condition: self_delete
level: high
falsepositives:
- 잠재적인 양성 설치 프로그램 활동
title: CastleRAT C 변종 악성코드 로그 파일 생성
id: 4D785AC8-17FE-4765-B427-9A31073AD1A7
상태: 안정적
설명: CastleRAT C 변종 악성코드 로그 파일 생성 이벤트를 탐지합니다. 로그 파일은 키로거와 클립보드 스틸러의 출력을 저장하는 데 사용됩니다.
참조:
- https://tria.ge/250701-v6911aykv9
저자 Insikt Group, Recorded Future
날짜: 2025-08-29
수준: 높음
태그:
- attack.t1608 # 스테이지 기능
- attack.t1074.001 # 데이터 스테이지 - 로컬 데이터 스테이지
- attack.t1115 # 클립보드 데이터
- attack.t1056.001 # 키로깅
로그소스:
제품: 윈도우
카테고리: 파일 이벤트
탐지:
castlerat_logs:
대상 파일 이름|끝:
- '\AppData\Local\Temp\뮤우우거3'
- '\AppData\Local\Temp\PluhhSuk3'
- '\AppData\Local\Temp\AsdDsaHaha3'
- '\AppData\Local\Temp\ChuChuka'
- '\AppData\Local\Temp\GagikMaraguiSS'
- '\AppData\Local\Temp\MuuuuGer' '\AppData\Local\Temp\LowUshrSudujes'
- '\AppData\Local\Temp\RarnuiKarta'
- '\AppData\Local\Temp\GrazGraznii'
- '\AppData\Local\Temp\GiveGvein3'
- '\AppData\Local\Temp\BeruiowdgsouiHTR' - '\AppData\Local\Temp\GDSongdsgndohSDU'
조건: castlerat_logs
falsepositives:
- 가능성이 낮음
부록 F: 코골이 규칙
alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"CastleLoader Malware Outbound Checkin"; flow:established,to_server; content:"GET"; http_method; urilen:82,norm; content:"|2F|service|2F|settings|2F|"; http_uri; fast_pattern; content:"Cache-Control|3A 20|no-cache|0D 0A|Connection|3A 20|Keep-Alive|0D 0A|Pragma|3A 20|no-cache|0D 0A|User-Agent|3A 20|"; http_header; depth:79; content:"Host|3A 20|"; http_header; distance:0; content:!"Accept"; http_header; pcre:"/User\x2dAgent[^\x0d]+\x0d\x0aHost\x3a\x20[^\x0d]+\x0d\x0a\x0d\x0a/"; reference:url,https://catalyst.prodaft.com/public/report/understanding-current-castleloader-campaigns/overview; classtype:trojan-activity; sid:52460302; rev:1; metadata:author MGUT, created_at 2025-07-24, mitre_tactic_id TA0011, mitre_tactic_name Command-And-Control;)
alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"CastleLoader Malware Outbound Payload Request"; flow:established,to_server; content:"GET"; http_method; content:"|2F|service|2F|download|2F|"; http_uri; fast_pattern; content:"Cache-Control|3A 20|no-cache|0D 0A|Connection|3A 20|Keep-Alive|0D 0A|Pragma|3A 20|no-cache|0D 0A|User-Agent|3A 20|"; http_header; depth:79; content:"Host|3A 20|"; http_header; distance:0; content:!"Accept"; http_header; pcre:"/User\x2dAgent[^\x0d]+\x0d\x0aHost\x3a\x20[^\x0d]+\x0d\x0a\x0d\x0a/"; reference:url,https://catalyst.prodaft.com/public/report/understanding-current-castleloader-campaigns/overview; classtype:trojan-activity; sid:52460303; rev:1; metadata:author MGUT, created_at 2025-07-24, mitre_tactic_id TA0011, mitre_tactic_name Command-And-Control;)
alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"CastleLoader Malware Stager Outbound Payload Request"; flow:established,to_server; content:"GET"; http_method; content:"|2F|service|2F|download|2F|"; http_uri; depth:18; fast_pattern; content:".bin"; http_uri; content:"User-Agent|3A 20|GoogeBot|0D 0A|"; http_header; reference:url,https://catalyst.prodaft.com/public/report/understanding-current-castleloader-campaigns/overview; classtype:trojan-activity; sid:52460304; rev:1; metadata:author MGUT, created_at 2025-08-12, mitre_tactic_id TA0011, mitre_tactic_name Command-And-Control;)
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"가능한 캐슬랫 파이썬 멀웨어가 IP 지리적 위치 서비스로 아웃바운드 요청 ip-api"; flow:established,to_server; content:"GET"; http_method; urilen:19,norm; content:"|2F|line|2F 3F|fields|3D|16385"; http_uri; depth:19; fast_pattern; content:"Connection|3A 20|Keep-Alive|0D 0A|Host|3A 20|www.ip-api.com|0D 0A 0D 0A|"; http_raw_header; depth:48; reference:url,https://tria.ge/250808-w4hpeaxtcw; classtype:trojan-activity; sid:52460315; rev:1; metadata:author MGUT, created_at 2025-08-24, mitre_tactic_id TA0011, mitre_tactic_name Command-And-Control;)
alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"IP 지리적 위치 서비스에 대한 가능한 CastleRAT C 변종 악성코드 아웃바운드 요청 ip-api"; flow:established,to_server; content:"GET"; http_method; urilen:20,norm; content:"|2F|line|2F 3F|fields|3D|147457"; http_uri; depth:20; fast_pattern; content:"Connection|3A 20|Keep-Alive|0D 0A|Host|3A 20|www.ip-api.com|0D 0A 0D 0A|"; http_header; depth:48; reference:url,https://tria.ge/250822-vwt7ssxly9; classtype:trojan-activity; sid:52460316; rev:1; metadata:author MGUT, created_at 2025-08-24, mitre_tactic_id TA0011, mitre_tactic_name Command-And-Control;)
alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"IP 지리적 위치 서비스에 대한 가능한 CastleRAT C 변종 악성코드 아웃바운드 요청 ip-api"; flow:established,to_server; content:"GET"; http_method; urilen:20,norm; content:"|2F|line|2F 3F|fields|3D|147505"; http_uri; depth:20; fast_pattern; content:"Connection|3A 20|Keep-Alive|0D 0A|Host|3A 20|www.ip-api.com|0D 0A 0D 0A|"; http_header; depth:48; reference:url,https://tria.ge/250814-wyqstsyjx3; 클래스타입:트로이목마-활동; 시드:52460317; 개정:1; 메타데이터:작성자 MGUT, 생성일 2025-08-24, 미트리택틱_아이디 TA0011, 미트리택틱_이름 Command-And-Control;)
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CastleRAT Malware Outbound Handshake"; flow:established,to_server; dsize:20; stream_size:server,=,1; content:"|02 56 77 8E A5 83 D7 05 02 C2 1E D9 70 5A 47 E5 11 92 B5 5A|"; fast_pattern; depth:20; reference:url,https://tria.ge/250808-w4hpeaxtcw; classtype:trojan-activity; sid:52460307; rev:1; metadata:author MGUT, created_at 2025-08-18, mitre_tactic_id TA0011, mitre_tactic_name Command-And-Control;)
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CastleRAT Malware Outbound Handshake"; flow:established,to_server; dsize:20; stream_size:server,=,1; content:"|BF CF 04 82 45 DF 4F 09 55 5E 0B 15 9F E2 91 A0 68 51 1E 87|"; fast_pattern; depth:20; reference:url,https://tria.ge/250814-wyqstsyjx3; classtype:trojan-activity; sid:52460308; rev:1; metadata:author MGUT, created_at 2025-08-18, mitre_tactic_id TA0011, mitre_tactic_name Command-And-Control;)
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CastleRAT Malware Outbound Handshake"; flow:established,to_server; dsize:20; stream_size:server,=,1; content:"|6B 13 5C 08 BD 49 59 75 79 62 4E EA 2F DE 57 F4 6E 08 8B 6B|"; fast_pattern; depth:20; reference:url,https://tria.ge/250219-nsbsqazpep; classtype:trojan-activity; sid:52460309; rev:1; metadata:author MGUT, created_at 2025-08-18, mitre_tactic_id TA0011, mitre_tactic_name Command-And-Control;)
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CastleRAT Malware Outbound Handshake"; flow:established,to_server; dsize:20; stream_size:server,=,1; content:"|56 EA 59 DB 6B DD 36 81 42 01 C6 84 DF 5A 6B E8 38 14 8D 07|"; fast_pattern; depth:20; reference:url,https://tria.ge/250505-wmbvjabk3t; classtype:trojan-activity; sid:52460310; rev:1; metadata:author MGUT, created_at 2025-08-18, mitre_tactic_id TA0011, mitre_tactic_name Command-And-Control;)
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CastleRAT Malware Outbound Handshake"; flow:established,to_server; dsize:20; stream_size:server,=,1; content:"|A8 CF 1E 1D BA 27 49 FB 63 38 F4 52 A7 9C 39 CF 4A 85 E5 5B|"; fast_pattern; depth:20; reference:url,https://tria.ge/250822-vwt7ssxly9; classtype:trojan-activity; sid:52460311; rev:1; metadata:author MGUT, created_at 2025-08-22, mitre_tactic_id TA0011, mitre_tactic_name Command-And-Control;)
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CastleRAT Malware Outbound Handshake"; flow:established,to_server; dsize:20; stream_size:server,=,1; content:"|0F 0D F7 66 4C B2 D5 12 BA 55 CC BB 2E 1B F4 AD C0 E0 7C A2|"; fast_pattern; depth:20; reference:url,https://tria.ge/250822-rt355svtfs; classtype:trojan-activity; sid:52460312; rev:1; metadata:author MGUT, created_at 2025-08-22, mitre_tactic_id TA0011, mitre_tactic_name Command-And-Control;)
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CastleRAT Malware Outbound Handshake"; flow:established,to_server; dsize:20; stream_size:server,=,1; content:"|74 6F D9 7F B5 48 F6 91 26 E0 16 5A 81 29 4F 35 21 6C 61 82|"; fast_pattern; depth:20; reference:url,https://tria.ge/250813-a7c3fadl7z; classtype:trojan-activity; sid:52460313; rev:1; metadata:author MGUT, created_at 2025-08-22, mitre_tactic_id TA0011, mitre_tactic_name Command-And-Control;)
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"CastleRAT Malware Outbound Handshake"; flow:established,to_server; dsize:20; stream_size:server,=,1; content:"|61 57 7C E8 EE BE 56 71 B3 98 F4 A6 87 E3 0C 39 50 0C 29 41|"; fast_pattern; depth:20; reference:url,https://tria.ge/250822-vwt7ssxly9; classtype:trojan-activity; sid:52460314; rev:1; metadata:author MGUT, created_at 2025-08-22, mitre_tactic_id TA0011, mitre_tactic_name Command-And-Control;)
alert tcp $HOME_NET any -> $EXTERNAL_NET any (msg:"Possible CastleRAT Python Malware Outbound Request To IP Geo Location Service ip-api"; flow:established,to_server; content:"GET"; http_method; urilen:19,norm; content:"|2F|line|2F 3F|fields|3D|16385"; http_uri; depth:19; fast_pattern; content:"Connection|3A 20|Keep-Alive|0D 0A|Host|3A 20|www.ip-api.com|0D 0A 0D 0A|"; http_raw_header; depth:48; reference:url,https://tria.ge/250808-w4hpeaxtcw; classtype:trojan-activity; sid:52460315; rev:1; metadata:author MGUT, created_at 2025-08-24, mitre_tactic_id TA0011, mitre_tactic_name Command-And-Control;)
alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"Possible CastleRAT C Variant Malware Outbound Request To IP Geo Location Service ip-api"; flow:established,to_server; content:"GET"; http_method; urilen:20,norm; content:"|2F|line|2F 3F|fields|3D|147457"; http_uri; depth:20; fast_pattern; content:"Connection|3A 20|Keep-Alive|0D 0A|Host|3A 20|www.ip-api.com|0D 0A 0D 0A|"; http_header; depth:48; reference:url,https://tria.ge/250822-vwt7ssxly9; classtype:trojan-activity; sid:52460316; rev:1; metadata:author MGUT, created_at 2025-08-24, mitre_tactic_id TA0011, mitre_tactic_name Command-And-Control;)
alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"Possible CastleRAT C Variant Malware Outbound Request To IP Geo Location Service ip-api"; flow:established,to_server; content:"GET"; http_method; urilen:20,norm; content:"|2F|line|2F 3F|fields|3D|147505"; http_uri; depth:20; fast_pattern; content:"Connection|3A 20|Keep-Alive|0D 0A|Host|3A 20|www.ip-api.com|0D 0A 0D 0A|"; http_header; depth:48; reference:url,https://tria.ge/250814-wyqstsyjx3; classtype:trojan-activity; sid:52460317; rev:1; metadata:author MGUT, created_at 2025-08-24, mitre_tactic_id TA0011, mitre_tactic_name Command-And-Control;)