SOC Prime Bias: 높음

17 Jun 2026 13:03 UTC

작전 포이송: 전체 사이버 범죄 작전을 분석

Author Photo
SOC Prime Team linkedin icon 팔로우
작전 포이송: 전체 사이버 범죄 작전을 분석
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

개요

“Poisson”으로 알려진 저숙련 위협 행위자가 프랑스 개인과 중소기업을 대상으로 여러 단계의 자격 증명 탈취 캠페인을 수행했습니다. 공격자는 Havoc C2, 사용자 정의 Python 키로거를 사용했으며 OpenSSH와 Tailscale VPN 메쉬를 통해 지속 가능한 접근 권한을 구축했습니다. 이 설정을 통해 운영자는 주요 명령 및 제어 인프라가 중단된 후에도 접근 권한을 유지할 수 있었습니다.

조사

Cato CTRL은 공격자 활동 33일과 기록된 명령 339건을 포함하는 심층 사건 후 검토를 수행했습니다. 조사는 Backblaze B2, DuckDNS, IONOS와 같은 무료 서비스 사용과 C2 제거 후에도 생존하기 위한 지속성 설계를 밝혀냈습니다. 연구원들은 또한 공용 저장 버킷에서 실수로 노출된 운영자의 SSH 실행 계통서 및 피해자 SSH 키를 복구했습니다.

완화

방어자는 워크스테이션에서 OpenSSH 서버 배치에 대한 경보를 생성하고 예상치 못한 시스템에서 Tailscale VPN 활동을 모니터링해야 합니다. 조직은 또한 SSH 역터널을 탐지하고 권한이 상승된 상태로 실행되는 의심스러운 예약 작업을 추적해야 합니다. 효과적인 복구는 C2 접근 제거를 넘어 메쉬 VPN 기반의 지속성 메커니즘 제거를 포함해야 합니다.

대응

이 활동이 식별되면 보안 팀은 즉시 활동 중인 Tailscale 또는 SSH 메쉬 연결을 찾아 해체해야 합니다. 조사관은 모든 예약 작업과 시작 바로가기를 검토하여 승인되지 않은 지속성을 확인해야 합니다. 키로거 사용으로 자격 증명 손상의 가능성이 높기 때문에 모든 사용자에 대한 전체 자격 증명 재설정이 권장됩니다.

graph TB %% 클래스 정의 classDef action fill:#99ccff classDef tool fill:#cccccc classDef malware fill:#ff9999 classDef persistence fill:#99ff99 classDef command_control fill:#ffcc99 %% 초기 실행 및 페이로드 전달 action_stager_exec[“<b>행위</b> – <b>T1216.002 PowerShell: 명령 및 스크립트 인터프리터</b><br/>사용자가 VBScript 스테이저 sys.vbs를 실행하여<br/>시스템 스크립트 프록시 실행을 시작한다.<br/><b>파일</b>: sys.vbs”] class action_stager_exec action malware_powershell_payload[“<b>악성코드</b> – <b>T1216.002 PowerShell</b><br/>복호화된 PowerShell 페이로드를 사용하여<br/>주요 악성코드를 다운로드한다.<br/><b>유형</b>: 스테이저/다운로더”] class malware_powershell_payload malware action_download_primary[“<b>행위</b> – <b>T1105 인그레스 툴 전송</b><br/>PowerShell을 통해 주요 악성 임플란트를 다운로드한다.”] class action_download_primary action %% 난독화 및 로딩 malware_senti_dll[“<b>악성코드</b> – <b>이름</b>: senti.dll<br/><b>기술</b>: T1027.009 임베디드 페이로드 및 T1027.015 압축<br/>5단계 마트료시카 인코딩을 사용하여<br/>.NET DLL 내부의 영어 단어에 셸코드를 숨긴다.<br/><b>목표</b>: 파일리스 실행”] class malware_senti_dll malware %% 권한 상승 및 지속성 action_uac_bypass[“<b>행위</b> – <b>T1204 사용자 실행</b><br/>Start-Process -Verb RunAs를 사용하여<br/>UAC 프롬프트를 유도하고 권한 상승을 시도한다.”] class action_uac_bypass action persist_task_admin[“<b>지속성</b> – <b>T1053 예약 작업/작업 스케줄러</b><br/>로그온 시 최고 권한으로 스테이저를 실행하기 위해<br/>TaskAdmin1 작업을 생성한다.”] class persist_task_admin persistence persist_startup_lnk[“<b>지속성</b> – <b>T1547.001 부팅 또는 로그온 자동 실행: 레지스트리 Run 키 / 시작 폴더</b><br/>시작 폴더에 sys.lnk 바로가기를 배치한다.”] class persist_startup_lnk persistence %% 자격 증명 탈취 tool_keylogger[“<b>도구</b> – <b>이름</b>: KeyL.zip<br/><b>기술</b>: T1056.001 입력 캡처: 키로깅<br/>은행 및 이메일 자격 증명을 수집하는<br/>70줄 규모의 사용자 정의 Python 키로거.”] class tool_keylogger tool %% 명령 및 제어 c2_havoc[“<b>명령 및 제어</b> – <b>이름</b>: Havoc Framework<br/>주요 C2 관리 프레임워크.”] class c2_havoc command_control tool_rustdesk[“<b>도구</b> – <b>T1219 원격 접근 소프트웨어</b><br/>중복 원격 접근을 위해 사용자 정의 컴파일된<br/>RustDesk를 설치한다.”] class tool_rustdesk tool %% 복원력 있는 지속성 persist_ssh_tailscale[“<b>지속성</b> – <b>T1668 독점 제어</b><br/>OpenSSH Server를 설치하고 Tailscale VPN 메시 네트워크에 연결하여<br/>C2 차단 이후에도 접근을 유지한다.”] class persist_ssh_tailscale persistence action_ssh_tunnel[“<b>행위</b> – <b>T1219.001 IDE 터널링 및 T1572 프로토콜 터널링</b><br/>SSH 리버스 터널 ssh -R을 사용하여<br/>암호화된 직접 접근을 유지한다.”] class action_ssh_tunnel action %% 연결 흐름 action_stager_exec –>|실행| malware_powershell_payload malware_powershell_payload –>|다운로드| action_download_primary action_download_primary –>|로드| malware_senti_dll malware_senti_dll –>|트리거| action_uac_bypass action_uac_bypass –>|설정| persist_task_admin action_uac_bypass –>|설정| persist_startup_lnk malware_senti_dll –>|배포| tool_keylogger malware_senti_dll –>|통신| c2_havoc c2_havoc –>|중복_배포| tool_rustdesk tool_rustdesk –>|연결| persist_ssh_tailscale persist_ssh_tailscale –>|사용| action_ssh_tunnel

공격 흐름

시뮬레이션 실행

전제 조건: Telemetry & Baseline Pre-flight Check가 통과해야 합니다.

결론: 이 섹션은 탐지 규칙을 유발하도록 설계된 적 공격 기술(TTP)의 정확한 실행을 설명합니다. 명령과 서술은 식별된 TTP를 직접 반영하고 탐지 논리에서 예상되는 정확한 텔레메트리를 생성해야 합니다. 추상적이거나 관련 없는 예시는 오진을 유발할 수 있습니다.

  • 공격 내러티브 및 명령: “Poisson” 그룹을 시뮬레이션하는 적은 원격 접근 발판을 구축하려고 합니다. 첫째, 그들은 이름이 thales.zip 인 페이로드를 임시 디렉토리에 만듭니다. 권한을 상승시키기 위해 PowerShell 명령을 사용하여 RunAs 동사를 사용하여 UAC 프롬프트를 트리거하는 일반적인 방법을 사용합니다. 마지막으로 rustdesk.exe 를 실행하여 2차 원격 데스크톱 통신 채널을 제공합니다. 이 일련의 행동은 탐지 규칙에 정의된 특정 행동 패턴(UAC 상승 + RustDesk + 특정 zip 파일)을 모방합니다.

  • 회귀 테스트 스크립트:

    # 시뮬레이션 스크립트: Poisson TTP 에뮬레이션
    
    # 1. 'thales.zip' 파일을 준비 (탐지 논리에 필요)
    $targetZip = "$env:TEMPthales.zip"
    New-Item -Path $targetZip -ItemType File -Force
    Write-Host "[+] Staged $targetZip"
    
    # 2. PowerShell을 통한 UAC 상승 시도 시뮬레이션 (탐지 논리에 필요)
    # 주의: 실제 환경에서는 UAC 프롬프트가 표시됩니다.
    Write-Host "[+] Start-Process -Verb RunAs를 통해 UAC 상승 시도 중..."
    Start-Process powershell.exe -ArgumentList "-Command Write-Host 'Elevation Attempted'" -Verb RunAs
    
    # 3. RustDesk 실행 시뮬레이션 (탐지 논리에 필요)
    # 실제 설치 없이 탐지를 위해 임시 폴더에 더미 rustdesk.exe를 생성합니다.
    $rustdeskPath = "$env:TEMPrustdesk.exe"
    New-Item -Path $rustdeskPath -ItemType File -Force
    Write-Host "[+] Executing simulated RustDesk at $rustdeskPath"
    Start-Process $rustdeskPath
  • 청소 명령:

    # 시뮬레이션 아티팩트 정리
    Remove-Item -Path "$env:TEMPthales.zip" -Force -ErrorAction SilentlyContinue
    Remove-Item -Path "$env:TEMPrustdesk.exe" -Force -ErrorAction SilentlyContinue
    Write-Host "[+] Clean up complete."