SOC Prime Bias: 위급

05 2월 2026 19:59

ShadowHS: 무기화된 해크셸을 기반으로 구축된 파일리스 리눅스 사후 익스플로잇 프레임워크

Author Photo
Ruslan Mikhalov SOC Prime에서 위협 연구 책임자 linkedin icon 팔로우
ShadowHS: 무기화된 해크셸을 기반으로 구축된 파일리스 리눅스 사후 익스플로잇 프레임워크
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

요약

ShadowHS는 무기화된 해크셸을 메모리 내에서 완전히 실행하는 파일리스 리눅스 사후 침투 프레임워크입니다. 작은 로더가 AES-256-CBC 페이로드를 해독하고, 익명의 파일 서술자를 통해 복원한 후 디스크에 접근하지 않고 실행합니다. 실행 중에는 상호작용 쉘과 자격 증명 도용, 횡적 이동, 크립토마이닝, 조용한 데이터 유출을 위한 모듈을 제공합니다. 설계는 스텔스, 운영자 제어, 다양한 리눅스 환경에서의 지속적인 유지에 우선순위를 둡니다.

조사

Cyble 분석가들이 스테이지드 로더를 분해하고, 암호화된 쉘 스크립트를 복구하고, Perl 기반의 해독 체인을 매핑했으며, /proc/*/fd/ 경로를 통해 실행을 확인했습니다. 그들은 폭넓은 EDR/AV 확인, 경쟁 방지 로직, SSH 무차별 공격, 커널 익스플로잇, GPU 마이닝을 위한 필요한 모듈들을 문서화했으며, 테스트에서 반복 가능한 결과를 산출했습니다. 보고서에는 하드코드된 C2 엔드포인트와 rsync-over-GSocket 유출 방법도 나열되어 있습니다.

완화

/proc/에서 ELF 실행을 감시하십시오./fd/, 이상한 OpenSSL/Perl 해독 체인 및 argv 스푸핑 아티팩트를 감지하십시오. 삭제되거나 memfd가 뒷받침되는 바이너리, 메모리 덤프 도구 및 비표준 rsync 전송에 대한 가시성을 확보하십시오. 알려진 마이닝 풀을 차단하고 GSocket 터널을 제한하여 남용을 억제하십시오. 대규모의 의심스러운 memfd_create 사용 시 알림을 추가하십시오.

대응

탐지되면 호스트를 격리하고 조사용 메모리를 캡처하며, 메모리 내 프레임워크 및 모든 마이닝 래퍼를 종료하고 참조된 C2 IP/도메인 차단하십시오. 노출된 자격 증명을 인벤토리하고, 키 및 비밀번호를 회전하며 시스템을 강화하십시오. 횡적 이동 시도와 스캐닝 활동을 추적하여 확산 범위를 파악하고 재감염을 방지하십시오.

공격 흐름

우리는 이 부분을 계속 업데이트하고 있습니다. 알림을 받으려면 가입하세요

알림 받기

시뮬레이션 실행

전제 조건: Telemetry & Baseline Pre‑flight Check가 통과되어야 합니다.

이유: 이 섹션은 탐지 규칙을 유발하도록 설계된 적대적 기술(TTP)의 정확한 실행을 자세히 설명합니다. 명령어와 서술은 식별된 TTP를 직접 반영해야 하며, 탐지 논리에 의해 예상되는 정확한 원격 측정을 생성하는 것을 목표로 합니다. 추상적이거나 관련 없는 예는 오진으로 이어질 것입니다.

  • 공격 서사 및 명령어:
    이미 손상된 리눅스 호스트에 발판을 마련한 공격자는 (1) entropy 검사를 피하기 위해 소금 없이 OpenSSL을 사용하여 이전에 추출된 데이터 블롭을 해독하고, (2) 향후 사용하지 않기 위해 자격 증명을 포함할 수 있는 특권 프로세스나 보안 도구를 식별하기 위해 실행 중인 모든 실행 파일을 /proc/*/exe 를 통해 열거하고 싶습니다. 공격자는 Bash 세션에서 다음 명령을 실행합니다:

    1. OpenSSL 해독 (AES‑256‑CBC, no‑salt) – Sigma 규칙이 감시하는 정확한 문자열을 재현합니다:

      openssl enc -d -aes-256-cbc -nosalt -in /tmp/stolen.enc -out /tmp/secret.txt
    2. Proc‑exe 열거 – 모든 숫자 PID 디렉토리를 반복하여 symlink의 대상을 출력합니다: exe 심볼링크:

      for pid in /proc/[0-9]*; do
          readlink "$pid/exe"
      done

    이러한 행동은 규칙의 aes and proc_enum 조건을 만족시키는 두 가지 프로세스 생성 이벤트를 생성합니다.

  • 회귀 테스트 스크립트:

    #!/usr/bin/env bash
    set -euo pipefail
    
    # ==== 1. OpenSSL 해독 (AES-256-CBC, no‑salt) ====
    # 테스트를 위한 더미 암호화 파일 생성
    echo "SensitiveData123" > /tmp/plain.txt
    openssl enc -aes-256-cbc -nosalt -salt -out /tmp/stolen.enc -pass pass:TestPass < /tmp/plain.txt
    
    # 정확한 탐지 패턴 사용하여 해독
    openssl enc -d -aes-256-cbc -nosalt -in /tmp/stolen.enc -out /tmp/secret.txt -pass pass:TestPass
    
    # ==== 2. /proc/*/exe 심볼링크 열거 ====
    for pid in /proc/[0-9]*; do
        readlink "$pid/exe"
    done
    
    echo "시뮬레이션 완료. SIEM에서 경고를 확인하십시오."
  • 정리 명령어:

    #!/usr/bin/env bash
    set -euo pipefail
    
    rm -f /tmp/plain.txt /tmp/stolen.enc /tmp/secret.txt
    echo "정리 완료."