SOC Prime Bias: 높음

27 3월 2026 16:20

MS-SQL 서버를 표적으로 하는 악성코드 공격과 ICE 클라우드 스캐너 배포 (Larva-26002)

Author Photo
Ruslan Mikhalov SOC Prime에서 위협 연구 책임자 linkedin icon 팔로우
MS-SQL 서버를 표적으로 하는 악성코드 공격과 ICE 클라우드 스캐너 배포 (Larva-26002)
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

Larva-26002 위협 행위자는 브루트포스 공격을 통해 노출된 MS-SQL 서버를 반복적으로 공격합니다. 액세스를 얻으면, 공격자는 BCP, Curl, Bitsadmin과 같은 도구를 사용하여 ICE Cloud Client로 알려진 Go 기반 스캐너를 다운로드하고 작성합니다. 이 스캐너는 명령 및 제어 서버에 연결하여 추가 SQL 서버에 대한 자격 증명을 받고, 궁극적으로 Trigona 또는 Mimic과 같은 랜섬웨어 패밀리 배포를 촉진할 수 있습니다.

조사

AhnLab은 BCP 유틸리티를 남용하여 데이터베이스 테이블에서 악성 바이너리를 추출하고 C:\ProgramData\api.exe로 저장하는 것을 문서화했습니다. 연구자들은 Curl 및 Bitsadmin을 사용한 대체 다운로드 방법도 관찰했습니다. ICE Cloud Launcher는 C2 서버에 인증한 후, 타겟 목록과 자격 증명을 가져와 다른 SQL 서버에 대한 브루트 포스 공격을 시작합니다. 이 캠페인에는 AnyDesk 및 Teramind과 같은 원격 액세스 도구도 도입되었습니다.

완화 조치

조직은 SQL 계정에 강력하고 고유한 비밀번호를 요구하고, 인터넷에 노출된 SQL 서비스를 방지하며, RDP 접근을 엄격히 제한해야 합니다. SQL 서버 및 관련 구성 요소는 완전히 패치되어야 하며, 보안 팀은 BCP, Curl, Bitsadmin의 비정상 사용을 모니터링해야 합니다. 네트워크 세분화와 침입 탐지를 사용하여 알려진 악성 인프라로의 의심스러운 아웃바운드 통신을 식별해야 합니다.

대응

이 활동이 감지되면, 영향을 받은 호스트를 격리하고 api.exe 와 명령 히스토리 같은 포렌식 아티팩트를 보존하고, BCP 또는 다운로드 행동과 유사한 환경을 검색하십시오. 악성 IP와 도메인을 차단하고 손상된 SQL 자격 증명을 재설정하며 배포된 원격 관리 도구를 제거하십시오. 그런 다음, 전체 사건 대응 검토를 통해 랜섬웨어 준비 단계 또는 배포가 발생했는지 여부를 확인해야 합니다.

"graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef technique fill:#cccccc classDef malware fill:#ff9999 classDef operator fill:#ff9900 %% Nodes action_initial_access["<b>행동</b> – <b>T1110.003 브루트포스: 비밀번호 분사</b><br/>공격자는 노출된 MS-SQL 서비스를 브루트포스로 자격 증명을 얻습니다."] class action_initial_access action tool_mssql["<b>도구</b> – <b>이름</b>: Microsoft SQL Server<br/><b>목적</b>: 자격 증명 절도를 위한 타겟 서비스"] class tool_mssql tool tech_valid_accounts["<b>기법</b> – <b>T1078 유효한 계정</b><br/>얻은 자격 증명을 사용하여 SQL 서버에 로그인"] class tech_valid_accounts technique tech_cmd_shell["<b>기법</b> – <b>T1059.003 윈도우 커맨드 셀</b><br/>시스템 명령어 실행 (hostname, whoami, ifconfig, netstat, tasklist)"] class tech_cmd_shell technique tech_network_config["<b>기법</b> – <b>T1016 시스템 네트워크 구성 발견</b>"] class tech_network_config technique tech_network_conn["<b>기법</b> – <b>T1049 시스템 네트워크 연결 발견</b>"] class tech_network_conn technique tech_process_disc["<b>기법</b> – <b>T1057 프로세스 발견</b>"] class tech_process_disc technique tool_curl["<b>도구</b> – <b>이름</b>: curl<br/><b>목적</b>: 악성 페이로드 다운로드"] class tool_curl tool tool_bitsadmin["<b>도구</b> – <b>이름</b>: bitsadmin<br/><b>목적</b>: 악성 페이로드 다운로드"] class tool_bitsadmin tool tool_bcp["<b>도구</b> – <b>이름</b>: BCP (대량 복사 프로그램)<br/><b>목적</b>: api.exe를 만들기 위해 이진 데이터 내보내기"] class tool_bcp tool tech_masquerade["<b>기법</b> – <b>T1036.003 위장: 시스템 유틸리티 이름 바꾸기</b><br/>페이로드가 정당한 프로그램으로 위장"] class tech_masquerade technique malware_api["<b>악성코드</b> – <b>이름</b>: api.exe<br/><b>기능</b>: ICE Cloud Launcher C2 에이전트"] class malware_api malware tech_c2_web["<b>기법</b> – <b>T1071.001 웹 프로토콜</b><br/>HTTP를 통한 C2 통신"] class tech_c2_web technique tech_c2_websvc["<b>기법</b> – <b>T1102.002 웹 서비스: Dead Drop Resolver</b>"] class tech_c2_websvc technique action_lateral_movement["<b>행동</b> – <b>T1078 유효한 계정</b><br/>추가 MSSQL 서버에 인증하기 위해 자격 증명 사용"] class action_lateral_movement action tech_exploit_remote["<b>기법</b> – <b>T1210 원격 서비스의 악용</b><br/>포트 포워딩 또는 RDP를 통한 측면 이동"] class tech_exploit_remote technique tool_anydesk["<b>도구</b> – <b>이름</b>: AnyDesk<br/><b>목적</b>: 원격 제어"] class tool_anydesk tool tool_teramind["<b>도구</b> – <b>이름</b>: Teramind<br/><b>목적</b>: 원격 모니터링"] class tool_teramind tool action_data_exfil["<b>행동</b> – <b>데이터 수집 및 유출</b><br/>구성 데이터의 스캔 및 유출"] class action_data_exfil action %% Connections action_initial_access –>|타겟| tool_mssql tool_mssql –>|활성화| tech_valid_accounts tech_valid_accounts –>|허용| tech_cmd_shell tech_cmd_shell –>|수집| tech_network_config tech_cmd_shell –>|수집| tech_network_conn tech_cmd_shell –>|수집| tech_process_disc tech_cmd_shell –>|페이로드 다운로드에 사용| tool_curl tech_cmd_shell –>|페이로드 다운로드에 사용| tool_bitsadmin tech_cmd_shell –>|사용| tool_bcp tool_bcp –>|생성| malware_api malware_api –>|위장| tech_masquerade malware_api –>|통신에 사용| tech_c2_web malware_api –>|사용| tech_c2_websvc malware_api –>|활성화| action_lateral_movement action_lateral_movement –>|활용| tech_exploit_remote tech_exploit_remote –>|설치| tool_anydesk tech_exploit_remote –>|설치| tool_teramind tool_anydesk –>|용이| action_data_exfil tool_teramind –>|용이| action_data_exfil "

공격 흐름

탐지

시뮬레이션 실행

필수: Telemetry & Baseline Pre‑flight Check가 통과해야 합니다.

이유: 이 섹션은 탐지 규칙을 트리거하기 위해 설계된 적대적 기술(TTP)의 정확한 실행을 세부적으로 설명합니다. 명령과 설명은 반드시 TTPs에 직접 반영되어야 하며 탐지 논리에 의해 기대되는 정확한 원격 관측값을 생성해야 합니다. 추상적이거나 관련 없는 예제는 오진을 초래할 수 있습니다.

  • 공격 내러티브 및 명령:

    1. 손상된 SQL 호스트에 대한 정찰 – 공격자는 hostname and netstat -an.
    2. 을 사용하여 호스트 ID와 활성 네트워크 인터페이스를 열거합니다. 측면 이동 준비 – 공격자는 실행 중인 프로세스를 나열하여 – 공격자는 실행 중인 프로세스를 나열하여
    3. 가 존재하는지 확인하여 대상이 SQL 서버임을 확인합니다. 네이티브 유틸리티를 통한 멀웨어 다운로드 -e 를 사용하여 공격자는 외부 프로그램을 호출하는 유틸리티의 기능(api.exe스위치)을 악용하여 원격 C2 서버에서 악성 페이로드 (
    4. )를 다운로드합니다. 페이로드 실행 api.exe – 다운로드된
  • 이 시작되어 지속성을 설정합니다. 회귀 테스트 스크립트:

    (PowerShell – 완전 자급자족)
  • # ———————————————————— # Windows SQL Server 호스트에 대한 시뮬레이션 공격 # ———————————————————— $tempDir = “$env:TEMPlarva26002” New-Item -Path $tempDir -ItemType Directory -Force | Out-Null # 1. 시스템 정보 수집 (selection_info 트리거) hostname whoami netstat -an tasklist /FI “IMAGENAME eq sqlservr.exe” /FO CSV /NH # 2. BCP를 사용하여 악성 페이로드 다운로드 (selection_malware 트리거) # 로컬에서 가짜 exe를 만들어 원격 파일 시뮬레이션 $maliciousExe = “$tempDirapi.exe” Set-Content -Path $maliciousExe -Value “FakeMalware” -Encoding ASCII # BCP 명령어가 “api.exe”를 -e 스위치를 통해 호출 (외부 프로그램 실행) $bcpCmd = @” bcp “SELECT TOP (1) name FROM master.dbo.spt_values” queryout NUL -c -t, -S localhost -T -e “$maliciousExe” “@ Invoke-Expression $bcpCmd # 3. 페이로드 실행 (추가 관측 가능한 프로세스) Start-Process -FilePath $maliciousExe -WindowStyle Hidden # 정리 지연 (SIEM 수집 허용) Start-Sleep -Seconds 10

    정리 명령: