“XorDDoS” 악성코드는 2014년 처음 발견된 이후 최근까지 지속적으로 유포되고 있다.
공격자로부터 전달되는 명령, C&C 서버 주소 등 악성 행위에 필요한 데이터를 XOR 연산으로 디코딩하여 사용하는 특징을 가져 “XorDDoS” 라는 이름으로 명명 되었으며, IoT 장비 혹은 리눅스 서버를 감염하기 위해 ARM, x86 및 x64와 같은 다양한 Linux 아키텍처 버전으로 제작되었다.
공격자는 주로 SSH Brute Force 공격을 통해 공격 대상의 자격 증명을 획득하고 “XorDDoS” 악성코드를 설치한다. 이렇게 실행된 “XorDDoS” 는 자가복제 후 재실행, 프로세스명 변경 및 루트킷 등을 통해 탐지를 회피하려 하며 공격자의 명령을 전달받아 DDoS 공격을 수행한다.
자가복제 및 재실행
“XorDDoS” 악성코드는 실행 될 때마다 아래 경로에 자가복제하고, 복제한 파일의 끝에 더미값을 추가한 뒤 아래목록 중 한 개의 파일을 임의로 실행한다.
⦁ 복제 경로 : /lib/libudev.so
/usr/bin/자가복제 파일 (임의의 파일명)
/bin/자가복제 파일 (임의의 파일명)
/tmp/자가복제 파일 (임의의 파일명)
실행된 악성코드는 DDoS 공격을 수행한 뒤 “쉘 명령어” 와 자기 자신의 “PID” 를 인자 값으로 설정하여 다시 실행한다.
프로세스명 변경 및 종료
탐지를 회피하기 위해 자기 자신의 프로세스 명을 “쉘 명령어”로 변경하여 위장하고, 부모 프로세스를 종료한다.
자동 실행 설정
악성코드를 지속적으로 실행하기 위해 ‘/etc/init.d’ 경로에 스크립트를 생성하고 서비스로 등록하여 부팅 시 악성코드가 자동실행 되도록 설정한다.
또한, ‘/etc/cron.hourly.gcc.sh’ 파일 명으로 스크립트를 생성한 뒤 crontab 에 추가하여 3분마다 악성코드가 실행되도록 설정한다.
루트킷
루트킷 악성코드를 실행한 뒤 프로세스와 포트를 숨김 처리한다. (분석 샘플의 경우 루트킷 실행 코드는 존재하지만, 루트킷 데이터가 존재하지 않는다)
명령 수행
아키텍쳐, 커널버전, 메모리, CPU, IP 및 LAN 속도 정보를 수집한 뒤 인코딩하여 C&C 서버로 전달하고, 공격자의 명령을 전달받아 아래 [표 1] 과 같은 명령을 수행한다. 그러나 분석 시점에서는 연결되지 않는다.
“XorDDoS” 악성코드는 DDoS 공격 이외에도 백도어와 마이너 악성코드를 추가 다운로드하여 실행하는 사례도 발견되고 있어 주의가 필요하다. 따라서 패스워드를 주기적으로 변경하고, 보안 제품이나 OS를 항상 최신 버전으로 유지할 것을 권고한다.
'분석 정보 > 리눅스 분석 정보' 카테고리의 다른 글
소스코드가 공개된 EnemyBot 악성코드 (0) | 2022.11.04 |
---|---|
BlackBasta 랜섬웨어 리눅스 버전 (0) | 2022.09.30 |
리눅스 환경에서 패킷 필터를 악용하는 BPFDoor 악성코드 발견 (0) | 2022.08.09 |
리눅스 환경으로 확대된 RansomEXX 랜섬웨어 (0) | 2021.03.31 |
과거 리눅스 커널 취약점 활용한 악성파일 유포 주의 (0) | 2018.12.03 |