데드록: 스마트 계약을 이용하여 작업을 숨기는 랜섬웨어 갱단
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
DeadLock 랜섬웨어는 감염 후 명령 및 제어(C2) 프록시 URL을 게시하고 회전시키기 위한 복원력 있는 방안으로 폴리곤 스마트 계약을 채택했습니다. 이를 통해 백엔드 인프라가 기존 도메인에 의존하지 않고도 빠르게 변경될 수 있도록 합니다. 암호화가 완료된 후 공격자는 HTML ‘결제/커뮤니케이션’ 래퍼를 드롭하여 희생자를 분산 메신저인 Session으로 안내하여 추가 지침과 상호작용을 유도합니다. 이 기술은 이전에 북한과 관련된 활동에서 보고된 EtherHiding 패턴과 유사하며, 블록체인 데이터를 악성 인프라에 대한 간접 계층으로 사용합니다. 특히 DeadLock은 전통적인 유출 사이트를 우선시하지 않고 도난당한 데이터를 지하 시장 판매를 통해 수익화하는 것으로 보입니다.
조사
Group-IB 분석가들은 C2 엔드포인트를 숨기기 위한 DeadLock의 스마트 계약 기반 접근 방식을 문서화했습니다. 여기에 암호화 후 Session을 통신 채널로 명시적으로 참조하는 HTML 파일의 드롭도 포함됩니다. 이 보고서는 또한 DeadLock의 활동이 BYOVD(취약한 드라이버 가져오기) 기술 및 EDR 프로세스 종료와 연관될 수 있다는 시스코 탈로스의 이전 보고서를 인용하고 있지만, 초기 접근 벡터는 명확하게 식별되지 않았습니다. 유사한 ‘스마트 계약을 C2 디렉토리로 사용하는’ 기법은 구글 위협 인텔리전스 그룹에 의해 북한 캠페인과 관련해서도 논의되었으며, 공공 블록체인을 활용한 인프라 유연성을 강화하는 광범위한 추세를 반영합니다.
완화
의심스러운 파일 활동 후 Session(또는 다른 분산 메신저)을 참조하거나 실행하는 예상치 못한 HTML 아티팩트를 모니터링하세요. 강력한 애플리케이션 허용 목록을 적용하고 원격 액세스, 페이로드 단계, 또는 메신저 설치를 용이하게 하는 승인되지 않은 도구 실행을 제한하세요. 네트워크 측면에서는 블록체인에 저장된 포인터에서 유래된 것으로 보이는 프록시 URL 또는 도메인에 대한 연결을 검토하고, 갑작스러운 아웃바운드 목적지의 전환을 고신호 이상으로 취급하세요. EDR 변조 또는 강제 보안 서비스 종료와 일관된 BYOVD 드라이버 로딩, 의심스러운 드라이버 설치 및 동작을 식별하기 위해 엔드포인트 탐지를 지속적으로 업데이트하세요.
대응
DeadLock 지표가 식별되면 추가 암호화 및 횡적 이동을 방지하기 위해 영향을 받은 시스템을 즉시 격리합니다. 드롭된 HTML 래퍼, 암호화 메모, 관련 이진 파일 또는 스크립트를 수집 및 보존한 후 관찰된 모든 프록시 URL 및 스마트 계약 참조 인프라로의 아웃바운드 트래픽을 차단하십시오. 정식 사고 대응 절차를 시작하고, 복원 전 오프라인/백업 복원 경로의 무결성과 가용성을 검증하며, 잠재적 데이터 노출을 평가하여 갈취 위험을 평가하십시오. 필요 시 이해관계자와의 소통을 조정하고, 전체 범위 및 제거 작업을 수행하는 동안 전문 랜섬웨어 대응 지원에 참여하십시오.
graph TB %% Class Definitions classDef action fill:#99ccff classDef technique fill:#c2e0ff classDef tool fill:#cccccc classDef malware fill:#ffcccc classDef process fill:#e6e6e6 classDef data fill:#f0e68c classDef operator fill:#ff9900 %% Technique Nodes tech_priv_esc[“<b>기법</b> – T1068 권한 상승을 위한 취약점 악용<br/><b>설명</b>: 취약한 드라이버를 사용하여 시스템 권한을 획득한다.”] class tech_priv_esc technique tech_def_evasion[“<b>기법</b> – T1211 방어 회피를 위한 취약점 악용<br/><b>설명</b>: 드라이버 취약점을 악용하여 보안 에이전트를 종료하거나 우회한다.”] class tech_def_evasion technique tech_impair[“<b>기법</b> – T1562 방어 무력화<br/><b>설명</b>: 탐지 및 대응 능력을 약화시키기 위해 보안 솔루션을 비활성화하거나 조작한다.”] class tech_impair technique tech_web_comm[“<b>기법</b> – T1102.002 웹 서비스 양방향 통신<br/><b>설명</b>: 암호화된 HTML 래퍼를 배포하여 Session 메신저를 실행하고 Polygon 스마트 컨트랙트에서 프록시 URL을 획득한다.”] class tech_web_comm technique tech_app_proto[“<b>기법</b> – T1071.001 애플리케이션 계층 프로토콜 (웹)<br/><b>설명</b>: 정상 트래픽과 섞여 HTTP/WebSocket 프로토콜로 프록시 및 C2 서버와 통신한다.”] class tech_app_proto technique %% Tool Node tool_vuln_driver[“<b>도구</b> – 이름: 취약한 드라이버<br/><b>목적</b>: 권한 상승 및 방어 회피를 위한 커널 수준 코드 실행을 제공한다.”] class tool_vuln_driver tool %% Malware Node malware_deadlock[“<b>악성코드</b> – 이름: DeadLock 랜섬웨어<br/><b>기능</b>: 초기 침해 이후 암호화 및 C2 통신을 수행한다.”] class malware_deadlock malware %% Process Nodes process_html_wrapper[“<b>프로세스</b> – 이름: HTML 래퍼<br/><b>동작</b>: 피해자 호스트에서 Session 메신저를 복호화하고 실행한다.”] class process_html_wrapper process process_session_messenger[“<b>프로세스</b> – 이름: Session 메신저<br/><b>동작</b>: 암호화된 트래픽을 처리하고 프록시 정보를 가져와 C2와 통신한다.”] class process_session_messenger process process_c2_server[“<b>서버</b> – C2 서버<br/><b>프로토콜</b>: HTTP/WebSocket”] class process_c2_server process %% Data Node data_proxy_url[“<b>데이터</b> – 프록시 URL<br/><b>출처</b>: C2 엔드포인트를 순환하기 위해 Polygon 스마트 컨트랙트에서 가져온다.”] class data_proxy_url data %% Connections tech_priv_esc –>|uses| tool_vuln_driver tech_def_evasion –>|uses| tool_vuln_driver tool_vuln_driver –>|enables| tech_priv_esc tool_vuln_driver –>|enables| tech_def_evasion malware_deadlock –>|drops| process_html_wrapper process_html_wrapper –>|launches| process_session_messenger process_session_messenger –>|retrieves| data_proxy_url data_proxy_url –>|provides| tech_web_comm tech_web_comm –>|communicates via| tech_app_proto process_session_messenger –>|talks to| process_c2_server tech_impair –>|targets| malware_deadlock
공격 흐름
시뮬레이션 실행
전제 조건: 텔레메트리 및 기준선 사전 비행 점검 통과 필요.
이유: 이 섹션은 탐지 규칙을 트리거하기 위해 설계된 적 수법(TTP)의 정확한 실행을 자세히 설명합니다. 명령과 서사는 식별된 TTP를 직접 반영해야 하며, 탐지 로직에 의해 예상되는 정확한 텔레메트리를 생성하는 것이 목표입니다. 추상적이거나 관련이 없는 예시는 오진을 초래할 수 있습니다.
-
공격 서사 및 명령:
스마트 계약으로 관리되는 프록시 서비스를 손상시킨 위협 행위자는 정적 차단 목록을 피하기 위해 매 몇 분마다 프록시 URL을 회전합니다. 각 회전은 새로운 하위 도메인을 게시합니다
deadlock.example.com. 랜섬웨어는 프록시를 쿼리하여 다음 C2 주소를 검색합니다. 이를 모방하기 위해 우리는 세 가지 서로 다른 URL에 대한 일련의 HTTP 요청을 발행하며 이는 모두 문자 스트링 “.example.com”을 포함하여 실제로 관찰된 회전 패턴을 모방합니다. -
회귀 테스트 스크립트:
#!/usr/bin/env bash # DeadLock 프록시 URL 회전 시뮬레이션 – Sigma 규칙과 일치하는 텔레메트리를 생성합니다 PROXY="http://proxy.example.local:3128" URLs=( "http://stage1.example.com/deadlock" "http://stage2.example.com/deadlock" "http://stage3.example.com/deadlock" ) echo "[*] 프록시‑URL 회전 시뮬레이션 시작 (3개의 요청)..." for url in "${URLs[@]}"; do echo "[+] $url 요청 중 via $PROXY" curl -s -x "$PROXY" "$url" -o /dev/null sleep 2 # 현실적 간격을 에뮬레이트하기 위한 짧은 일시 중지 done echo "[*] 시뮬레이션 완료." -
정리 명령:
#!/usr/bin/env bash # 시뮬레이션 중 생성된 임시 파일 제거 (이 경우 없음) echo "[*] 정리할 아티팩트가 없습니다. 프록시 설정은 그대로 둡니다."