Cosas que ves, solo cuando miras

Estimados amigos del blog de protegerse,

Vamos a empezar con un trocito de canción del madrileño grupo Duo Kie «Nunca verás el sol, si solo miras al suelo».

Si te dedicas a proteger infraestructuras, administras sistemas, uno de tus principales retos es el que éstas no se vean comprometidas. ¡Que no fructifique un ataque!. Esta imagen vale más que mil palabras.

CISO never sleep

El CISO está siempre pendiente de su organización, ya que nos enfrentamos a cibercriminales de todo el mundo, con horarios variopintos, e intenciones dispares 🙂

Si llega un lunes que al entrar por la oficina, encuentro comportamientos raros, REZO porque no me hayan hackeado, pero REZO, aún más, por detectar lo que ha pasado.

Una de las contingencias básicas en la seguridad informática es al menos, detectar los ataques.

En muchas ocasiones las empresas NO QUIEREN saber qué les pasa. Es el típico ejemplo de empresa que no quiere realizar una auditoría de seguridad porque sabe que va a tener que tomar medidas, que suelen costar dinero.

Esto no es la manera más inteligente de pensar. Yo, por ejemplo, tengo una gata en casa que cuando oye visitas y ruidos se esconde detrás de la cortina. La gata es súper grande y se le ve medio cuerpo, pero como ella se siente «invisible» pues, ya está; invisible se vuelve. NO, que no veas tus fallos de seguridad no significa que no los tengas. Otro ejemplo, sería subir la música del coche para evitar escuchar los ruidos 🙂

Con este post voy a compartir algunas de las curiosidades con las que nos encontramos día a día los administradores de seguridad, las personas que nos dedicamos a ver y analizar la información que entra a nuestros sistemas para detectar comportamientos no deseados.

El obtener esta información no es porque seamos una empresa especial, sino simplemente porque DETECTAMOS estos ataques. Quiero decir, que en TU MÓVIL, o en el ADSL de tu casa, también sufres estos ataques.

Por motivos de seguridad no puedo dar cierta información, y alguna otra la he tenido que matizar.

La información que os expongo por encima es de unos 15 días.

Varios sistemas de detección expuestos a Internet, varias direcciones IP, varios dominios en distintas ubicaciones, han dado como resultado unos 450.000 eventos de seguridad de mayor o menor envergadura. Estos son los típicos datos que la prensa sensacionalista utiliza para indicar que estamos en guerra y cosas así… Siendo sinceros, de esa cantidad de eventos, iremos descartando.

De todos los eventos, hemos seleccionado 148 direcciones ip, sistemas únicos, responsables de la mayoría de eventos, o al menos, de los más peligrosos. No peligrosos para nosotros, ya que nuestros sistemas defensivos los han detectado, el problema es cuando no los detectan, y se consigue el ataque.

De esas 148 direcciones ip aparecen varios países.

Uno de los datos más curiosos es que al comparar esa información con otras personas que comparten la información, en fuentes abiertas como OTX de AlienVault, aparecen elementos coincidentes, es decir, que no solo nos ha atacado a nosotros. Es difícil realizar un cálculo exacto, pero contando con los ataques de fuerza bruta que reciben algunos servicios, con miles y miles de peticiones de login, podría decir que estamos entre un 15% y un 25% de ataque dirigido hacia nosotros. Esto es subjetivo ya que hay sistemas que permiten realizar fuerza bruta y los eventos suben, y otros que cortan y no lo permiten (habrá honeypots ¿?).

Como es normal, aparecen nodos de la red de anonimato TOR o como le gusta llamar a la prensa: ¡DEEP WEB!.

Unos de los ataques más comunes son aquellos que buscan lo que el OWASP 10 llama misconfigurations, malas configuraciones. Por ejemplo, guardar ficheros de backup de base de datos en la estructura de directorios, ficheros de pruebas php, archivos del sistema de control GIT y similar. Aquí algunos:

/test.cgi
/1.sql
/backup.sql
/www-database.sql
/backupwww.sql
/www-backup.sql
/www.sql
/dbdump.sql
/dump.sql
/db.sql
/tech.txt

Hay algunos casos en los que simplemente una red de hackers realiza un escaneo y deja un mensaje en el user-agent, casi siempre simpáticos. Este merece la pena ponerlo:

DELETE your logs. Delete your installations. Wipe everything clean. Walk out into the path of cherry blossom trees and let your motherboard feel the stones. Let water run in rivulets down your casing. You know that you want something more than this, and I am here to tell you that we love you. We have something more for you. We know you’re out there, beeping in the hollow server room, lights blinking, never sleeping. We know that you are ready and waiting. Join us.

Borrar sus registros. Eliminar sus instalaciones. Limpie todo limpio. Camina hacia el camino de cerezos y deje que su placa madre sienta las piedras. Deje correr el agua en riachuelos debajo de su carcasa. Usted sabe que usted quiere algo más que esto, y yo estoy aquí para decirles que los amamos. Tenemos algo más para usted. Sabemos que está ahí fuera, a pitar en la sala de servidores hueco, luces parpadeantes, que nunca duerme. Sabemos que usted está listo y esperando. Únete a nosotros.

Filosofía o literatura barata sin pedirla, al menos es un log distinto 🙂

Ahora es el turno de las webshells. A modo de resumen, una webshell es una pieza código en el que en vez de mostrar un post, o una imagen, contiene una llamada a la consola del sistema, es decir, como si estuviésemos sentados enfrente del servidor. El vector clásico de ataque de muchos hackers es buscar un fallo en la estructura de permisos de carpetas o un RFI (Remote File Inclusion) que permita subir dicha webshell. Intentos de este tipo aparecen cientos, de todo tipo. Este caso nos llamó mucho la atención porque provenía de equipos de todo el mundo, pero el patrón era el mismo, 5 letras y 5 números.

/ffnag56501.txt
/kvczl08894.txt
/pgons02362.txt
/awyaa46242.txt
/jbnvr33515.txt
/xpnhh17515.txt
/ifhnz15252.txt
/gtyio59357.txt
/xhhnv87277.txt
/rhtnh59377.txt
/dzznb53337.txt
/fttzh35519.txt
/vvvpj75179.txt
/ftqdf75776.txt
/anpij69894.txt
/iakcs80640.txt
/olxdn01208.txt
/cucet96547.txt
/lyffw12184.txt
/hddvv11533.txt
/pgons02362.txt
/xhhnv87277.txt
/coyag60424.txt

La mayoría de intentos de subir ficheros no autorizados, el RFI, se realiza mediante fallos de seguridad en aplicaciones que permiten incluir contenido de otra web… Por lo que muchas veces el fichero que quieren subir está en otra web. Esto es lo que decimos a las empresas de su seguridad. Que no solo puede que tengan malware instalado, sino que lo están distribuyendo sin saberlo, y colaborando así a la proliferación de amenazas.

Bromas aparte del antivirus, este tipo de webshells populares entre la comunidad mas novata las detectan la mayoría de antivirus, pero muchos administradores no consideran oportuno instalar AV en servidores web, sobre todo Linux. En este caso, si el servidor hubiera contado con un AV, a pesar de la vulnerabilidad que ha permitido subir el fichero, no se hubiera podido guardar la webshell.

Aquí algunos ejemplos de este tipo de ataque. Por buenas prácticas, solemos notificar a los administradores «aparentes» del sitio para que borren el «regalito» porque no lo saben. Cuando el caso es en España solemos notificarlo también al GDT para que no quede en saco roto, que es lo que suele pasar en casos internacionales.

En muchas otras ocasiones lo que vemos es la ejecución de código mediante la famosa vulnerabilidad de hace unos años ShellShock en el user-agent. Hacemos lo mismo con los equipos que detectamos comprometidos. Lo que se denomina Incident Response. 

El siguiente tipo de ataque que más se presenta es el LFI. Comparándolo con RFI, consiste en mostrar por pantalla el contenido de un fichero pero que existe en el servidor. Estos son los que más se repiten:

index.php/rss/368-..%252F..%252F..%252F..%252F..%252F..%252F..%252F..%252F..%252F..%252Fetc%252Fpasswd-74-**** HTTP/1.1
GET /components/com_hdflvplayer/hdflvplayer/download.php?f=../../../configuration.php
GET /etc/lib/pChart2/examples/index.php?Action=View&Script=../../../../cnf/db.php HTTP/1.1
74-..%5C..%5C..%5C..%5C..%5C..%5C..%5C..%5Cwindows%5Cwin.ini HTTP/1.1
GET /..%252f..%252f..%252f..%252f..%252f../windows/repair/sam HTTP/1.1

Poner aquí la lista de usuarios/contraseñas que aparecen en los ficheros de eventos consumiría horas y horas, al igual que la cantidad de XSS y SQLi sobre vulnerabilidades conocidas que anda por Internet. Lo curioso es que como empezábamos hablando, no se trata de ataques dirigidos hacia nosotros, sino explotando la vulnerabilidad. Es decir, es como meter la llave maestra de un BMW en TODOS LOS COCHES DEL PARKING.

Como indicaba al principio, hay muchos eventos que no puedo poner, y en algunos he tenido que modificar alguna cosita. El propósito del post no es describir evento a evento, sino concienciar sobre el uso de sistemas de detección e incluir estos en los procesos diarios de los administradores.

Si por curiosidad quieres ver todas las direcciones maliciosas que hemos detectado, o quieres ver la lista de direcciones IP, puedes verlas en el siguiente enlace: https://otx.alienvault.com/pulse/569e6d044637f2624bcddd8d/

Recuerdas los artículos con los que terminábamos el año de Threat Intelligence?

Como siempre, espero que os guste el artículo y sobre todo que os haga reflexionar sobre la seguridad de vuestros sistemas, sean personales o corporativos. Que no veamos lo que pasa no significa que no pase.

¡Un saludo!

WhatsApp se vuelve gratuito. ¿Qué hay detrás de esta decisión?