안랩 ASEC 분석팀, 쓰나미 디도스 공격 캠페인 분석...공격자와 통신하는 ‘IRC 봇’ 특징
[보안뉴스 김영명 기자] 부적절하게 관리되고 있는 리눅스 SSH 서버를 대상으로 쓰나미 디도스 봇(Tsunami DDoS Bot)을 설치하고 있는 공격 캠페인이 최근 확인됐다. 해당 공격자는 쓰나미뿐만 아니라 ShellBot, XMRig 코인 마이너, Log Cleaner 등 다양한 악성코드들을 설치하는 것으로 드러났다. 부적절하게 관리되고 있는 리눅스 SSH 서버 대상 공격은 일반적으로 디도스 봇(DDoS Bot)이나 코인 마이너 악성코드를 설치하는 사례가 대부분이다.

▲쓰나미 디도스 봇과 Ziggy 소스코드와의 비교[자료=안랩 ASEC 분석팀]
안랩 ASEC 분석팀은 최근 쓰나미 디도스 공격 캠페인에 대한 분석 결과를 발표했다. 쓰나미는 카이텐(Kaiten)이라고도 불리는 디도스 봇이며, 일반적으로 취약한 IoT 장비들을 대상으로 미라이(Mirai) 및 가프짓(Gafgyt)과 함께 꾸준히 유포되고 있는 악성코드 중 하나다. 해당 악성코드 모두 디도스 봇이라는 공통점이 있지만, 쓰나미는 특히 IRC(Internet Relay Chat)를 이용해 공격자와 통신하는 형태의 IRC 봇이라는 점이 다르다.
쓰나미는 소스코드가 공개돼 다양한 공격자들이 사용하며, 특히 IoT 장비의 공격 비중이 높다. 이번 분석 결과는 공격자가 부적절하게 관리되고 있는 SSH(Secure Shell) 서버를 대상으로 사전 공격을 감행해 디도스 봇 및 XMRig 코인 마이너 악성코드를 설치한 사례를 정리한 것이다.
쓰나미 디도스 악성코드가 리눅스 서버와 같이 서버 환경을 대상으로 하는 공격 벡터로는 대표적으로 부적절하게 관리되고 있는 서비스가 있다. Secure Shell(SSH) 서비스는 대부분의 리눅스 서버 환경에 설치돼 있으면서 쉽게 공격에 사용이 가능하고, 부적절하게 관리되기 쉬운 서비스다. SSH는 관리자가 원격에서 로그인해 시스템을 제어할 수 있게 해주는데, 이를 위해 시스템에 등록된 사용자 계정에 로그인할 필요가 있다.

▲쓰나미 디도스 봇이 지원하는 다양한 디도스 공격 명령들[자료=안랩 ASEC 분석팀]
쓰나미 디도스 악성코드는 로그인에 성공한 이후 공격자는 특정 명령을 실행해 다양한 악성코드를 다운로드하고 실행한다. 설치되는 악성코드들 중 ’key‘ 파일은 추가로 악성코드를 설치하는 다운로더 유형의 Bash 스크립트다. 다운로드 외에도 감염 시스템을 제어하기 위해 다양한 사전 작업들을 수행하며 SSH 백도어 계정을 설치하는 기능도 포함됐다.
SSH 원격 서버에 로그인하는 또 다른 방식은 공개키·개인키를 생성해 아이디와 패스워드 입력 없이 로그인하는 방식이 있다. 이를 위해 사용자는 SSH 공개키·개인키를 생성한 후 접속 대상 서버에 공개키를 등록하며, 그 이후 클라이언트에서 개인키를 이용해 접속할 수 있다. 공격자는 해당 명령을 이용해 새로운 공개키를 ‘authorized_keys’ 파일에 사용한다. 이에 따라 추후 해당 공개키에 상응하는 개인키를 이용해 감염 시스템에 로그인할 수 있다.
쓰나미 디도스 악성코드 중 먼저 쓰나미는 소스코드가 공개돼 다양한 공격자들이 공격에 사용하고 있다. 공격자들은 기존 카이텐의 소스코드를 수정해 더 많은 기능을 추가하기도 하는데, 공격에 사용된 쓰나미는 지기(Ziggy)라고 이름 붙여진 카이텐의 다양한 변종 중 하나다. 실제 help 명령에서 보여주는 설명들을 비교해 보면 소스코드와 같다.

▲쉘봇의 설정 데이터[자료=안랩 ASEC 분석팀]
쓰나미 악성코드의 특징 중 하나는 명령제어(C&C) 서버와의 통신에 IRC 프로토콜을 이용한다는 점이다. IRC는 1988년 개발된 실시간 인터넷 채팅 프로토콜이다. 사용자들은 특정 IRC 서버의 특정 채널에 접속해 같은 채널에 접속한 다른 사용자들과 실시간으로 채팅을 할 수 있다. IRC 봇은 이러한 IRC를 악용해 C&C 서버와의 통신에 사용하는 봇 악성코드다.
감염 시스템에 설치된 IRC 봇은 IRC 프로토콜에 따라 공격자가 지정한 IRC 서버의 채널에 접속하며, 탈취한 정보를 해당 채널에 전달하거나 공격자가 특정 문자열을 입력할 경우 이를 명령으로 전달받아 악성 행위를 수행할 수 있다. IRC는 이미 존재하는 IRC 프로토콜을 이용하고 기존 IRC 서버를 활용할 수 있어 과거부터 악성코드들에 의해 꾸준히 사용됐다.
쓰나미는 실행되면 ‘/etc/rc.local’ 파일에 자신의 경로를 써서 재부팅 이후에도 실행될 수 있도록 한다. 이후 현재 실행 중인 프로세스의 이름을 ‘[kworker/0:0]’로 변경하려고 하는데, 이는 사용자가 인지하기 어렵게 하려는 목적에서다. 이 과정이 끝나면 IRC 서버에 접속하고 채널에 입장해 공격자의 명령을 기다린다.
C&C 서버의 주소나 채널의 비밀번호 등의 정보들은 암호화돼 저장된다. 이때 쓰나미는 실행 중 필요한 문자열들을 복호화한다. 또한, C&C 서버의 주소는 2개이며 랜덤하게 선택돼 접속을 시도한다. C&C 서버 주소를 포함한 다양한 설정 데이터를 정리하면 △버전 △아키텍처 △위장 이름 △C&C 서버(IRC) △IRC 채널 이름 △IRC 채널 비밀번호 △활성화·비활성화 비밀번호 △다운로더 목적의 기본 HTTP 서버 주소 등으로 정리할 수 있다.

▲지원하는 주요 명령들 목록[자료=안랩 ASEC 분석팀]
부적절하게 관리되고 있는 리눅스 SSH 서버를 대상으로 하는 공격은 과거부터 꾸준히 진행되고 있다. 공격자는 감염 시스템에 쓰나미, 쉘봇 등과 같은 디도스 봇과 함께 XMRig 코인 마이너를 설치했다.
코인 마이너가 설치된 환경에서는 시스템의 자원을 이용해 공격자의 모네로 코인을 채굴하게 된다. 이외에도 함께 설치된 디도스 봇을 이용해 디도스 공격에도 활용될 수 있으며, 추가적인 악성 명령을 실행할 수도 있다. 이러한 악성코드들이 제거됐다 하더라도 공격자는 함께 설치한 SSH 백도어 계정을 이용해 다시 로그인한 후, 또 다른 악성코드를 설치하거나 시스템 내의 정보를 탈취하는 등 다양한 악성 행위를 수행할 수 있다.

▲XMRing 실행 흐름[자료=안랩 ASEC 분석팀]
안랩 ASEC 분석팀 관계자는 “관리자들은 계정의 비밀번호를 추측하기 어려운 형태로 사용하고 주기적으로 변경해 무차별 대입 공격과 사전 공격으로부터 리눅스 서버를 보호해야 하며, 최신 버전으로 패치해 취약점 공격을 방지해야 한다”고 말했다. 이어 “외부에 오픈돼 손쉽게 접근 가능한 서버는 방화벽과 같은 보안 제품을 이용해 공격자로부터의 접근을 통제해야 한다”며 “마지막으로 V3 등 백신을 최신 버전으로 업데이트해 악성코드의 감염을 사전에 차단할 수 있도록 신경써야 할 것”이라고 강조했다.
[김영명 기자(boan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>














