Msupedge라는 이전에 문서화되지 않은 백도어가 대만의 이름이 밝혀지지 않은 대학을 표적으로 삼은 사이버 공격에 사용되었습니다.
Broadcom의 일부인 Symantec Threat Hunter Team은 The Hacker News와 공유한 보고서에서 “이 백도어의 가장 주목할 만한 특징은 DNS 트래픽을 통해 명령 및 제어(C&C) 서버와 통신한다는 것입니다.”라고 밝혔습니다.
현재로선 백도어의 출처와 공격의 목적은 알려지지 않았습니다.
Msupedge 배포를 용이하게 했을 것으로 추정되는 초기 액세스 벡터에는 PHP에 영향을 미치는 최근 공개된 심각한 결함(CVE-2024-4577, CVSS 점수: 9.8)을 악용하는 것으로 알려졌으며, 이 결함은 원격 코드 실행을 달성하는 데 사용될 수 있습니다.
문제의 백도어는 “csidl_drive_fixedxampp” 및 “csidl_systemwbem” 경로에 설치된 동적 링크 라이브러리(DLL)입니다. DLL 중 하나인 wuplog.dll은 Apache HTTP 서버(httpd)에서 시작합니다. 두 번째 DLL의 부모 프로세스는 불분명합니다.
Msupedge의 가장 주목할 만한 측면은 오픈소스 dnscat2 도구에 기반한 코드를 사용하여 C&C 서버와 통신하는 데 DNS 터널링에 의존한다는 것입니다.
“이름 확인을 수행하여 명령을 수신합니다.” Symantec에서 언급했습니다. “Msupedge는 DNS 트래픽을 통해 명령을 수신할 뿐만 아니라 C&C 서버(ctl.msedeapi(.)net)의 확인된 IP 주소를 명령으로 사용합니다.”
구체적으로, 해결된 IP 주소의 세 번째 옥텟은 백도어의 동작을 결정하는 스위치 케이스로 기능하여 7을 빼고 16진수 표기법을 사용하여 적절한 응답을 트리거합니다. 예를 들어, 세 번째 옥텟이 145인 경우 새로 파생된 값은 138(0x8a)로 변환됩니다.
Msupedge에서 지원하는 명령은 아래와 같습니다.
- 0x8a: DNS TXT 레코드를 통해 수신된 명령을 사용하여 프로세스 생성
- 0x75: DNS TXT 레코드를 통해 수신된 다운로드 URL을 사용하여 파일 다운로드
- 0x24: 미리 정해진 시간 간격 동안 절전 모드
- 0x66: 미리 정해진 시간 간격 동안 절전 모드
- 0x38: 용도가 알려지지 않은 임시 파일 “%temp%1e5bf625-1678-zzcv-90b1-199aa47c345.tmp”를 생성합니다.
- 0x3c: “%temp%1e5bf625-1678-zzcv-90b1-199aa47c345.tmp” 파일을 삭제합니다.
이러한 사태 발전은 UTG-Q-010 위협 그룹이 Pupy RAT이라는 오픈소스 맬웨어를 배포하기 위해 암호화폐와 일자리 관련 미끼를 활용하는 새로운 피싱 캠페인과 연관이 있다는 사실이 밝혀지면서 발생했습니다.
“공격 체인에는 임베디드 DLL 로더가 있는 악성 .lnk 파일이 사용되며, Pupy RAT 페이로드 배포로 끝납니다.”라고 Symantec은 말했습니다. “Pupy는 Python 기반 원격 액세스 트로이 목마(RAT)로, 반사 DLL 로딩 및 메모리 내 실행 등의 기능이 있습니다.”