¿Tiene tu empresa algún control para detectar que se está transmitiendo información sensible hacia Internet? Compruébalo con Egress-Assess

Reconozcámoslo, si hoy la ciberseguridad seguridad informática está tan de moda es en gran parte debido a los grandes escándalos de los famosos 'leaks' en los que se filtra públicamente información confidencial. Desde Sony a Hacking Team, cualquier empresa (por fin) teme el azote de las incursiones informáticas que derivan en el robo de información. Como decimos, muchas veces esta información acaba expuesta o simplemente es explotada para realizar otras actividades tan divertidas como la usurpación de identidades, el desfalco de cuentas bancarias, otras extorsiones, etc.

La mayoría de estos robos de información se realizan remotamente a través de Internet. El modus operandi normal es que un atacante consigue comprometer alguno de los sistemas dentro de la red de la empresa y transfiere toda la información mediante FTP, SFTP, SCP, HTTP, HTTPS u otro canal encubierto. No podemos asegurar al 100% que nuestros sistemas sean invulnerables (¡hola 0-days!) pero, si la información atraviesa nuestra seguridad perimetral (firewalls, NIDS u otras pasarelas), podemos revisar el tráfico en busca de patrones como números de identificación personales, tarjetas de crédito u otra información sensible.

Por poner un ejemplo (os prometo sin intención comercial), mediante un firewall Fortigate podríamos usar su funcionalidad de Data Leak Prevention que incluye sensores para evitar la fuga de información como información de tarjetas sobre mail y http. Aplicando ese sensor no se debería subir por http o enviar por mail un número de tarjeta:



¿Tiene tu empresa algún control similar para detectar que se está transmitiendo este tipo de información sensible?


Puedes comprobarlo tú mismo con Egress-Assess de Chris Truncer, una herramienta escrita en Python con el que podemos generar distintos tipos de datos "sensibles" y simular su transferencia desde un cliente a un servidor mediante los protocolos más comunes: FTP, HTTP y HTTPS.

Para instalarlo sólo necesitamos pyftpdlib y, en el caso del servidor HTTPS, generar un certificado "server.pem":

root@kali:~# easy_install pyftpdlib
root@kali:~# openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes


Luego bajamos el código de la herramienta:

vmotos@kaliclient:~$ git clone https://github.com/ChrisTruncer/Egress-Assess.git

y vemos los tipos de datos que podemos usar:

vmotos@kaliclient:~$ ./Egress-Assess.py --list-datatypes

################################################################################
#                                Egress-Assess                                 #
################################################################################

[*] Supported data types:

[+] cc - (Credit Card Numbers)
[+] identity - (Full names, Addresses, and Socials)
[+] ssn - (Social Security Numbers)

Ahora empezamos levantando un servicio FTP en el servidor:

root@kaliserver:~# ./Egress-Assess.py --server ftp --username testuser --password pass123 


################################################################################
#                                Egress-Assess                                 #
################################################################################

[I 15-07-14 2:33:20] >>> starting FTP server on 0.0.0.0:21, pid=5233 <<<
[I 15-07-14 2:33:20] poller: <class 'pyftpdlib.ioloop.Epoll'>
[I 15-07-14 2:33:20] masquerade (NAT) address: None
[I 15-07-14 2:33:20] passive ports: None
[I 15-07-14 2:33:20] use sendfile(2): False

Lanzamos los datos ficticios desde el cliente:

vmotos@kaliclient:~$ ./Egress-Assess.py --client ftp --username testuser --password pass123 --ip 172.40.2.201 --datatype ssn
################################################################################
#                                Egress-Assess                                 #
################################################################################

[*] Generating data...
[*] File sent!!!

Y vemos como llega al servidor:

[I 15-07-14 2:33:50] 192.168.16.25:39956-[] FTP session opened (connect)
[I 15-07-14 2:33:50] 192.168.16.25:39956-[testuser] USER 'testuser' logged in.
[I 15-07-14 2:33:51] 192.168.16.25:39956-[testuser] STOR /home/vmotos/Egress-Assess/data/07142015_163347text_data.txt completed=1 bytes=1050526 seconds=0.935
[I 15-07-14 2:33:51] 192.168.16.25:39956-[testuser] FTP session closed (disconnect).
^C[I 15-07-14 2:34:23] >>> shutting down FTP server (1 active fds) <<<

Lo mismo simulando un servidor web:

root@kaliserver:~# ./Egress-Assess.py --server http
###############################################################################
#                                Egress-Assess                                 #
################################################################################

[*] Starting web (http) server...
[*] Web server is currently running
[*] Type "kill -9 5797" to stop the web server.


vmotos@kaliclient:~$ ./Egress-Assess.py --client http --data-size 15 --ip 172.40.2.201 --datatype cc
################################################################################
#                                Egress-Assess                                 #
################################################################################

[*] Generating data...
[*] File sent!!!

192.168.16.25 - - [15/Jul/2015 03:54:19] "POST /post_data.php HTTP/1.1" 200 -

pd. seguro que 9 de cada 10 humanos que hayan realizado estas mismas pruebas habrán comprobado que la información es enviada sin que ningún elemento de la seguridad perimetral de su red lo haya bloqueado o simplemente generado una alerta...

Fuente: https://github.com/ChrisTruncer/Egress-Assess 

1 comentarios :

  1. http://www.welivesecurity.com/la-es/2015/06/16/ciberseguridad-seguridad-informacion-diferencia/

    ResponderEliminar