En este artículo exploramos el ecosistema del troyano backdoor Sathurbot, demostrando su uso de torrents como medio de propagación y cómo hace fuerza bruta distribuida para dar con contraseñas débiles de cuentas de administrador en sitios WordPress.
El leecher de torrents
la botnet consta de más de 20.000 computadoras infectadas
¿Buscas descargar una película o software sin pagarlo? Podría haber riesgos asociados...
Tu motor de búsqueda preferido podría devolverte enlaces a torrents en sitios que normalmente no tienen nada que ver con la compartición de archivos.
Sin embargo, podrían estar basados en WordPress y haber sido comprometidos.
Aquí hay algunos ejemplos de resultados de búsqueda:
Hacer clic en algunos de esos enlaces lleva a las siguientes páginas; nota cómo algunas incluso usan HTTPS:
Todas las subpáginas de la película llevan al mismo archivo torrent, mientras que todas las subpáginas del software llevan a otro archivo torrent. Cuando empiezas a descargarlo en tu cliente de torrent favorito, encontrarás que tiene buen seeding y por lo tanto parece legítimo.
Si descargas el de la película, su contenido será un archivo con una extensión de video acompañado de lo que parece ser un paquete de instalación de un códec, y un archivo de texto con explicaciones. En tanto, el torrent del software contiene un ejecutable que parece ser un instalador y un pequeño archivo de texto. El objetivo de los dos es lograr que la víctima ejecute el archivo que ocasiona la carga del DLL de Sathurbot en el sistema.
Si inicias ese ejecutable, te aparecerá un mensaje como este:
Mientras evalúas tus opciones empiezan a pasar cosas malas en segundo plano. Tu sistema se acaba de convertir en un bot de la red Sathurbot.
Características de backdoor y downloader
En el arranque, Sathurbot recupera su C&C con una consulta a DNS. La respuesta llega como un registro DNS TXT. Su valor de cadena hexadecimal se descifra y se utiliza como el nombre de dominio de C&C para informar el estado, recuperar tareas a ejecutar y obtener enlaces a otras descargas de malware.
Sathurbot puede actualizarse a sí mismo y descargar e iniciar otros ejecutables. Hemos visto variaciones de Boaxxe, Kovter y Fleercivet, pero esa no es necesariamente una lista exhaustiva.
Luego, Sathurbot reporta su instalación exitosa al C&C, junto con un puerto de escucha. Además, le confirma periódicamente que está activo y en buen estado, esperando recibir tareas adicionales.
Características de araña web (o web crawler)
Sathurbot viene con más de 5.000 palabras genéricas básicas, que se combinan en forma aleatoria para formar frases de entre dos y cuatro palabras. Estas combinaciones se usan como una cadena de consulta a través de los motores de búsqueda Google, Bing y Yandex.
En las páginas web de cada una de las URL de los resultados de búsqueda, se selecciona un fragmento de texto aleatorio de 2-4 palabras (esta vez puede ser más significativo, ya que es de texto real) y se utiliza para la próxima ronda de consultas de búsqueda.
Finalmente, el segundo conjunto de resultados de búsqueda (hasta las tres primeras páginas) se recolecta para nombres de dominio.
Los nombres de dominio extraídos se prueban posteriormente para ver si fueron creados en el marco de WordPress. El truco aquí es comprobar la respuesta de la URL http: // [domain_name] /wp-login.php.
Después se busca la página de índice raíz del dominio y se examina la presencia de otros sistemas, ya que los ciberdelincuentes también están interesados en Drupal, Joomla, PHP-NUKE, phpFox y DedeCMS.
En el arranque, o en ciertos intervalos de tiempo, los dominios recolectados son enviados al C&C (se utiliza un dominio diferente al del backdoor, uno hard-coded).
Ataque distribuido a contraseñas de WordPress
Ahora el cliente está listo para obtener una lista de credenciales de acceso al dominio (formateada como login:password@domain) para detectar las contraseñas. Los diferentes bots de la botnet de Sathurbot prueban diferentes credenciales de inicio de sesión para el mismo sitio. Cada robot intenta un único inicio de sesión por sitio y sigue adelante, lo cual ayuda a garantizar que su dirección IP no entrará en la lista negra de ningún sitio de la lista de objetivos y que puede volver a visitarlo en el futuro.
Durante nuestra investigación, el C&C devolvió listas de 10.000 ítems para probar.
Para el ataque en sí mismo, se usa la API XML-RPC de WordPress y se abusa particularmente de la API wp.getUsersBlogs. Una solicitud típica luce así:
La secuencia para probar una serie de credenciales de dominio se ilustra en la siguiente figura:
La respuesta es evaluada y los resultados enviados al C&C.
Cliente de Torrent - seeder
El bot tiene la biblioteca libtorrent integrada y una de las tareas es convertirse en un seeder, es decir, simular ser un usuario que ha descargado un torrent y que ahora lo comparte para que esté a disposición de los demás. En síntesis, se descarga un archivo binario, se crea un torrent y se produce el seeding.
De esta forma se completa el ciclo de un leecher (usuario que todavía no tiene el torrent completo) a un seeder involuntario:
Es importante remarcar que no todos los bots de la red ejecutan todas las funciones, ya que algunos son solo arañas web, otros solo atacan la API XML-RPC, y algunos hacen las dos cosas. Además, no todos los bots parecen estar haciendo seeding de un torrent.
Impacto
Los intentos mencionados anteriormente en /wp-login.php desde una multitud de usuarios, incluso dirigidos a sitios web que no alojan WordPress, son el impacto directo de Sathurbot. Muchos administradores web observan esto y se preguntan por qué está sucediendo. Además, en los sitios de WordPress se pueden ver los posibles ataques a wp.getUsersBlogs en sus registros.
A través del examen de registros, artefactos del sistema y archivos, supimos que la botnet consta de más de 20.000 computadoras infectadas y ha estado activa al menos desde junio de 2016.
En algunas ocasiones hemos visto enlaces de torrents que también se mandan por correo electrónico.
Detección
Los administradores de sitios deberán buscar subpáginas y/o directorios desconocidos en el servidor. Si contienen referencias a ofertas de descarga de torrents, se deberá revisar los logs en busca de ataques y posibles backdoors.
Los usuarios deberán ejecutar Wireshark con el filtro http.request sin ningún navegador web abierto y verán demasiadas solicitudes como GET /wp-login.php y/o POST /xmlrpc.php. Como alternativa, podrán buscar archivos o entradas de registro listadas en la sección de IoC, más abajo.
Los usuarios de ESET están protegidos de esta amenaza.
Eliminación
Los administradores web deberán cambiar contraseñas, eliminar las subpáginas que no pertenezcan al sitio y, opcionalmente, restaurar el sitio desde un backup anterior a la infección.
Los usuarios podrán usar un administrador de archivos externo para encontrar el .DLL sospechoso (tener en cuenta que los archivos y directorios tienen el atributo oculto configurado), abrir Process Explorer o el Administrador de tareas, detectar kill explorer.exe y/o rundll32.exe, eliminar (poner en cuarentena) el .DLL afectado y reiniciar.
Nota: esto solo eliminará a Sathurbot, no a cualquier otro malware adicional que haya podido descargar.
Como alternativa, considera usar una solución antimalware completa, o al menos un escáner online.
Prevención
Para los administradores, si el funcionamiento normal del sitio no requiere la API XML-RPC, sería mejor deshabilitarla y usar contraseñas complejas.
Para los usuarios, evitar los ejecutables descargados desde fuentes que no sean de desarrolladores reconocidos, así como la descarga de archivos desde sitios que no fueron diseñados para compartir archivos.
IoCs
Hemos visto a Sathurbot instalarse en:
\ProgramData\Microsoft\Performance\Monitor\PerformanceMonitor.dll
\ProgramData\Microsoft\Performance\TheftProtection\TheftProtection.dll
\ProgramData\Microsoft\Performance\Monitor\SecurityHelper.dll
\Users\*****\AppData\Local\Microsoft\Protect\protecthost.dll
Se ejecuta en el contexto del proceso rundll32.exe o explorer.exe y bloquea la edición de los archivos y las claves del registro. Está presente en versiones de x32 y x64 bits en el instalador.
Subcarpetas a lo anterior (contienen los archivos con seed)
\SecurityCache\cache\resume\
\SecurityCache\cache\rules\
\SecurityCache\data\
\SecurityCache\zepplauncher.mif - contiene los nodos DHT
\temp\
%appdata%\SYSHashTable\ - contiene carpetas representando los hashes de dominios visitados
%appdata%\SYSHashTable\SyshashInfo.db
Muestras (SHA-1)
Instaladores:
2D9AFB96EAFBCFCDD8E1CAFF492BFCF0488E6B8C
3D08D416284E9C9C4FF36F474C9D46F3601652D5
512789C90D76785C061A88A0B92F5F5778E80BAA
735C8A382400C985B85D27C67369EF4E7ED30135
798755794D124D00EAB65653442957614400D71D
4F52A4A5BA897F055393174B3DFCA1D022416B88
8EDFE9667ECFE469BF88A5A5EBBB9A75334A48B9
5B45731C6BBA7359770D99124183E8D80548B64F
C0F8C75110123BEE7DB5CA3503C3F5A50A1A055E
C8A514B0309BCDE73F7E28EB72EB6CB3ABE24FDD
AF1AE760F055120CA658D20A21E4B14244BC047D
A1C515B965FB0DED176A0F38C811E6423D9FFD86
B9067085701B206D2AC180E82D5BC68EDD584A8B
77625ADEA198F6756E5D7C613811A5864E9874EA
DLL de Sathurbot:
F3A265D4209F3E7E6013CA4524E02D19AAC951D9
0EA717E23D70040011BD8BD0BF1FFAAF071DA22C
2381686708174BC5DE2F04704491B331EE9D630B
2B942C57CEE7E2E984EE10F4173F472DB6C15256
2F4FAA5CB5703004CA68865D8D5DACBA35402DE4
4EBC55FDFB4A1DD22E7D329E6EF8C7F27E650B34
0EF3ECD8597CE799715233C8BA52D677E98ABDFD
0307BBAC69C54488C124235449675A0F4B0CCEFA
149518FB8DE56A34B1CA2D66731126CF197958C3
3809C52343A8F3A3597898C9106BA72DB7F6A3CB
4A69B1B1191C9E4BC465F72D76FE45C77A5CB4B0
5CCDB41A34ADA906635CE2EE1AB4615A1AFCB2F2
6C03F7A9F826BB3A75C3946E3EF75BFC19E14683
8DA0DC48AFB8D2D1E9F485029D1800173774C837
AC7D8140A8527B8F7EE6788C128AFF4CA92E82C2
E1286F8AE85EB8BD1B6BE4684E3C9E4B88D300DB
Payloads adicionales:
C439FC24CAFA3C8008FC01B6F4C39F6010CE32B6
ABA9578AB2588758AD34C3955C06CD2765BFDF68
DFB48B12823E23C52DAE03EE4F7B9B5C9E9FDF92
FAFF56D95F06FE4DA8ED433985FA2E91B94EE9AD
B728EB975CF7FDD484FCBCFFE1D75E4F668F842F
59189ABE0C6C73B66944795A2EF5A2884715772E
C6BDB2DC6A48136E208279587EFA6A9DD70A3FAA
BEAA3159DBE46172FC79E8732C00F286B120E720
5ED0DF92174B62002E6203801A58FE665EF17B76
70DFABA5F98B5EBC471896B792BBEF4DB4B07C53
10F92B962D76E938C154DC7CBD7DEFE97498AB1E
426F9542D0DDA1C0FF8D2F4CB0D74A1594967636
AA2176834BA49B6A9901013645C84C64478AA931
1C274E18A8CAD814E0094C63405D461E815D736A
61384C0F690036E808F5988B5F06FD2D07A87454
F32D42EF1E5ED221D478CFAA1A76BB2E9E93A0C1
594E098E9787EB8B7C13243D0EDF6812F34D0FBA
1AAFEBAA11424B65ED48C68CDEED88F34136B8DC
BA4F20D1C821B81BC324416324BA7605953D0605
E08C36B122C5E8E561A4DE733EBB8F6AE3172BF0
7748115AF04F9FD477041CB40B4C5048464CE43E
3065C1098B5C3FC15C783CDDE38A14DFA2E005E4
FA25E212F77A06C0B7A62C6B7C86643660B24DDA
FADADFFA8F5351794BC5DCABE301157A4A2EBBCF
B0692A03D79CD2EA7622D3A784A1711ADAABEE8D
9411991DCF1B4ED9002D9381083DE714866AEA00
Dominios asociados
DNS:
zeusgreekmaster.xyz
apollogreekmaster.xyz
C&C:
jhkabmasdjm2asdu7gjaysgddasd.xyz
boomboomboomway.xyz
mrslavelemmiwinkstwo.xyz
uromatalieslave.space
newforceddomainisherenow.club
justanotherforcedomain.xyz
artemisoslave.xyz
asxdq2saxadsdawdq2sasaddfsdfsf4ssfuckk.xyz
kjaskdhkaudhsnkq3uhaksjndkud3asds.xyz
badaboommail.xyz
Torrent trackers:
badaboomsharetracker.xyz
webdatasourcetraffic.xyz
sharetorrentsonlinetracker.xyz
webtrafficsuccess.xyz
Valores del registro
Es posible que necesites utilizar una herramienta de terceros, ya que Windows Regedit podría no mostrarlos:
HKLM\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\{variable GUID} = “v2.10|Action=Allow|Active=TRUE|Dir=In|Profile=Private|Profile=Public|App=C:\\Windows\\explorer.exe|Name=Windows Explorer|”
HKLM\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\FirewallRules\{variable GUID} = “v2.10|Action=Allow|Active=TRUE|Dir=In|Profile=Private|Profile=Public|App=C:\\Windows\\system32\\rundll32.exe|Name=Windows host process (Rundll32)|”
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\0TheftProtectionDll = {GUID1}
HKLM\SOFTWARE\Classes\CLSID\{GUID1} = “Windows Theft Protection”
HKLM\SOFTWARE\Classes\CLSID\{GUID1}\InprocServer32 = “C:\\ProgramData\\Microsoft\\Performance\\TheftProtection\\TheftProtection.dll”
HKLM\SOFTWARE\Classes\CLSID\{GUID1}\InprocServer32\ThreadingModel = “Apartment”
HKLM\SOFTWARE\Classes\CLSID\{GUID2}
Las entradas {GUID2} son variables a través de muestras y tienen seis subclaves largas de tipo char, el contenido es de tipo binario y cifrado - se usa para almacenar variables, valores temporales y configuraciones, las IP, los C&C y UID.
Por ejemplo, las entradas {GUID2} lucen así:
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00000003
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00000002
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00000001
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00000009
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00000011
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00010001
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00010002
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00000008
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00000007
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00000004
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00000010
HKLM\SOFTWARE\Classes\CLSID\{8E577F7E-03C2-47D1-B4C0-BCE085F78F66}\00020001