| 공격자가 ‘KONO DIO DA’ 메시지를 직접 작성한 코인 마이너 공격 포착 | 2023.04.25 |
리눅스 SSH 서버 대상 유포 중... 상대적으로 최근 시작돼
알려진 계정정보로 사전 공격, 로그인 후 악성코드 내려받아 설치하는 방식 [보안뉴스 김영명 기자] 최근 부적절하게 관리되고 있는 리눅스 SSH 서버를 대상으로 XMRig 코인 마이너가 설치되고 있는 것이 확인됐다. 공격은 최소한 지난해 무렵부터 이뤄지고 있는 것으로 확인되며, XMRig를 설치할 때 SHC(SHell script Compiler)로 개발한 악성코드가 사용된다는 점과 SSH 백도어 계정을 등록한다는 점이 특징이다. ![]() ▲XMRig 코인 마이너의 최신 공격 흐름도[자료=안랩 ASEC 분석팀] 안랩 ASEC 분석팀에 따르면, 부적절하게 관리되고 있는 리눅스 SSH 서버를 대상으로 하는 공격 사례를 보면 일반적으로 디도스 봇(DDoS Bot)이나 코인 마이너 악성코드를 설치하는 사례가 대부분을 차지하고 있다. 디도스 봇의 경우 과거 쉘봇(ShellBot), ChinaZ DDoS Bot 악성코드를 설치하는 공격 사례가 있었다. XMRig 코인 마이너는 상대적으로 최근 시작된 공격이라는 점과 SHC를 사용한다는 점, 공격자가 직접 ‘KONO DIO DA’라는 메시지를 작성한 것이 특징이다. 리눅스 서버와 같이 서버 환경을 대상으로 하는 공격 벡터로는 대표적으로 부적절하게 관리되고 있는 서비스가 있다. Secure Shell(SSH) 서비스는 대부분의 리눅스 서버 환경에 설치돼 있으면서 쉽게 공격에 사용이 가능하고, 부적절하게 관리되기 쉬운 서비스다. SSH는 관리자가 원격에서 로그인해 시스템을 제어할 수 있게 해주는데, 이를 위해 시스템에 등록된 사용자 계정에 로그인할 필요가 있다. 만약 리눅스 시스템에 단순한 형태의 계정 정보, 아이디와 패스워드가 사용된다면 XMRig 코인 마이너 공격자는 무차별 대입 공격이나 사전 공격을 통해 이러한 시스템에 로그인해 악의적인 명령을 실행할 수 있다. 실제로 부적절하게 관리되고 있는 리눅스 SSH 서버 대상 공격은 포트 스캐닝을 통해 외부에 공개된 SSH 서버를 찾고 알려진 계정 정보들을 이용해 사전 공격을 수행해 로그인한 이후 악성코드를 내려받아 설치하는 방식이 주된 공격 방식이다. ![]() ▲악성코드 제작자의 메시지[자료=안랩 ASEC 분석팀] 로그인에 성공한 공격자는 ‘uname –a’, ‘nproc’ 등과 같은 명령을 이용해 악성코드를 내려받아 실행했다. ‘uname –a’, ‘nproc’ 명령은 시스템 정보를 출력하는 명령으로서 공격자가 추후 어떠한 시스템에 코인 마이너가 설치되었는지를 확인하기 위한 것으로 추정된다. 이외에도 악성코드 실행 이후 해당 명령이 실행된 history를 삭제하는 명령들도 존재한다. 다운로드된 파일인 ‘am’은 SHC로 개발된 악성코드로서 다운로더 기능을 담당한다. SHC로 개발됐다는 것은 실제 악성코드 원본은 Bash 스크립트이며 이를 ELF 포맷으로 변경한 것을 의미한다. ‘am’은 ‘nw’를 다운로드해 실행하는 단순한 형태의 다운로더이며, ‘nw’ 또한 결국 추가 악성코드를 내려받아 실행하는 다운로더 악성코드다. ‘nw’ Bash 스크립트는 실행 시 과거 공격에 사용됐던 자신의 코인 마이너 악성코드와 다른 악성코드들을 강제로 종료하고 제거하며, XMRig과 Bash 스크립트 악성코드들이 포함된 압축 파일을 내려받아 실행한다. 압축 파일에는 XMRig인 ‘dbus-daemon –system –address=systemd_ -nofork –nopidfile –systemd-activation –syslog-only’와 설정 파일인 ‘config.json’ 외에도 3개의 Bash 스크립트 악성코드들이 포함됐다. ![]() ▲압축 파일 내에 존재하는 XMRig 및 Bash 악성코드들[자료=안랩 ASEC 분석팀] ‘nw’는 압축 파일 내의 ‘start’ Bash 스크립트를 실행하며, ‘start’는 실질적으로 ‘admin’ Bash 스크립트를 실행하는 기능을 담당한다. ‘admin’은 ‘root.sh’ Bash 스크립트와 ‘root.sh’를 매분마다 실행시키는 cron 작업을 등록하는 역할을 담당한다. ‘root.sh’는 동일 경로에 존재하는 XMRig인 ‘dbus-daemon –system –address=systemd_ -nofork –nopidfile –systemd-activation –syslog-only’를 실행하며, 마이닝에 필요한 설정 정보는 동일 경로에 있는 ‘config.json’을 읽어와 사용한다. XMRig는 정상 프로세스인 ‘dbus-daemon’를 위장한 이름으로 실행되는데, 프로세스 이름뿐만 아니라 실행 시의 인자도 함께 위장해 일반적인 사용자들이 코인 마이너가 현재 실행 중 인지를 확인하기 어렵게 한다. ‘KONO DIO DA’의 과거 공격 사례를 보면 최근 공격에 사용되고 있는 악성코드들보다 조금 더 다양한 기능을 제공하는 것을 알 수 있다. 최초 설치 파일은 확인되지 않지만, ‘nw’와 같은 기능을 담당하는 Bash 스크립트는 ‘hoze’다. ‘hoze’는 내려받은 압축 파일을 해제한 후 ‘init0’이라는 이름의 ELF 파일을 실행하는데, ‘init0’은 XMRig 코인 마이너를 설치하는 기능 외에도 다양한 추가 기능을 제공하는 악성코드다. ![]() ▲과거 공격 흐름도[자료=안랩 ASEC 분석팀] 최근 확인되고 있는 공격과 달리 ‘KONO DIO DA’ 공격자는 과거 이뤄진 공격에서 더 다양한 기법들을 사용했다. 대표적으로 지속성 유지 관점이 있다. 압축 파일을 보면 ‘key’ 파일이 존재한다. ‘key’ 파일에는 SSH 공개키가 포함돼 있다. ‘init0’는 기존에 존재하는 ‘~/.ssh/authorized_keys’ 파일을 제거하고 압축 파일에 존재하는 ‘key’ 파일을 해당 경로에 복사한다. ![]() ▲과거 공격에 사용된 압축 파일 내에 존재하는 악성코드들[자료=안랩 ASEC 분석팀] SSH 원격 서버에 로그인하는 방식은 아이디와 패스워드를 입력하는 방식 외에도 공개키·개인키를 생성해 아이디와 패스워드 입력 없이 로그인하는 방식이 있다. 이를 위해 사용자는 SSH 공개키·개인키를 생성한 후 접속 대상 서버에 공개키를 등록하며, 이후 클라이언트에서 개인키를 이용해 접속할 수 있다. 공격자는 공개키인 ‘key’ 파일을 ‘~/.ssh/authorized_keys’ 경로에 생성하고 등록해 추후 자신의 개인키를 이용해 감염 시스템에 로그인할 수 있다. 이외에도 usermod 명령을 이용해 ‘cheeki’라는 계정을 추가하고, 감염 시스템에 만약 ‘root’, ‘dolphinscheduler’, ‘admin’, ‘es’, ‘hadoop’ 계정이 존재할 경우 공격자가 지정한 비밀번호로 변경한다. 이러한 과정은 감염 시스템에 백도어 계정을 생성해 추후 공격자가 로그인할 수 있도록 하는 지속성 유지 기법이다. ![]() ▲지속성 유지에 사용되는 루틴[자료=안랩 ASEC 분석팀] ‘uninstall.sh’ Bash 스크립트는 보안 서비스인 Alibaba Cloud의 Ali cloud shield(Ann Knight) 서비스를 제거하는 기능을 담당한다. Aegis를 제거하는 기능을 갖는 악성코드로는 대표적으로 kinsing이 있다. Kinsing은 Aegis 외에도 Tencent QCloud Monitor를 제거하고 SELinux, AppArmor를 비활성화하는 기능을 담당하는 Bash 스크립트를 설치한다. ‘init.sh’는 이름과 달리 SHC ELF 파일이며 다음과 같은 단순한 형태다. 마이너를 실행시켜주는 기능과 마이너 프로세스를 은폐하는 기능을 담당한다. 이를 위해 ‘/var/tmp/...’ 디렉터리를 생성하고 mount 명령으로 마이너 프로세스의 PID에 대한 /proc 파일 시스템에 바인딩(bind)한다. 이러한 방식은 과거부터 알려진 프로세스 은폐 방식 중 하나이며, 공격자는 루트킷 대신 이러한 단순한 명령으로 코인 마이너 프로세스를 은폐한다. ![]() ▲‘secure’의 주요 루틴[자료=안랩 ASEC 분석팀] 위에서 다룬 스크립트 및 SHC ELF 파일들은 보조적인 역할들을 수행하며, 실질적으로 ‘secure’가 주요 기능을 담당한다. ‘secure’는 SHC로 빌드된 ELF 파일로서 XMRig 코인 마이너를 실행하는 기능 외에도 최신 XMRig를 설치하고 자신을 cron 작업에 등록하는 행위를 담당한다. 즉, cron 작업을 통해 주기적으로 실행되면서 XMRig가 존재하지 않을 경우 최신 버전을 내려받아 감염 시스템에서 가상화폐를 채굴하는 것이다. 부적절하게 관리되고 있는 리눅스 SSH 서버를 대상으로 하는 공격 사례를 보면 주로 디도스 봇이나 코인 마이너 악성코드를 설치하는 사례가 대부분이다. 그리고 코인 마이너 악성코드 공격 사례를 보면 대부분 별다른 특징 없이 모네로 코인을 채굴하는 XMRig를 설치하는 경우가 많다. 하지만 ‘KONO DIO DA’ 공격자들은 XMRig를 설치하는 기능 외에도 다양한 분석 방해 기법들과 추가 악성코드들을 함께 사용하고 있으며, 상대적으로 최근 확인된 공격이라는 점이 특징이라고 할 수 있다. ![]() ▲공격자의 XMRig 마이닝 정보-과거[자료=안랩 ASEC 분석팀] 부적절하게 관리되고 있는 리눅스 SSH 서버를 대상으로 코인 마이너 악성코드를 설치하는 공격은 과거부터 꾸준히 진행되고 있다. ‘KONO DIO DA’ 공격 캠페인에서는 XMRig 코인 마이너 악성코드를 설치하는 것 외에도 SSH 백도어 계정을 등록해 지속성을 유지한다. 코인 마이너가 설치될 경우 시스템의 자원을 이용해 공격자의 모네로 코인을 채굴하게 되며, 공격자는 추후 SSH 백도어 계정으로 로그인해 또 다른 악성코드를 설치하거나 시스템 내의 정보를 탈취하는 등 다양한 악성 행위를 수행할 수 있다. 안랩 ASEC 분석팀 관계자는 “관리자들은 계정의 비밀번호를 추측하기 어려운 형태로 사용하고 주기적으로 변경해 무차별 대입 공격과 사전 공격으로부터 리눅스 서버를 보호해야 하며, 최신 버전으로 패치해 취약점 공격을 방지해야 한다”고 말했다. 이어 “외부에 오픈돼 접근 가능한 서버에 대해 방화벽과 같은 보안 제품을 이용해 공격자로부터의 접근을 통제해야 한다”며 “V3 등 백신을 최신 버전으로 업데이트해 악성코드의 감염을 사전에 차단할 수 있도록 신경 써야 한다”고 덧붙였다. [김영명 기자(boan@boannews.com)] <저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지> |
|
|
|