셸봇 악성코드의 최신 유포 방식은?
안랩은 취약한 리눅스 SSH 서버에 설치되고 있는 셸봇(ShellBot) 악성코드의 유포 방식이 변경된 것을 확인했다. 전체적인 흐름은 기존과 동일하지만, 공격자가 셸봇을 설치할 때 사용하는 다운로드 주소가 16진수 값으로 변경됐다. 해당 악성코드의 최신 유포 방식을 자세히 살펴보자.
최근 확인된 셸봇 악성코드 다운로드 주소는 다음과 같다.
hxxp://0x2763da4e/dred
hxxp://0x74cc54bd/static/home/dred/dred
일반적으로 IP 주소는 ‘점–10진수 표기법(Dot-decimal notation)’ 방식이다. 공격자들 또한 C&C 주소나 다운로드, 피싱 URL의 주소를 ‘hxxp://94.250.254[.]43/’ 형태로 사용한다. 하지만 IP 주소는 이 외에도 10진수 또는 16진수로 표현할 수 있으며, 대다수 웹 브라우저에서도 이런 표기법을 지원한다.
이 점으로 인해 공격자들은 URL 진단을 우회하고자 다양한 방식으로 표기된 URL을 사용해 왔다. 과거 피싱 PDF 악성코드를 제작할 때에도 10진수 주소를 사용한 바 있다. [1] 이 피싱 PDF 악성코드는 ‘hxxp://1593507371’이라는 URL을 포함하고 있었으며, 이를 ‘점-10진수 표기법’으로 표현하면 ‘hxxp://94.250.254[.]43/’가 된다.
[그림 1] 피싱 PDF 악성코드에 포함된 악성 URL
피싱 PDF의 URL을 클릭하면 ‘hxxp://1593507371’ 주소로 이동한다. 해당 주소의 결과 창은 ‘hxxp://94.250.254[.]43/’ 주소로 접속했을 때와 같다. 공격자는 악성 URL 탐지를 우회하기 위해 이와 같은 10진수 방식의 IP 주소를 URL로 사용했으며, 사용자가 접속할 경우 실제 다양한 피싱 사이트로 리다이렉트되었다.
[그림 2] 과거 PDF 링크 클릭 시 리다이렉트되는 주소
공격자들은 22번 포트, 즉 SSH 서비스가 동작하는 시스템들을 스캐닝 한 후 SSH 서비스가 동작 중인 시스템을 찾아 흔하게 사용되는 SSH 계정 정보 목록을 이용해 사전 공격을 수행한다. 로그인에 성공하면 다양한 악성코드를 설치할 수 있다.
펄봇(PerlBot)이라고도 불리는 셸봇은 펄 언어로 개발된 디도스 봇(DDoS Bot) 악성코드로, C&C 서버와 IRC 프로토콜을 사용해 통신한다. 셸봇은 꾸준히 사용되는 오래된 악성코드로, 최근까지도 다수의 리눅스 시스템을 노린 공격에 사용되고 있다. 안랩은 과거부터 공격지(Attack Source) 주소와 다운로드 및 C&C 주소를 지속적으로 탐지 및 대응해오고 있다.
최근까지도 유포 중인 셸봇 악성코드로는 ‘DDoS PBot v2.0’ 유형이 이다. 이 악성코드를 사용하는 특정 공격자는 악성코드 설치 시 지속적으로 ‘dred’라는 이름을 사용한다.
[그림 3] DDoS PBot v2.0의 초기 루틴
[표 1] 과거 셸봇 설치에 사용된 명령 및 C&C 정보
[표 2] DDoS PBot v2.0이 지원하는 기능들
2023년 9월에는 동일한 공격자가 기존의 ‘점–10진수 표기법’이 아닌 16진수 형태의 IP 주소를 사용해 셸봇을 설치 중인 정황이 확인됐다. [표 3]은 실제 해당 공격을 수행한 공격지 주소와 공격에 사용된 ID / Password 목록의 일부이다.
[표 3] 셸봇 공격자가 사용한 계정 정보 및 공격지 주소
공격자는 로그인에 성공한 이후 [표 4]의 명령들을 이용해 셸봇을 설치했다. 과거 사례와 비교하면 명령 자체는 동일하며, 16진수 값이 IP 주소로 사용된 점이 다르다.
[표 4] 최근 셸봇 설치에 사용된 명령 및 C&C 정보
[그림 4] DDoS PBot v2.0의 설정 정보
16진수로 표현된 주소 ‘0x2763da4e’는 ‘39.99.218[.]78’이며, ‘0x74cc54bd’는 ‘116.204.84[.]189’이다. 다운로드에는 curl이 사용됐는데, 웹 브라우저와 동일하게 16진수를 지원하기 때문에 리눅스 시스템 환경에서도 정상적으로 셸봇을 다운로드하고 펄을 통해 실행할 수 있다.
[그림 5] 16진수 IP 주소를 지원하는 curl
이처럼 최근에는 행위 기반의 URL 진단을 우회하기 위해 부적절하게 관리되고 있는 리눅스 SSH서버에 설치되고 있는 셸봇 악성코드 다운로드 주소에 16진수를 사용하는 사례가 다수 확인되고 있다. 셸봇이 설치되면, 리눅스 서버는 공격자의 명령을 받아 특정 대상에 대한 DDoS 공격을 수행하는 디도스 봇으로 사용되거나, 다양한 백도어 기능을 통해 추가 악성코드를 설치할 수 있다.
따라서 보안 관리자는 계정의 비밀번호를 추측하기 어려운 형태로 사용하고 주기적으로 변경해 무차별 대입 공격과 사전 공격으로부터 리눅스 서버를 보호해야 하며, 최신 버전으로 패치해 취약점 공격을 방지해야 한다. 또한, 방화벽 등 보안 제품을 통해 외부에 공개된 접근 가능한 서버에 대한 공격자의 접근을 통제해야 한다. 마지막으로 V3를 최신 버전으로 업데이트해 악성코드 감염을 사전에 차단할 수 있도록 조치해야 한다.
안랩은 리눅스 SSH 허니팟을 사용해 공격지 주소를 실시간으로 수집하고 있으며, AhnLab TIP를 통해 확인된 공격지 주소 정보를 제공하고 있다.
[그림 6] AhnLab TIP의 Thread IOC 페이지
한편, 안랩은 최근 조직 내 시스템으로부터 수집된 위협 정보에 대한 분석과 탐지, 대응을 지원하는 SaaS 기반 리스크 관리 플랫폼 ‘AhnLab XDR’을 출시했다. AhnLab XDR은 로그 데이터 수집 및 리스크 지수화, 자체 시나리오 룰을 활용한 리스크 분석 및 대응, 위협 인텔리전스(TI) 연동을 통한 위협의 내부 영향도 모니터링 등을 지원한다. AhnLab XDR을 도입하면 다양한 기존 보안 솔루션과의 연계를 통해 이메일, 엔드포인트, 네트워크, 클라우드 등 모든 영역에 존재하는 리스크를 식별해 최적의 대응 방안을 채택할 수 있다.
출처 : AhnLab