보안동향

최신 보안정보를 신속하게 전해드립니다.

[분석보고서] SSH 사전 공격을 통한 가상화폐 채굴 악성코드(XMRig) 유포 사례

2022-12-30

I. 분석 개요

인터넷에 노출된 취약한 서버 또는 시스템을 공격하여 가상화폐 채굴 악성코드를 유포하는 사례가 지속적으로 확인되고 있다. 채굴하는 가상화폐는 주로 모네로(Monero) 코인으로 확인되었으며, 가상화폐 채굴 악성코드는 채굴을 위해 공개된 ‘XMRig CPU Miner’를 악용한 것으로 분석되었다. 가상화폐 채굴 악성코드에 감염된 경우, CPU 사용량이 평소 사용량보다 급증하기 때문에 시스템의 이상이 발생할 수 있다.

 

본 문서에서는 SSH(Secure Shell) Brute-Force 및 사전 공격을 통한 가상화폐 채굴 악성코드 유포 사례를 ATT&CK 프레임워크에 기반하여 공격자의 공격전략과 기법 및 침투 단계에 대해 설명하고자 한다. 해당 시나리오는 유사한 가상화폐 채굴 악성코드 유포 사례를 모아 정리한 것으로 실제와 다를 수 있다.

 

분석 개요

분석을 통해 확인된 내용은 다음과 같다.

 

분석 대상

 

고객사 식별 정보 대체 표기

 

 

Ⅱ. 사건 시나리오

공격자는 외부에 노출된 서버를 스캔하여 취약한 계정을 가진 SSH 서버를 타깃으로 Brute-Force 및 Dictionary Attack을 시도한다. SSH 로그인에 성공하면 authorized_keys 파일에 공격자의 SSH RSA 키를 입력하여 지속성을 확보한다. 공격자는 DDoS IRC Bot, SSH 포트 스캐닝 및 사전 공격 도구를 설치하고, Shc(Shell Script Compiler) 다운로더 악성코드를 통해 XMRig CPU Miner 채굴 프로그램을 실행한다. 최초 감염 서버에서 같은 네트워크 대역의 SSH 사전 공격을 통해 Lateral Movement에 성공하고 다수의 서버가 마이닝 악성코드에 감염되어 Monero 코인을 채굴한 것이 확인되었다.

 

공격자의 주요 공격 단계를 ATT&CK 프레임워크에 기반하여 정리하면 다음과 같다.

[그림 1] MITRE ATT&CK Mapping Attack Flow

 

Ⅲ. MITRE ATT&CK Mapping

 

Ⅳ. 분석 결과

Reconnaissance

 

포트 스캐닝을 통하여 외부에 노출된 취약한 SSH 서버(Port 22)를 확인하고 공격 대상을 찾는다.

[그림 2] 국내 노출되어 있는 SSH 포트 현황 – Shodan

 

[그림 3] 국내 노출되어 있는 SSH 포트 현황 - Criminal IP

 

Resource Development

 

Shc 다운로더 악성코드(MALFILE-01)를 통해 설치되는 XMRig 채굴 프로그램(MALFILE-02) 다운로드를 위한 유포지와 마이닝 서버 풀[1]을 등록한다.

[1] Appendix 참조

 

 

 

공격자는 C2 서버와 통신하기 위해 IRC(Internet Relay Chat) Bot을 준비한다. MALFILE-03은 Perl 언어로 작성된 IRC Bot으로 주로 검색과 DDoS 기능을 제공하며, GitHub에 공유되어 있다. 공격자는 악성코드 탐지를 우회하기 위해 IRC Bot 파일을 압축한 후, 확장자를 jpg로 변경하였다.

[그림 4] IRC Bot Banner Message – [MALFILE-03]

 

 

 

공격자는 Shc 다운로더 악성코드, XMRig 채굴 프로그램, SSH Scanning & Dictionary Attack 도구, Log Cleaner 도구를 준비한다.

[표 1] 악성 프로그램 목록

 

XMRig 마이닝 악성코드 상세

Shc 다운로더 악성코드 [MALFILE-01]이 유포지에서 다운로드한 [MALFILE-02]의 파일 내부 구조는 다음과 같다.

[그림 5] [MALFILE-02] 파일 내부 구조

 

[MALFILE-02]의 주요 파일을 선별하여 기능을 정리하면 [표 2]와 같다.

[표 2] [MALFILE-02] 주요 파일

 

run 파일은 마이닝 악성코드를 실행하는 쉘 스크립트이다. 프로세스 명은 “xmrig”이며, 해당 프로세스는 스크립트에서 확인되는 마이닝 서버 IP 로 주기적으로 채굴 정보를 전송한다.

[그림 6] “run” Shell Script일부

 

SSH 포트 스캔 및 사전 공격 도구 상세

[MALFILE-04]는 SSH 포트 스캔 및 Dictionary Attack 용도로 사용되는 공격 도구이며, 압축 파일 내부에는 여러 파일들이 존재한다.

[그림7] [MALFILE-04] 파일 내부 구조

 

[MALFILE-04] 압축 해제 후 각각의 파일 기능은 [표 3]과 같으며, 이 중 “gone”, “lan” 파일은 여러 도구들(b, libssl, m, p, p1~p8)을 이용하여 포트 스캐닝 및 SSH Dictionary Attack을 수행하는 메인 쉘 스크립트이다.

[표 3] [MALFILE-04] 주요 파일

 

“gone” 쉘 스크립트의 기능을 분석하면 아래와 같이 3단계로 동작한다.

  1. m(포트 스캐닝 도구) 파일을 이용하여 원하는 IP 대역의 특정 포트를 스캔(사설 IP 대역 제외)
  2. b(배너 그래빙 도구) 파일을 이용하여 열린 포트에 대한 배너 그래빙, 이후 SSH 배너를 필터링하여 SSH Dictionary Attack 타겟 선정
  3. libssl(SSH Dictionary Attack 도구) 파일을 이용하여 타겟에 대한 SSH Dictionary Attack 수행. SSH 접속 성공 시 시스템에서 특정 명령어를 실행하여 CPU/GPU 정보 수집. 최종 스캔 결과는txt 파일로 생성

[그림 8] “gone” Shell Script일부

 

Initial Access

 

공격자는 외부에서 접근할 수 있는 SSH 서비스를 타겟으로 선정한다.

 

Credential Access

 

공격자(195.178.120.211, 217.170.204.171)는 root계정 및 자주 사용하는 계정*을 타겟으로 Brute-Force 및 Dictionary Attack을 하여 계정 정보를 획득하고, SSH 로그인에 성공한다.

* admin, administrator, administrators 등과 같이 서버에서 사용하는 관리자 계정

[그림 9] 로그인 실패 로그 일부 - btmp log(UTC+9)

 

[그림10] SSH 로그인 성공 로그 – auth log(UTC+9)

 

Persistence

 

공격자는 악성 파일[MALFILE-06]을 이용해 공격자의 SSH RSA 키를 ‘~/.ssh/authorized_keys’ 파일에 추가하여 시스템에 지속적으로 접근할 수 있도록 한다.

[그림 11] [MALFILE-06] Shell Script일부

 

Command and Control

 

공격자는 C2 서버와 통신하기 위해 IRC Bot을 이용하며, [MALFILE-01] 파일에서 IRC 서버 이름, 포트 번호, 채널 정보, Bot에 명령을 내리기 위해 사용하는 관리자 닉네임 등을 확인할 수 있다(그림 12). 2022년 4월 기준으로 IRC 서버(horde.irc4u[.]org:6667)는 총 9개의 채널이 형성되어 있었으며, 256명의 사용자가 연결된 것으로 확인된다. 그 중 봇이 접속하게 되는 #futai 채널의 접속자 정보를 보면 관리자 닉네임(futai)과 감염된 봇 닉네임이 확인되지 않기 때문에 IRC Bot이 활성화되어 있는 상태는 아닌 것으로 판단된다(그림 13).

[그림 12] [MALFILE-01] Perl Script (IRC Perl Bot) 일부

 

[그림 13] IRC 서버 접속 화면

 

Privilege Escalation

 

[SERVER-03] 계정은 취약한 비밀번호를 사용하고 있었기 때문에, 공격자(IP: 217.170.204[.]171)는 SSH 로그인에 성공한 후, sudo su 명령으로 root 권한을 쉽게 확보할 수 있었다.

[그림 14] sudo su 명령으로 root 권한 획득 – auth log(UTC+9)

 

 

공격자(195.178.120[.]211)는 [USER-02] 계정으로 ssh 접속에 성공한 뒤 sudo su 명령으로 root 권한을 획득하고자 하였지만 실패하였다. 권한 상승을 위해 Linux PwnKit 취약점(CVE-2021-4034)을 이용하여 root 권한을 획득하였으며, Shc 다운로더 악성코드(MALFILE-01)를 설치하였다. PwnKit(CVE-2021-4034)은 2022년 1월에 공개된 모든 리눅스 배포판에 영향을 주는 권한 상승 취약점이다.

[그림 15] PwnKit 취약점(CVE-2021-4034)을 악용하여 root 권한 획득 – auth log(UTC+9)

 

Discovery

 

공격자는 내부 이동을 위해 [MALFILE-04]/lan 파일을 이용해 내부 네트워크 대역을 대상으로 포트 스캐닝(SSH/22)을 수행한다.

[그림 16] [MALFILE-04]/lan Shell Script일부

 

Lateral Movement

 

공격자는 수집한 정보를 이용하여 다른 서버로 원격 접속하여 내부 이동한다.

[그림 17] [SERVER-01]에서 내부 네트워크로 SSH 로그인 성공 - auth log(UTC+9)

 

[그림 18] Lateral Movemet Flow

 

Defense Evasion

 

[MALFILE-03]는 쉘 스크립트로 인자 값으로 문자열을 받아 각종 로그 파일에서 해당 문자열이 포함된 로그를 제거한다.

[그림 19] [MALFILE-03] Shell Script일부

 

작업 대상이 되는 로그 파일 경로는 아래 [표 4]와 같다.

[표 4] 작업 대상 로그 파일 경로

 

Impact

 

공격자는 root 권한을 획득한 후, 가상화폐 채굴 프로그램(XMRig)을 다운로드하기 위한 [MALFILE-01]를 생성한다.

[그림 20] [MALFILE-01] 생성 – timestamp(UTC+9)

 

다음은 Shc 다운로더 악성코드 [MALFILE-01]의 프로세스 내역이다(그림 17). [MALFILE-01]은 모든 감염 서버에서 root 권한으로 실행되었으며, 유포지에서 [MALFILE-02](tar 파일)을 다운로드하여 내부 run 파일을 실행한다. run 파일은 마이닝 악성코드를 실행하는 쉘 스크립트로 ”xmrig” 프로세스로 실행되어 마이닝 서버 IP 로 주기적으로 채굴 정보를 전송한다.

[그림 21] [SERVER-01]에서 실행된 [MALFILE-01] 프로세스와 유포지 IP

 

Persistence

 

공격자는 XMRig 채굴 프로그램을 반복 실행하기 위해 Cron 유틸리티를 악용하여 작업 스케줄링을 등록한다.  

[그림 22] 악성 파일 cron 스케줄러 등록 – cron log(UTC+9)

 

[그림 23] 악성 파일 cron 스케줄러 실행 로그 일부 – sys log(UTC+9)

Ⅴ. 결론

취약한 자격 증명을 가진 리눅스 SSH 서버를 대상으로 한 Cryptocurrency-Mining 악성코드가 다수 확인되고 있다. Cryptojacking은 조직의 컴퓨팅 자원을 훔쳐 가상화폐를 채굴하는 공격으로 부적절한 계정 정보를 가진 시스템의 경우 Brute-Force 공격과 사전 공격으로 공격자가 시스템에 접근할 수 있게 된다. 따라서 조직은 이러한 유형의 공격을 방어하기 위해 계정의 비밀번호를 추측하기 어려운 형태로 사용하여야 하며, 주기적으로 변경하여야 한다. 사용하고 있는 SSH 포트를 변경하는 것도 Brute-Force 공격을 예방할 수 있는 방법 중 하나이다.

 

본 문서에서 소개한 사례의 경우 2022년 1월 공개된 리눅스 PwnKit RCE 취약점(CVE-2021-4034)을 악용하여 로컬 사용자에서 루트 권한 획득에 성공하고, 마이너 악성코드를 배포하였다. 조직은 최신 버전의 리눅스 소프트웨어를 사용하여야 한다.

 

또한, 조직은 시스템의 열린 포트를 정기적으로 스캔하고 방화벽과 같은 보안 제품을 이용해 SSH 액세스를 제한하고 공격자로부터의 접근을 제한해야 한다. 클라우드의 경우, 공개 저장소에서 액세스 키를 노출하지 않고 사용자에게 최소 권한만 부여한다. 클라우드 책임 공유 모델 중 고객 책임 영역인 보안 솔루션 선정에 대한 가이드, 보안정책 설정, 가용성 모니터링, 실시간 침해 시도 탐지 및 대응 등의 업무는 클라우드 보안 관제서비스를 통해 점검할 수 있다.

 

Ⅵ. Appendix

IP

 

C&C 주소

 

다운로드 주소

 

Malicious Files

 

목록