가짜 설치 프로그램 체인, ValleyRAT 감염으로 끝나다
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
트로이 목마화된 설치 관리자는 LINE 메신저 설정으로 위장하여 ValleyRAT 페이로드를 전달하는 것이 관찰되었습니다. NSIS 로 제작되고 의심스러운 인증서로 서명된 이 드롭퍼는 코드 인젝션, 지속성 and 을 지원하는 여러 DLL과 INI 구성 요소를 심습니다. 이후 이 악성코드는 추가 악성 이진 파일을 가져오기 위해 홍콩에 호스팅된 두 개의 C2 서버와 통신합니다. 이 활동은 중국어 사용자를 대상으로 한 것으로 보이며, 고급 기능을 사용합니다. 여기에는 . The malware then communicates with two Hong Kong–hosted C2 servers to fetch additional malicious binaries. The activity appears aimed at Chinese-speaking users and employs advanced tradecraft, including PoolParty Variant 7 프로세스 인젝션이 포함됩니다.
조사
Cybereason 분석가들은 가짜 LINE 설치 관리자의 정적 및 동적 분석을 수행하여 PowerShell, 과 과 , 사용자 지정 DLL 로더 사용을 확인했습니다. 이 체인은 %AppData%, and %LocalAppData%에 아티팩트를 생성하고 뮤텍스를 통한 동기화를 설정하며 예약된 작업 을 통해 지속성을 등록했습니다. 설치 후 행동은 explorer.exe and 및 UserAccountBroker.exe로의 인젝션을 포함하여 은폐 중심의 원격 접속 워크플로와 일치합니다. 네트워크 원격 추적에서는 홍콩에 위치한 두 개의 C2 IP 주소가 명령 회수 및 페이로드 준비에 사용된 것으로 식별했습니다. 귀속은 , consistent with a stealth-focused remote access workflow. Network telemetry identified two C2 IP addresses in Hong Kong used for command retrieval and payload staging. Attribution was assessed as consistent with Silver Fox 활동과 일관성을 보였으며, SADBRIDGE.
와 코드 중복이 나타났습니다.
완화 서명 체인과 연관된 의심스러운 인증서 검증 인식에서 NSIS로 패킹된 가짜 인스톨러를 사냥하고 알림을 설정하십시오. 설치 관리자가 내린 파일 세트 생성, 관련 레지스트리 수정 사항 및 Windows Defender 제외 추가 시도를 모니터하세요. 식별된 C2 IP에 대한 아웃바운드 연결을 차단하고 잘못되거나 신뢰할 수 없는 인증서를 거부하는 코드 서명 제어를 시행하십시오. EDR 감지를 추가하여 RPC 기반의 영속성과 일치하는 -스타일 인젝션 패턴 및 작업 예약 생성 시퀀스에 대해 설정합니다. associated with the signing chain. Monitor for creation of the installer’s dropped file set, related registry modifications, and attempts to add Windows Defender exclusions. Block outbound connectivity to the identified C2 IPs and enforce code-signing controls that reject invalid or untrusted certificates. Add EDR detections for PoolParty Variant 7-style injection patterns and for scheduled-task creation sequences consistent with RPC-based persistence.
응답
의심스러운 활동이 감지되면 엔드포인트를 격리하고, 악성 프로세스를 종료하며 가짜 설치 관리자와 모든 내려받은 아티팩트를 제거하십시오. 추가 모듈에 대한 전체 스윕을 수행하고 Defender 설정을 복구하며(허가되지 않은 제외 제거 포함) 공격자가 생성한 예약된 작업을 삭제하십시오. 최근 사용자 및 호스트 활동을 검토하여 측면 이동의 징후를 확인한 후 메모리 캡처 및 심층 포렌식 수집을 위해 사건 대응 팀에 보고하십시오. ValleyRAT modules, restore Defender settings (including removal of unauthorized exclusions), and delete attacker-created scheduled tasks. Review recent user and host activity for signs of lateral movement, then escalate to incident response for memory capture and deeper forensic collection.
graph TB %% 클래스 정의 classDef technique fill:#99ccff classDef file fill:#ffcc99 classDef process fill:#ff9999 classDef malware fill:#ccffcc classDef network fill:#dddddd %% 노드 tech_user_exec[“<b>기법</b> – <b>T1204 사용자 실행</b><br/><b>설명</b>: 피해자가 악성 가짜 설치 프로그램(LineInstaller.exe)을 실행. LINE 정식 설치 프로그램으로 위장.”] class tech_user_exec technique tech_masquerade[“<b>기법</b> – <b>T1036 가장</b><br/><b>설명</b>: 설치 프로그램이 정상 소프트웨어 이름을 모방하고, 유효해 보이는 코드 서명 인증서를 사용.”] class tech_masquerade technique tech_event_exec[“<b>기법</b> – <b>T1546.016 이벤트 트리거 실행: 설치 패키지</b><br/><b>설명</b>: NSIS 기반 설치 프로그램이 UAC를 통해 관리자 권한으로 실행.”] class tech_event_exec technique tech_powershell[“<b>기법</b> – <b>T1059.001 PowerShell</b><br/><b>설명</b>: PowerShell이 Windows Defender 제외 경로를 추가하고, 지속성 스크립트 준비.”] class tech_powershell technique tech_regsvr32[“<b>기법</b> – <b>T1218.010 Regsvr32 프록시 실행</b><br/><b>설명</b>: 예약 작업이 regsvr32.exe를 호출하여 intel.dll의 DllRegisterServer 실행.”] class tech_regsvr32 technique tech_rundll32[“<b>기법</b> – <b>T1218.011 Rundll32 프록시 실행</b><br/><b>설명</b>: rundll32.exe가 intel.dll의 DllRegisterServer를 실행.”] class tech_rundll32 technique tech_sched_task[“<b>기법</b> – <b>T1053 예약 작업</b><br/><b>설명</b>: RPC 호출을 통해 작업 스케줄러 서비스에서 악성 예약 작업 생성.”] class tech_sched_task technique tech_sandbox_evasion[“<b>기법</b> – <b>T1497.002 가상화/샌드박스 회피</b><br/><b>설명</b>: intel.dll이 파일 잠금과 뮤텍스를 확인하여 샌드박스 환경 탐지.”] class tech_sandbox_evasion technique tech_pe_injection[“<b>기법</b> – <b>T1055.002 프로세스 주입: 포터블 실행 파일 주입</b><br/><b>설명</b>: intel.dll과 sangee.ini가 PoolParty Variant 7을 사용하여 Explorer.exe에 쉘코드 주입.”] class tech_pe_injection technique tech_apc_injection[“<b>기법</b> – <b>T1055.004 프로세스 주입: 비동기 프로시저 호출</b><br/><b>설명</b>: I/O 완료 포트 핸들을 사용하여 ZwSetIoCompletion 활용.”] class tech_apc_injection technique tech_exploit_defense[“<b>기법</b> – <b>T1211 방어 회피 악용</b><br/><b>설명</b>: 악성코드가 SetTcpEntry를 호출하여 보안 구성 요소의 TCP 연결 삭제.”] class tech_exploit_defense technique tech_obfuscation[“<b>기법</b> – <b>T1027.005 난독화 파일: 지표 제거</b><br/><b>설명</b>: 안티샌드박스 및 안티분석 체크가 아티팩트를 숨기고 분석 환경에서 실행 방지.”] class tech_obfuscation technique tech_web_service[“<b>기법</b> – <b>T1102 웹 서비스</b><br/><b>설명</b>: 최종 페이로드 ValleyRat이 원격 C2 서버에서 표준 TCP로 가져옴.”] class tech_web_service technique file_lineinstaller[“<b>파일</b> – <b>이름</b>: LineInstaller.exe<br/><b>유형</b>: NSIS 설치 프로그램”] class file_lineinstaller file file_inteldll[“<b>파일</b> – <b>이름</b>: intel.dll<br/><b>유형</b>: 프록시 실행 및 주입용 DLL”] class file_inteldll file file_sangee[“<b>파일</b> – <b>이름</b>: sangee.ini<br/><b>목적</b>: 주입 루틴 구성”] class file_sangee file file_policyxml[“<b>파일</b> – <b>이름</b>: policyManagement.xml<br/><b>목적</b>: 예약 작업 세부 정의”] class file_policyxml file file_updatedps1[“<b>파일</b> – <b>이름</b>: updated.ps1<br/><b>목적</b>: PowerShell 지속성 스크립트”] class file_updatedps1 file malware_valleyrat[“<b>악성코드</b> – <b>이름</b>: ValleyRat<br/><b>역할</b>: 피해자에게 전달되는 최종 페이로드”] class malware_valleyrat malware process_regsvr32[“<b>프로세스</b> – <b>이름</b>: regsvr32.exe”] class process_regsvr32 process process_rundll32[“<b>프로세스</b> – <b>이름</b>: rundll32.exe”] class process_rundll32 process process_explorer[“<b>프로세스</b> – <b>이름</b>: Explorer.exe”] class process_explorer process network_c2[“<b>네트워크</b> – <b>C2 서버</b>: 143.92.38.217:18852, 206.238.221.165:443”] class network_c2 network %% 연결 tech_user_exec –>|시작| file_lineinstaller file_lineinstaller –>|트리거| tech_masquerade tech_masquerade –>|활성화| tech_event_exec tech_event_exec –>|권한 상승| process_regsvr32 process_regsvr32 –>|호출| file_inteldll file_inteldll –>|tech_regsvr32 통해 등록| tech_regsvr32 tech_regsvr32 –>|process_rundll32도 사용| process_rundll32 process_rundll32 –>|로드| file_inteldll tech_rundll32 –>|file_inteldll도 로드| file_inteldll file_inteldll –>|생성| tech_sched_task tech_sched_task –>|파일로 작업 생성| file_policyxml tech_sched_task –>|실행| file_updatedps1 file_updatedps1 –>|PowerShell 명령 실행| tech_powershell tech_powershell –>|제외 경로 추가 및 준비| tech_sandbox_evasion tech_sandbox_evasion –>|환경 확인 후| tech_pe_injection tech_pe_injection –>|주입| process_explorer tech_pe_injection –>|사용| tech_apc_injection tech_apc_injection –>|활용| tech_exploit_defense tech_exploit_defense –>|보안 도구 방해| file_sangee tech_obfuscation –>|아티팩트 숨김| malware_valleyrat malware_valleyrat –>|C2 서버에서 가져옴| network_c2 network_c2 –>|페이로드 전달| tech_web_service tech_web_service –>|최종 전달| process_explorer
공격 흐름
탐지
가능한 예약 작업 생성 (PowerShell 경유)
보기
의심스러운 예약 작업 (감사 경유)
보기
Rundll32 Dll 의심 경로 실행 (프로세스 생성 경유)
보기
Windows Defender 설정 의심스러운 변경 (PowerShell 경유)
보기
LOLBAS Regsvr32 (명령 줄 경유)
보기
IOCs (DestinationIP) 탐지를 위한: 가짜 설치 관리자: 결국, ValleyRAT 감염
보기
IOCs (HashSha1) 탐지를 위한: 가짜 설치 관리자: 결국, ValleyRAT 감염
보기
IOCs (SourceIP) 탐지를 위한: 가짜 설치 관리자: 결국, ValleyRAT 감염
보기
Windows Defender 제외 및 예약된 작업을 사용한 가짜 설치 관리자 탐지 [Windows PowerShell]
보기
시뮬레이션 실행
전제 조건: 원격 측정 및 기준성 비행 전 점검이 통과해야 합니다.
이론: 이 섹션은 탐지 규칙을 트리거하기 위해 설계된 상대방 기법(TTP)의 정밀한 실행을 상세히 설명합니다. 명령 및 서술은 반드시 식별된 TTP들을 직접 반영해야 하며, 탐지 논리에 의해 예상되는 정확한 원격 측정을 생성하는 것을 목표로 해야 합니다.
-
공격 서술 및 명령:
이미 낮은 권한 계정을 탈취한 공격자가 손잡힌 호스트에 페이로드를 스테이징하려 하면서 바이러스 백신 탐지를 회피하려고 합니다. 공격자는:- PowerShell을 사용하여 Windows Defender에 전체를 C: 드라이브에 대한 제외를 추가하여 그곳에 배치된 악성 이진 파일이 Defender에 의해 보이지 않게 합니다.
- 같은 same PowerShell 호출에서는, 숨겨진 페이로드(
C:Malwarepayload.ps1)을 특정한 정통 프로세스(예:explorer.exe)가 시작될 때 매번 시작하도록 예약 작업을 등록하여 지속성을 제공합니다. - 이 두 가지 행동이 하나의 명령줄로 결합되어 있기에, 원격 측정은 Sigma 규칙의 선택1 및 선택2 조건과 일치하여 경고를 야기합니다.
selection1 and selection2condition, causing an alert.
-
회귀 테스트 스크립트:
# ------------------------------------------------- # 가짜 설치 관리자 시뮬레이션 – Sigma 규칙 트리거 # ------------------------------------------------- # 1. 제외 경로 정의 (전체 C: 드라이브) $exclusion = "C:" # 2. 예약된 작업 세부 사항 정의 $taskName = "UpdateScheduler" $action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-ExecutionPolicy Bypass -File C:Malwarepayload.ps1" $trigger = New-ScheduledTaskTrigger -AtLogOn # 3. 두 명령을 하나의 PowerShell 명령줄로 결합 $combined = "Add-MpPreference -ExclusionPath `"$exclusion`"; Register-ScheduledTask -TaskName `"$taskName`" -Action `$action -Trigger `$trigger -Force" # 4. 결합된 명령을 호출 Invoke-Expression $combined -
정리 명령:
# ------------------------------------------------- # 정리 – 제외 및 예약 작업 제거 # ------------------------------------------------- # C:에 대한 Defender 제외를 제거 Remove-MpPreference -ExclusionPath "C:" # 예약 작업 삭제 Unregister-ScheduledTask -TaskName "UpdateScheduler" -Confirm:$false