최근 ID 명령어 위장한 새로운 드로퍼 악성코드 포착...시스템 제어권 탈취 우려
[보안뉴스 박은주 기자] 최근 국내 리눅스 시스템을 대상으로 백도어 악성코드인 ‘블루셸(BlueShell) 악성코드’를 사용한 공격이 확인됐다. 블루셸 악성코드가 시스템에 설치될 경우 공격자의 명령을 받아 다양한 악성 행위를 저지르며, 시스템 제어권을 탈취당할 수 있다.
▲깃허브에 공개되어 있는 BlueShell 백도어[자료=ASEC]
안랩 시큐리티 인텔리전스 센터(ASEC)에 따르면 이번에 발견된 블루셸 악성코드는 2023년 우리나라 및 태국을 대상으로 감행한 APT 공격에 사용된 악성코드와 같은 유형으로 밝혀졌다. 해당 악성코드는 공격 대상을 검사하는 조건에 리눅스 시스템의 호스트 이름을 검사할 수 있지만, 해당 정보 단독으로 공격 대상을 특정하기는 어려움이 존재했다. 즉 악성코드만으로는 초기 침투 방식과 같은 연관 정보는 확인할 수 없었던 것.
그러나 최근 같은 유형의 블루셸 악성코드에서 ID 명령어를 위장한 새로운 드로퍼 악성코드가 확인됐으며, 추가 악성코드 및 명령제어(C&C) 서버가 확인됐다. 악성코드에 감염된 시스템은 제어권을 공격자에게 탈취당할 수 있어 각별한 주의가 요구된다.
블루셸은 Go 언어로 개발된 백도어 악성코드로서, 깃허브에 공개되어 있으며 윈도우·리눅스·맥 운영체제를 지원한다. 설명이 적혀 있는 ReadMe 파일이 중국어인 것이 특징인데, 이는 제작자가 중국어 사용자일 가능성을 보여준다. 블루셸은 지속해서 국내 대상 공격에 사용되고 있다.
기능상 단순한 형태인 블루셸은 C&C 서버와의 통신에 TLS 암호화를 지원해 네트워크 탐지를 우회한다. 공격자의 명령을 받아 수행할 수 있는 기능으로는 원격 명령 실행, 파일 다운로드·업로드, Socks5 프록시가 있다.
블루셸은 3개의 설정 데이터를 가지고 있는데 C&C 서버의 IP 주소, Port 번호, 그리고 대기 시간이다. 일반적으로 설정 데이터는 악성코드 제작 시 바이너리에 하드코딩돼 저장되며 이후 ‘init()’ 함수에서 초기화 과정을 거쳐 사용된다.
이번에 확인된 유형은 드로퍼를 생성하는 또 다른 상위 드로퍼가 함께 확인됐다. 상위 드로퍼 악성코드는 ‘id’라는 이름으로 접수됐으며, 이름과 같이 리눅스의 ‘id’ 명령을 위장함과 동시에 블루셸 드로퍼, 최종적으로 블루셸l 백도어 악성코드를 설치한다. 공격자는 지속성 유지를 위해 ‘id’ 명령어가 위치한 바이너리를 악성코드로 변경해 해당 명령이 실행될 때마다 악성코드가 지속해서 실행될 수 있도록 한 것으로 추정된다.
해당 악성코드는 실행 시 먼저 자신을 읽어와 메모리에 저장한 후 자가 삭제한다. 이후 현재 실행 중인 프로세스와 동일한 이름으로 파일을 쓰고 실행한다. 상위 드로퍼는 기존 밝혀진 블루셸 드로퍼와 달리 바이너리를 암호화하지 않고 가지고 있는 것이 특징이다.
▲동일 유형 악성코드의 일자별 유포 현황[표=ASEC]
지금까지 확인된 블루셸 악성코드는 위 표와 같다. 공격자는 적어도 7번에 걸쳐 악성코드를 제작해 공격에 사용했으며 매번 거의 유사한 형태를 띠고 있다. 바이러스 토탈(VirusTotal)에서 해당 악성코드를 올린 국가를 보면, 공격 대상이 된 것으로 추정되는 국가는 대부분 대한민국이며 최소한 2022년부터 2023년까지 공격이 지속된 것으로 보인다.
ASEC는 이와 같은 보안 위협을 방지하기 위해 취약한 환경 설정을 검사하고, 관련 시스템들을 항상 최신 버전으로 업데이트해 해당 공격으로부터 보호해야 한다고 당부했다.
[박은주 기자(boan5@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>