네트워크에 숨겨진 데스크탑을 제공하는 가짜 Slack 다운로드 발각
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
타이포스쿼팅 도메인을 통해 위장된 Slack 설치 프로그램이 배포되어 의심하지 않는 사용자들을 속이고 있습니다. 실행되면, 이를 통해 합법적인 Slack 애플리케이션을 설치하는 동시에 명령 및 제어 서버에 연결하는 은밀한 로더도 설치되어 암호화된 HVNC 페이로드를 가져와 주입합니다. explorer.exe. 그 후 이 악성 소프트웨어는 감염된 기기에서 사용자가 눈치채지 못하도록 공격자가 브라우징하고 상호 작용하며 작업을 수행할 수 있는 보이지 않는 데스크톱 세션을 생성합니다. 이러한 접근 방식은 Slack 브랜드가 개인과 기업 사용자 모두에게 신뢰받고 있는 환경에서 특히 위험합니다.
조사
연구자들은 설치 프로그램을 해제하여 두 개의 임시 파일을 발견했습니다: slack.tmp에는 합법적인 스퀴럴 업데이트 패키지가 포함되어 있었고, svc.tmp는 악성 로더로 사용되었습니다. 분석 결과 로더가 Run 레지스트리 키를 통해 지속성을 설정했으며, Windows API를 실행 중에 동적으로 해결하고, 암호화된 DLL을 다운로드하여 wmiprvse_*.tmp으로 저장하고 섹션 기반 인젝션으로 이를 로드하는 것을 보여주었습니다. 조사자들은 또한 TCP 포트 8081을 통한 명령 제어 서버와의 외부 통신을 관찰했습니다. 디버거 감지 및 샌드박스 타이밍 검사를 포함한 추가적인 반분석 논리도 존재했습니다. explorer.exe. Investigators also observed outbound communication with a command-and-control server over TCP port 8081. Additional anti-analysis logic was present, including debugger detection and sandbox timing checks.
대응책
사용자는 공식 slack.com 웹사이트나 신뢰할 수 있는 저장 링크에서만 Slack을 다운로드하고 설치 프로그램 실행 전에 디지털 서명을 확인해야 합니다. 조직은 알려진 악성 도메인 및 의심스러운 실행 파일 차단이 가능한 실시간 보호 기능을 활성화해야 합니다. 방어자들은 또한 포트 8081을 통한 예상치 못한 외부 트래픽, 낯선 Run 레지스트리 항목, 신뢰할 수 있는 애플리케이션과 관련된 비정상적인 자식 프로세스를 모니터링해야 합니다. 행동 기반 탐지 기능은 공격자가 완전한 상호 작용 권한을 얻기 전에 숨겨진 데스크톱 세션 및 HVNC 관련 활동을 식별하는 데 도움이 될 수 있습니다.
응답
이 활동이 감지되면 즉시 네트워크에서 영향을 받는 엔드포인트를 격리하고 악성 로더 및 HVNC 관련 프로세스를 종료하며 Run 레지스트리 키에서 지속성 메커니즘을 제거해야 합니다. 전체 악성 소프트웨어 검사를 수행하고 환경 전반에 걸쳐 관련된 모든 악성 도메인과 IP 주소를 차단해야 합니다. 감염된 기기에서 사용된 모든 자격증명은 안전한 기기에서 재설정해야 하며, 보안 팀은 추가 조사와 범위 설정에 필요한 포렌식 아티팩트를 수집해야 합니다.
graph TB classDef technique fill:#ffcc99 classDef artifact fill:#c2f0c2 classDef process fill:#f9d5e5 classDef tool fill:#d9d9d9 classDef malware fill:#ffd699 site_typosquat[“<b>아티팩트</b> – 타이포스쿼팅 사이트<br/>URL: slacks.pro 또는 debtclean-ua.sbs”] class site_typosquat artifact download_exe[“<b>아티팩트</b> – slacku20114u201149u201181.exe<br/>타이포스쿼팅 사이트에서 제공된 악성 실행 파일”] class download_exe artifact run_registry[“<b>아티팩트</b> – 레지스트리 Run 키<br/>HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\com.squirrel.slack.slack”] class run_registry artifact hvnc_dll[“<b>아티팩트</b> – 사용자 정의 PE 섹션에 저장된 암호화 HVNC DLL”] class hvnc_dll artifact c2_server[“<b>아티팩트</b> – C2 서버<br/>WinHTTP를 통해 포트 8081 사용”] class c2_server artifact explorer_proc[“<b>프로세스</b> – explorer.exe (Windows 셸)”] class explorer_proc process loader[“<b>악성코드</b> – 복호화, C2 통신, 인젝션을 수행하는 로더”] class loader malware mavinject[“<b>도구</b> – Mavinject (시스템 바이너리 프록시 실행)”] class mavinject tool initial_access[“<b>기술</b> – <b>T1204.001 사용자 실행: 악성 링크</b><br/><b>설명</b>: 사용자가 악성 사이트로 연결되는 링크를 클릭하여 자동으로 악성코드 다운로드”] class initial_access technique execution_file[“<b>기술</b> – <b>T1204.002 사용자 실행: 악성 파일</b><br/><b>설명</b>: 다운로드된 파일을 실행”] class execution_file technique persistence_active_setup[“<b>기술</b> – <b>T1547.014 부팅/로그온 자동 실행: Active Setup</b><br/><b>설명</b>: 레지스트리 Run 키를 생성하여 지속성 확보”] class persistence_active_setup technique obfuscation[“<b>기술</b> – <b>T1027 난독화된 파일 또는 정보</b><br/><b>설명</b>: 페이로드 암호화, 패딩, PE 섹션, 런타임 API 해석 사용”] class obfuscation technique embedded_payload[“<b>서브기술</b> – <b>T1027.009 내장 페이로드</b>”] class embedded_payload technique binary_padding[“<b>서브기술</b> – <b>T1027.001 바이너리 패딩</b>”] class binary_padding technique compile_after_delivery[“<b>서브기술</b> – <b>T1027.004 전달 후 컴파일</b>”] class compile_after_delivery technique stripped_payload[“<b>서브기술</b> – <b>T1027.008 제거된 페이로드</b>”] class stripped_payload technique c2_communication[“<b>기술</b> – <b>T1071.001 웹 프로토콜 (WinHTTP)</b><br/><b>설명</b>: TCP 8081을 통해 C2 통신”] class c2_communication technique reflective_loading[“<b>기술</b> – <b>T1620 리플렉티브 코드 로딩</b><br/><b>설명</b>: HVNC DLL을 메모리에서 복호화 후 로드”] class reflective_loading technique process_injection[“<b>기술</b> – <b>T1055.002 PE 인젝션</b><br/><b>설명</b>: explorer.exe에 DLL 인젝션”] class process_injection technique system_binary_proxy[“<b>기술</b> – <b>T1218.013 시스템 바이너리 프록시 실행: Mavinject</b><br/><b>설명</b>: Mavinject를 사용하여 DLL 인젝션”] class system_binary_proxy technique site_typosquat –>|악성 페이지 호스팅| initial_access initial_access –>|다운로드 유도| download_exe download_exe –>|사용자 실행| execution_file execution_file –>|지속성 확보| persistence_active_setup persistence_active_setup –>|생성| run_registry run_registry –>|로드| loader loader –>|적용| obfuscation obfuscation –>|사용| embedded_payload obfuscation –>|사용| binary_padding obfuscation –>|사용| compile_after_delivery obfuscation –>|사용| stripped_payload loader –>|C2 연결| c2_server c2_server –>|활성화| c2_communication loader –>|복호화 및 로드| hvnc_dll hvnc_dll –>|리플렉티브 로딩| reflective_loading reflective_loading –>|인젝션| explorer_proc explorer_proc –>|대상| process_injection process_injection –>|사용| mavinject mavinject –>|실행| system_binary_proxy
공격 흐름
탐지
대체 데이터 스트림(ADS)이 생성되었을 수 있음 (파일 이벤트 기반)
보기
지속성 포인트 가능성 [ASEPs – 소프트웨어/NTUSER 하이브] (레지스트리 이벤트 기반)
보기
탐지할 IOCs (HashSha256): 가짜 Slack 다운로드가 공격자에게 기기에서 숨겨진 데스크톱을 제공
보기
탐지할 IOCs (SourceIP): 가짜 Slack 다운로드가 공격자에게 기기에서 숨겨진 데스크톱을 제공
보기
탐지할 IOCs (DestinationIP): 가짜 Slack 다운로드가 공격자에게 기기에서 숨겨진 데스크톱을 제공
보기
Explorer.exe에 섹션 기반 인젝션 탐지 [Windows Sysmon 기반]
보기
가짜 Slack 설치 프로그램이 숨겨진 데스크톱 세션 생성 [Windows 프로세스 생성]
보기
시뮬레이션 실행
사전 요구 사항: telemetry 및 베이스라인 사전 비행 체크를 통과했어야 함.
근거: 이 섹션은 탐지 규칙 실행을 위한 적의 기술(TTP)의 정확한 실행을 자세히 설명합니다. 명령어와 서사는 식별된 TTP를 직접 반영하고 탐지 로직이 예상하는 정확한 텔레메트리를 생성해야 합니다.
-
공격 내러티브 및 명령:
- 초기 접근 – 공격자가 트로이화된 설치 프로그램 명명
slack-4-49-81.exe를 피싱 이메일을 통해 전달. - 실행 – 피해자가 파일을 실행하면 숨겨진 로더를 추출합니다
svc.tmpto%TEMP%. - 숨겨진 데스크톱 생성 (T1564.003) –
svc.tmp호출CreateProcess과 함께SW_HIDE를 숨겨진 데스크톱 세션을 생성하여 원격 접속 도구를 호스팅. - 지속성 (T1547.013 & T1546.016) – 로더가 시작 폴더에 배치된 바로 가기를 통해 자동 시작되는 COM 서버를 등록하여 재부팅 시 실행을 보장.
- 잠재적 루트킷 설치 (T1014) – 권한이 상승되면,
svc.tmp루트킷 드라이버를 드롭%SystemRoot%System32driversmaldrv.sys.
- 초기 접근 – 공격자가 트로이화된 설치 프로그램 명명
-
회귀 테스트 스크립트: 스크립트는 안전한 이진 파일 (사본
notepad.exe)를 사용하여 2–4단계를 재현하며, 규칙이 감시하는 정확한 파일명을 유지합니다.# ------------------------------------------------- # 회귀 테스트 – 가짜 Slack 설치자 시뮬레이션 # ------------------------------------------------- # 1. 가짜 이진 파일 준비 (무해한 notepad.exe 사용) $temp = $env:TEMP $installer = Join-Path $temp "slack-4-49-81.exe" $loader = Join-Path $temp "svc.tmp" Copy-Item -Path "$env:SystemRootSystem32notepad.exe" -Destination $installer -Force Copy-Item -Path "$env:SystemRootSystem32notepad.exe" -Destination $loader -Force # 2. 설치자를 실행 – 이로 인해 탐지 규칙이 발동됨 Write-Host "[*] 가짜 설치자 실행 중 ..." Start-Process -FilePath $installer -WindowStyle Hidden -PassThru | Out-Null # 3. 숨겨진 데스크톱 생성 시뮬레이션 (로더) Write-Host "[*] 숨겨진 로더 시작 중 ..." Start-Process -FilePath $loader -WindowStyle Hidden -PassThru | Out-Null # 4. 지속성을 에뮬레이트하기 위해 시작 폴더에 바로 가기 생성 $startup = "$env:APPDATAMicrosoftWindowsStart MenuProgramsStartup" $shortcutPath = Join-Path $startup "Slack Hidden.lnk" $shell = New-Object -ComObject WScript.Shell $shortcut = $shell.CreateShortcut($shortcutPath) $shortcut.TargetPath = $loader $shortcut.WindowStyle = 7 # 숨김 $shortcut.Save() Write-Host "[+] 시뮬레이션 완료. 'slack-4-49-81.exe' 또는 'svc.tmp'로 끝나는 이미지와 관련된 이벤트를 SIEM에서 확인하십시오." -
정리 명령: 테스트 아티팩트와 생성된 모든 바로 가기를 제거하십시오.
# 정리 스크립트 – 사용자 컨텍스트 동일하게 실행 $temp = $env:TEMP Remove-Item -Path (Join-Path $temp "slack-4-49-81.exe") -ErrorAction SilentlyContinue Remove-Item -Path (Join-Path $temp "svc.tmp") -ErrorAction SilentlyContinue $shortcutPath = "$env:APPDATAMicrosoftWindowsStart MenuProgramsStartupSlack Hidden.lnk" Remove-Item -Path $shortcutPath -ErrorAction SilentlyContinue Write-Host "[+] 정리 완료."