코인 마이너를 설치하는 Shc 리눅스 악성코드

ASEC 분석팀은 최근 Shc로 개발된 리눅스 악성코드가 코인 마이너 악성코드를 설치하고 있는 것을 확인하였다. 공격자는 부적절하게 관리되고 있는 리눅스 SSH 서버를 대상으로 사전 공격을 통해 인증에 성공한 뒤 다양한 악성코드들을 설치한 것으로 추정되며, Shc 다운로더 악성코드와 이를 통해 설치되는 XMRig 코인 마이너 그리고 Perl로 개발된 DDoS IRC Bot이 확인된다.


1. Shc (Shell Script Compiler)

Shc는 Shell Script Compiler의 약자로서 Bash 쉘 스크립트를 ELF 실행 파일 포맷으로 변환해 주는 역할을 한다.

[그림 1] General Shell Script Compiler 소개

Bash는 리눅스 운영체제에서 제공하는 기본 쉘로서 Bash 쉘이 지원하는 명령들은 스크립트 형태로 작성 가능하다. 즉 사용자들이 실행할 명령들을 스크립트로 작성할 수 있으며 스크립트임에 따라 조건문이나 반복문과 같은 문법들이 제공된다. Bash 쉘의 경우 윈도우 환경에서 제공되는 명령 프롬프트와 유사하다고 할 수 있으며 Bash 쉘 스크립트 파일은 윈도우의 Batch 스크립트라고 할 수 있다.

참고로 리눅스 환경에 Bash 쉘 스크립트를 실행 가능한 실행 파일인 ELF 포맷으로 변경해 주는 Shc가 있다면, 윈도우에는 Batch 스크립트를 실행 파일인 EXE 포맷으로 변경시켜 주는 bat2exe 유틸리티가 있다. 윈도우 환경에서 공격자들은 안티바이러스와 같은 보안 제품의 파일 진단을 우회하기 위해 bat2exe를 이용해 악성 Batch 스크립트를 실행 파일로 변환하여 유포하는 경향이 있다. 공격자가 악성 Bash 쉘 스크립트를 직접 유포하는 대신 ELF 포맷으로 변환하여 유포하는 것도 윈도우 환경에서처럼 파일 진단을 우회하기 위한 목적인 것으로 추정된다.

Shc는 데이터 섹션에 원본 Bash 쉘 스크립트를 Alleged RC4 알고리즘으로 인코딩해서 가지고 있다. 이후 실행될 때 동일한 ARC4 알고리즘을 이용해 원본 스크립트를 복호화하며 이렇게 구한 스크립트 명령들을 실행한다.

[그림 2] ARC4 알고리즘을 이용한 복호화 루틴


2. Shc 다운로더

다음은 침해가 발생한 고객사로부터 접수된 Shc 악성코드의 복호화 된 Bash 쉘 스크립트이다. 기능은 외부에서 파일을 다운로드해 실행하는 형태이고 현재 다운로드 가능한 주소에서는 XMRig 코인 마이너를 설치하는 것으로 보아 코인 마이너 다운로더 악성코드로 추정된다.

[그림 3] 복호화 된 Bash 쉘 스크립트의 일부 루틴

참고로 뒤에서 다루겠지만 해당 악성코드는 Perl로 개발된 DDoS IRC Bot 악성코드들과 함께 감염된 것이 특징이다. 해당 DDoS IRC Bot들은 과거부터 최근까지 꾸준하게 부적절한 계정 정보를 갖는 리눅스 서버를 대상으로 설치되고 있다. 공격자들은 스캐닝 과정을 거쳐 SSH 서버에 대한 사전 공격을 시도하며 성공할 경우 Perl IRC Bot을 포함한 다양한 악성코드들을 설치하고 있다. 이렇게 설치되는 악성코드들로는 XMRig, SSH 스캐너, 다양한 IRC Bot 악성코드들이 있다.

접수된 악성코드를 분석하면 실행에 필요한 “run” 파일이 존재하지 않고, 다수의 인자를 필요로 한다는 점에서 단독으로 분석하기에는 한계가 존재한다.

인자 번호기능
1다운로드 URL 주소이자 다운로드될 파일의 이름.
2버전. 기본적으로 “universal” 문자열.
3생성할 PID 파일의 이름.
4Socks5 호스트 이름.
5설치 과정이 진행될 위치. 기본적으로 “/usr/local/games/”.
6추가 다운로드 주소.
7추가 명령.
[표 1] 실행에 필요한 인자

ASEC 분석팀에서는 연관 악성코드들을 추적하던 중 유사한 형태의 Shc 다운로더 악성코드가 VirusTotal에 업로드되어 있는 것을 확인하였다. 이러한 악성코드 모두 국내에서 VirusTotal에 업로드된 것으로 추정했을 때, 현재 주로 국내 시스템들을 대상으로 공격이 발생하고 있는 것으로 보인다.

해당 악성코드는 위에서 다룬 유형보다 훨씬 간단한 형태로서 추가적인 인자를 필요로 하지 않고 다운로드 주소 또한 완성된 URL로 존재한다.

[그림 4] 유사 파일에서 추출한 Bash 쉘 스크립트


3. XMRig 코인 마이너

Shc 다운로더 악성코드는 외부에서 압축 파일을 다운로드하여 “/usr/local/games/” 경로에 생성한 후 “run” 파일을 실행시키는 기능을 담당한다. 현재 다운로드 가능한 압축 파일에는 XMRig 코인 마이너 악성코드 외에도 마이닝 풀의 주소가 포함된 config.json 그리고 “run” 스크립트가 모두 존재한다.

[그림 5] 다운로드된 압축 파일
[그림 6] config.json 파일

설정 데이터가 포함된 config.json 파일이 동일한 경로에 존재하기 때문에 XMRig 실행 시 설정을 전달할 필요는 없지만, 다음과 같이 “run” 스크립트를 확인해 보면 config.json 과는 약간 다른 설정을 전달하고 XMRig를 실행시킨다.

[그림 7] XMRig를 실행시키는 run 스크립트


4. DDoS IRC Bot

공격자는 감염 시스템에 코인 마이너를 설치하는 것 외에도 명령을 받아 DDoS 공격을 수행할 수 있는 IRC Bot을 설치하였다. 이 DDoS IRC Bot은 Perl 언어로 개발된 것이 특징이며 이름과 같이 C&C 서버와의 통신에 IRC 프로토콜을 이용한다.

2개의 악성코드 모두 유사한 형태인데 현재 하나는 C&C 서버 즉 IRC 서버에 접속이 불가하지만 다른 하나는 접속은 가능하다. 접속은 가능하다고 하더라도 채널에 입장은 불가한데 이는 비밀번호가 “ddosit”에서 다른 값으로 변경되었기 깨문으로 추정된다. 참고로 채널 입장이 거부된 이후 보이는 메시지에는 URL이 포함되어 있는데, 해당 URL에서 다운로드해지는 압축 파일은 위의 XMRig가 포함된 압축 파일이다.

[그림 8] IRC 서버에 접속하여 채널에 입장 시도하는 과정

다음은 설정 데이터로서 IRC 서버의 주소 및 포트 번호 그리고 입장할 IRC 채널 이름 “#xmr”과 채널 입장 시 필요한 비밀번호 “@”가 설정되어 있다. 참고로 DDoS IRC Bot은 실제 공격자를 검증하기 위해 추가적인 작업을 진행하는데, 명령을 내리기 위해서는 채널에 입장한 사용자의 닉네임이 아래의 4개 중 하나여야 한다는 점과, 호스트 주소가 “qwerty”여야 한다는 것이 조건이다.

[그림 9] DDoS Perl IRC Bot의 설정 데이터

위의 조건이 만족할 경우 공격자로 인식하고 전달받은 명령을 수행하는데, TCP Flood, UDP Flood, HTTP Flood와 같은 DDoS 공격들뿐만 아니라 명령 실행, 리버스 쉘, 포트 스캐닝, 로그 삭제와 같은 다양한 기능들을 지원한다. 다음은 실제 공격자의 명령이 아니라 테스트 과정에서 캡쳐한 스크린샷으로서, 수행 가능한 명령 목록을 얻기 위해 “!u @commands” 명령을 입력하면 DDoS IRC Bot이 명령들의 목록을 #xmr 채널에 전달해 주는 과정을 보여준다.

[그림 10] IRC 서버에서 전달한 명령을 수행


결론

리눅스 SSH 서버를 대상으로 하는 공격에는 대표적으로 부적절하게 계정 정보를 관리하고 있는 시스템들에 대한 무차별 대입 공격(Brute Forcing)과 사전 공격(Dictionary Attack)이있다. 이에 따라 관리자들은 계정의 비밀번호를 추측하기 어려운 형태로 사용하고 주기적으로 변경하여 무차별 대입 공격과 사전 공격으로부터 리눅스 서버를 보호해야 하며, 최신 버전으로 패치하여 취약점 공격을 방지해야 한다.

또한 외부에 오픈되어 접근 가능한 서버에 대해 방화벽과 같은 보안 제품을 이용해 공격자로부터의 접근을 통제해야 한다. 마지막으로 V3를 최신 버전으로 업데이트하여 악성코드의 감염을 사전에 차단할 수 있도록 신경 써야 한다.

파일 진단
– Downloader/Linux.Agent.13360 (2022.12.21.00)
– Downloader/Linux.Agent.13256 (2022.12.25.03)
– Downloader/Linux.Agent.13392 (2022.12.25.03)
– Shellbot/Perl.Generic.S1118 (2020.02.19.07)
– Linux/CoinMiner.Gen2 (2019.07.31.08)
– CoinMiner/Text.Config (2022.12.26.03)
– Trojan/Shell.Agent.SC185400 (2022.12.26.03)
– Trojan/Shell.Agent.SC185401 (2022.12.26.03)

IOC
MD5

– c13e7e87e800a970df4d113d60e75ab4: Shc 다운로더 (kermine)
– 1f0e5f4736a567a631946a0d9878fad7 : Shc 다운로더 (VirusTotal)
– 6fa237ce385dc9495246bc4498b64c2d : Shc 다운로더 (VirusTotal)
– 7650957bf7d798b284ea01a732ad07a5 : Perl DDoS IRC Bot (botcarternew)
– 077279a2ae5b1bc89540a1293fa807f1 : Perl DDoS IRC Bot (.ubuntu)
– 497bec45d865b2a9165699433c64816c : XMRig (s)
– c1e65d481af4e6d4bad74cca4e8737cb : XMRig (xmrig)
– 48e5ce77980d52c68a7bbfd091756036 : XMRig (.system3d)
– 16b7ef9cbc89ccc08f5fcd80e473c169 : XMRig 설정 파일 (config.json)
– a2fd0f3e18259d0bba9ebbf910e925c4 : XMRig 설정 파일 (config.json)
– a2c7c9e3b468e7e02e882066b05c55c3 : 런쳐 스크립트 (run)
– c15ed837bd367fd4f66562b57b8fb57c ” 런쳐 스크립트 (.b4nd1d0)

C&C 주소
– 64.227.112[.]247:80 – Perl DDoS IRC Bot
– 157.230.116[.]194:80 – Perl DDoS IRC Bot

다운로드 주소
– hxxp://172.105.211[.]21/
– hxxp://172.105.211[.]21/xmrig
– hxxp://172.105.211[.]21/snunewa.tar
– hxxp://167.172.103[.]111/
– hxxp://172.104.170[.]240/
– hxxp://172.104.170[.]240/snunewa.tar
– hxxp://wget.hostname[.]help/
– hxxp://wget.hostname[.]help/driver.zip
– hxxp://pateu.freevar[.]com/xmrminer2.tgz

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

Categories:악성코드 정보

Tagged as:,,,

0 0 votes
별점 주기
guest

0 댓글
Inline Feedbacks
View all comments