EtiquetaSeguridad

Vulnerabilidades reportadas y corregidas en sitio web ESET Latinoamerica

El fin de semana recien pasado, nos juntamos en el laboratorio en una “hacking night” analizando vulnerabilidades web de varios sitios, entre ellos estuvo el de ESET Latinoamerica.

La vulnerabilidades encontradas fueron del tipo “descubrimiento de informacion” que nos permitieron descubrir el path, el usuario de sistema, usuario de base de datos, nombre de la base de datos, nombres de las tablas, etc. Por otro lado, encontramos tambien script y formularios vulnerables a XSS.
Las vulnerabilidades fueron corregidas 1 dia despues de haber sido reportadas.
Las URLs afectadas son:

– https://www.eset-la.com/centro-amenazas/article.php
– https://www.eset-la.com/company/article.php
– https://www.eset-la.com/rss/podcasts
– https://www.eset-la.com/centro-amenazas/descarga/compania/cool_stuff.php
– https://www.eset-la.com/xtrasappz/ajax/events.ajax.php
– https://ps.eset-la.com/forms/prospectos.php
– https://ps.eset-la.com/forms/numeros_serie_registracion.php

Estas dos ultimas con https.

Seguir leyendo

Uso de medios de comunicación seguros

Hace un par de dias apareció en las noticias que habían desarticulado a un grupo de personas que se dedicaban a traficar extasis desde Argentina, debido a esto apareció Patricio Rojas hablando en la televisión donde dijo, literalmente, lo siguiente:

no existe chat, no existe messenger, no existe mensaje de texto, ni llamada de telefono celular que no pueda ser intervenido

Seguir leyendo

[PoC] Cifrado del historial de bash (.bash_history)

El otro día, en mis momentos de ocio, se me ocurrio buscar una forma de cifrar el historial de comandos que guarda bash. Hay servidores que sólo tenemos -o hemos ganado- acceso como usuarios, y no nos gusta que el administrador (root) vea lo que hacemos o los comandos que hemos ejecutado. Existen varias formas de ir contra eso, por ejemplo eliminar el bash_history o bien editarlo cada vez que hacemos algo que no queremos que sepan. Esta forma es un poco mas rebuscada y busca cifrar mediante GPG el historial, de manera tal que el root no podrá leer lo que dice el archivo.

La logica es bastante simple:

  1. Cuando ingresamos (login) a nuestra cuenta desciframos el bash history usando nuestra clave privada
  2. Cuando salimos (logout) ciframos el archivo con nuestra clave publica.

Para lograrlo vamos a necesitar tener una clave gpg y configurar el comportamiento del login y logout con unos scripts que les mostraré a continuación.

Seguir leyendo

XSS en el sitio web de FeriaTicket y FeriaMix

FeriaTicket se dedica a la venta de tickets/entradas de eventos de todo tipo y FeriaMix vende libros y música, mediante el registro de usuario es posible realizar compras en línea en ambas tiendas. Ambos sitios web, pertenecientes a la misma empresa, están desarrollados por la misma empresa usando el mismo sistema web (framework, cms o como quieran llamarlo) y así mismo, comparten los mismos bugs y vulnerabilidades.

La vulnerabilidad en común corresponde a una del tipo Cross-Site Scripting (XSS) al no validar los parametros de la URL, permitiendo la inyección de código html o javascript arbitrario.
Especificamente, se encuentra en el script wspd_cgi.sh al no validar el valor que se le entrega a la variable wspd_cgi.sh.

wspd_cgi.sh/WService=<código malicioso>

No está demas decir que la vulnerabilidad permite redireccionar a un sitio distinto al de FeriaTicket o FeriaMix, pudiendo robar las cookies y suplantar la identidad de los clientes, accediendo a información privada. A pesar de lo que la empresa declara en su página relacionada con la privacidad y la seguridad:

Compromiso con la Seguridad
En relación a nuestro sitio web (www.feriamix.cl), Empresas Feria hace esta declaración de seguridad y privacidad en orden a demostrar y comunicar su compromiso con una práctica de negocios de alto nivel ético y dotada de los controles internos apropiados.

Protección de Datos
Nuestro sitio está protegido con una amplia variedad de medidas de seguridad, tales como procedimientos de control de cambios, passwords y controles de acceso fí­sico. También empleamos otros mecanismos para asegurar que los datos que nos proporcionas no sean extraviados, mal utilizados o modificados inapropiadamente. Esos controles incluyen polí­ticas de confidencialidad y respaldo periódico de bases de datos.

Puedo asegurar que no están cumpliendo con lo que dicen.

Seguir leyendo

Esteganografía: Ofuscación de archivos (parte 3)

Luego de haber presentado la primera y segunda parte de este post, les presentaré un script que automatiza el proceso de “esconder” y “encontrar” el archivo y además mostrar como podemos solucionar el problema de los “bytes” para poder separar el archivo original. Es un simple script en bash, que usa los mismos comandos y técnicas mostradas en los post anteriores, con comandos basicos como cat, split, etc. Para “marcar” la división entre el archivo oculto dentro del archivo original lo haremos de una forma bien simple.

Marcar la división entre los archivos

Para saber exactamente el byte donde debemos cortar con split el archivo para poder separarlo, vamos a agregar, al final de nuestro archivo ofuscado, una linea en texto plano con un numero X = bytes. Puede sonar absurdo por lo simple que es, pero es posible.

Seguir leyendo

Esteganografía: Ofuscación de archivos (parte 2)

Luego de haber enseñado como ofuscar un archivo dentro de otro, llegó el momento de saber como “separarlos”. En la primera parte, hubo comentarios de quienes tenian problemas porque se corrompía el archivo y no todas las versiones de unrar o unzip lo podían descomprimir, ya que obviamente, el archivo tiene muchos bits y bytes extras que no corresponden al zip, al rar o al archivo que escondimos. Una vez separado el archivo que hemos escondido, evitaremos todos estos problemas y tendremos nuestro archivo íntegro.

Para separar el archivo vamos a usar el comando split, que nos permite “dividir” o “cortar” un archivo por líneas, bytes, etc. En este caso, separaremos por bytes el archivo.
La sintaxis de split para separar un archivo es tan simple como:

$ split --bytes=XXX archivo
o tambien
$ split -b XXX archivo

De esta forma, el split separará el archivo cada XXX bytes, creando archivos de la forma xab, xac, xad, … xaN.
Ejemplo:
[zerial@balcebu ejemplo_split]$ du -sh archivo.jpg
48K archivo.jpg
[zerial@balcebu ejemplo_split]$ split -b 10000 archivo.jpg
[zerial@balcebu ejemplo_split]$ ls
archivo.jpg xaa xab xac xad xae
[zerial@balcebu ejemplo_split]$ du -csh *
48K archivo.jpg
12K xaa
12K xab
12K xac
12K xad
8.0K xae
104K total
[zerial@balcebu ejemplo_split]$

Para poder separar el archivo ofuscado, vamos a necesitar saber de antemano el tamaño del archivo original, para poder separarlo por esa cantidad de bytes.

Seguir leyendo