슈포스/기술스터디

[AhnLab]국내 기업 노린 안다리엘 해킹 공격, 최신 사례와 대응 방안

haerim9.9 2024. 9. 25. 01:09

ERP(전사적 자원 관리)는 재무, 인사 관리, 제조, 공급망, 서비스 조달 등 비즈니스의 여러 부문에서 사용되며, 기업 운영에 필요한 도구 및 프로세스가 포함 소프트웨어 시스템이다.

이러한 ERP 솔루션을 악용해 공격을 수행하는 정황이 확인됐다.

 

최근의 사례에서는 공격자가 국내 방산업체 및 제조업의 취약한 웹서버를 공격해 악성코드를 유포했다. 해당 악성코드의 유포 과정을 살펴보자.

 


 

확인된 악성코드 중 기존 ERP 솔루션의 업데이트 프로그램에 악성 루틴이 삽입된 형태가 존재한다. 이런 방식은 2017년 안다리엘이  HotCroissant 백도어를 설치하기 위해 사용했던 사례와 유사하다. 악성코드를 개발하는 과정에서 Xct라는 문자열이 사용됐으며, 여기에서는 최종적으로 사용된 백도어를 Xctdoor로 분류한다.

 

라자루스의 하위그룹인 안다리엘에서는 Rifdoor라는 백도어 악성코드를 사용한다.
Rifdoor는 2015년 11월 발견되어 2016년 초까지 활동이 확인됨.
2017부터는 Rifdoor의 변종이 공격에 사용됨. 해당 변종을 이 글에선 ‘HotCroiassant’라고 분류한다.

 

*2017년의 사례
공격자는 업데이트 프로그램인 “ClientUpdater.exe”에 악성 루틴을 삽입했다.

[그림 1] ERP 업데이트 프로그램에 삽입된 다운로더 루틴

업데이트 프로그램에 삽입된 루틴은 외부에서 추가 페이로드를 다운로드해 실행하는 기능을 담당한다. 해당 주소에서 다운로드된 악성코드는 HotCroissant 백도어였다.

 

*2024년 5월, 최근의 유사한 공격 사례

과거 “ClientUpdater.exe”에 다운로더 루틴이 삽입된 것과 달리, 이번에는 Regsvr32.exe 프로세스를 이용해 특정 경로의 DLL(Dynamic Link Library)을 실행하는 루틴이 삽입돼 있었다

[그림 2]  ERP 업데이트 프로그램에 삽입된 실행 루틴

 

확인된 DLL이 시스템 내의 정보를 탈취하고, 공격자의 명령을 실행할 수 있는 악성코드인 것으로 보아, 과거와 유사하게 특정 ERP의 업데이트 서버가 공격당한 것으로 보인다.

 

최종적으로 설치된 DLL 악성코드는 Xctdoor로 분류된다. Xctdoor는 Regsvr32.exe 프로세스를 통해 실행될 수 있도록 DLL 포맷이며, 고(Go) 언어로 개발됐다.

Xctdoor가 실행될 경우, 자신을 “taskhost.exe”, “taskhostex.exe”, “taskhostw.exe”, “explorer.exe”와 같은 프로세스에 인젝션한다.

이후 자신을

“%LOCALAPPDATA%\Packages\Microsoft.MicrosoftEdge.Current_8wekyb3d8bbwe\Settings\roaming.dat”

경로에 복사하고 재부팅 후에도 동작할 수 있도록 시작 프로그램 폴더에 바로 가기 파일을 생성한다. 바로 가기 파일인 “MicrosoftEdge.lnk”는 “roaming.dat”을 직접 실행하는 형태가 아니며, Regsvr32.exe를 이용해 동일 경로의 “settings.lock” 파일을 실행한다.

 

“settings.lock”은 인젝터 악성코드로서 공격자가 사용한 이름에 따라 XcLoader로 분류한다. XcLoader는 단순하게 동일 경로의 “roaming.dat” 파일을 탐색기, 즉, explorer.exe에 인젝션하는 기능을 담당한다.

 

[그림 3] XcLoder의 인젝션 루틴

+고 언어로 개발된 XctLoader는 최초로 확인됐으며, 이번 공격에서는 고 언어로 개발된 XctLoader와 C언어로 개발된 XctLoader가 확인됐다.

 

 

Xctdoor

최종적으로 실행되는 Xctdoor는 C&C 서버에 사용자 및 PC 이름, 악성코드의 PID 등과 같은 기본적인 정보를 전송하고 명령을 전달받아 실행할 수 있는 백도어 악성코드다.

이 외에도 스크린샷, 키로깅, 클립보드 로깅, 드라이브 정보를 전송하는 정보 탈취 기능도 함께 지원한다.

 

Xctdoor는 HTTP 프로토콜을 이용해 C&C 서버와 통신하는데, 패킷 암호화에는 메르센 트위스터(mt19937) 알고리즘과 베이스64(Base64) 알고리즘이 사용된다.

[그림 4] Xctdoor가 지원하는 기능들 / [그림 5] Xctdoor의 C&C 통신 패킷

 

*2024년 3월의 사례

웹 서버를 공격해 XcLoader를 설치하는 사례가 확인됐다. 공격 대상이 2013년 개발된 8.5 버전의 윈도우 IIS 웹 서버인 것으로 보아, 부적절한 설정이나 취약점 공격을 통해 악성코드를 유포한 것으로 추정된다.

IIS 서버에서 실행된 명령들을 보면, 악성코드 설치와 관련된 행위 외에도 시스템의 정보를 조회하는 등의 행위가 확인된다. 이는 일반적으로 웹 서버에 웹 셸을 설치하고 이를 이용해 명령을 실행하는 사례들과 유사하며, 해당 시스템 또한 웹 셸이 설치돼 있을 것으로 추정된다.

[그림 6] 웹 서버를 공격해 XcLoader를 설치하는 로그

 

공격에 사용된 XcLoader는 동일 경로에 위치한 “roaming.dat” 파일을 읽어 복호화한 후, 프로세스에 인젝션하는 기능을 담당한다. 2024년 5월 사례와의 차이점은 “roaming.dat” 파일이 PE 형태지만, 해당사례에서는 암호화된 파일이라는 점이다.

XcLoader는 주로 탐색기 프로세스를 인젝션 대상으로 하지만, “sihost.exe” 프로세스를 선택하는 경우도 존재한다.

 

공격에 사용된 XcLoader의 특징으로는 [그림 7]과 같이 특정 경로에 로그를 쓰는 것이다. 이 경로는 웹 서버와 관련된 구체적인 경로로 보이며, 이미 공격자에 의해 웹 서버가 장악됐다는 것을 의미한다.

[그림 7] 악성코드가 행위를 로깅하는 경로

공격이 발생한 시스템들 중 하나에서는 이후 Ngrok의 로그가 확인되기도 했다. Ngrok는 터널링 프로그램으로서 외부에서 NAT 환경 내부에 존재하는 시스템에 접속할 수 있게 노출시켜 주는 툴이다.

일반적으로 공격자가 감염 대상 시스템에 RDP(Remote Desktop Protocol)로 접속해 원격 제어를 하기 위해 설치하는 경우가 많다.

update  tcp 3389 –authtoken 2gX7z8V0maCIrjdsYA1jaDF9wSz_4RyHTgn7eAnYhSBxjis9J

공격자가 입력한 Ngrok(update.exe) Command Line

 


 

모르는 용어 정리(해당 용어들은 본문에서 기울임꼴을 사용했음)

더보기

*라자루스(Lazarus) : 북한의 해킹 단체이며, 국가 차원의 지원을 받는 것으로 알려져 있다. 2014년 소니픽쳐스를 공격해 이름을 알렸고, 현재까지 활동중이다.

참조 - https://blog.naver.com/kisa118/223346047014

 

*안다리엘(Andariel) : 라자루스의 하위 그룹으로 알려졌으며, 해당 그룹의 공격 대상자는 대한민국이다. 목표 분야는 주로 국방, 방위산업, 통신, 에너지 등 안보와 관련된 곳이 많다.

참조 - https://www.soft2000.com/27975

 

*백도어(Backdoor) : 시스템에 접근하기 위해 정상적인 인증 절차를 무효화하는 악성 코드의 유형으로, 컴퓨터의 시스템이나 네트워크, 또는 응용 프로그램의 일반적인 보안 조치를 우회해 접근할 수 있는 방식을 말한다.

참조 - https://www.inforad.co.kr/single-post/cyber-security-backdoor 

 

*DLL(Dynamic Link Library): 프로그램이 특정 기능을 수행하기 위해 필요한 코드와 리소스를 담고 있는 파일이다.

 

*Regsvr32.exe : Windows 운영체제에서 DLL(동적 링크 라이브러리) 파일을 등록하거나 등록 해제하는 데 사용되는 시스템 프로세스이다.

 

*인젝션(injection) : 악성코드가 정상적인 프로세스나 애플리케이션에 자신을 삽입하여, 해당 프로세스의 권한을 이용해 악성 행위를 수행하는 기술이다.

 

*XcLoader : Xcdoor를 정상 프로세스에 인젝션하는 기능을 담당하는 인젝터 악성코드다.

 

*Xcdoor : 스크린 캡쳐, 키로깅, 클립보드 로깅, 드라이브 정보 등 감염 대상 시스템의 정보를 탈취하고, 공격자의 명령을 실행할 수 있는 백도어 악성코드다. 따라서, 공격자는 해당 악성코드를 통해 감염 대상 시스템을 제어하고 정보를 탈취할 수 있다.

 

*PE : 이식 가능한 실행 파일

 

*웹 셸 : 감염된 서버를 원격으로 제어할 수 있는 스크립트

 


최종 요약

2017년과 비슷한 사례의 악성코드 유포가 2024년 5월 발생함.

유사한 부분 : 특정 ERP의 업데이트 서버가 공격당함. => ERP 솔루션을 악용함.

차이점 : 외부에서 추가 페이로드를 다운로드해 실행하는 2017년의 사례와 달리, 이번 사례는 특정 경로의 DLL을 실행하는 루틴이 삽입됨. => 과거의 사례와 달리 비교적 단순화됨.

 

2017년 : HotCroissant 백도어 사용

2024년 3월 : XcLoader 사용

2024년 5월 : Xctdoor 사용

 

결론

사용자 : 출처가 불분명한 메일의 첨부 파일이나 웹 페이지에서 다운로드한 실행 파일을 주의

기업 보안 담당자 : 자산 관리 프로그램의 모니터링을 강화, 프로그램 보안 취약점이 있다면 패치하기

 

운영체제(OS) 및 인터넷 브라우저 등의 프로그램들과 V3를 최신 버전으로 업데이트해 악성코드 감염을 사전에 차단할 것.


본 게시글은 아래의 링크 속 콘텐츠를 기반으로 작성함.

https://www.ahnlab.com/ko/contents/content-center/35632

 

AhnLab | 콘텐츠 센터

 

www.ahnlab.com