Buenas.
Hoy vamos a ver como mejorar las rogue AP.Como lo sabeis las rogue AP se pueden hacer en WPA2 con ejemplo Hostbase.Y me vas a décir que podémos hacer mas ?
Pues no sé… anadir servidor radius y un sitio en https para que se abre sola la pagina de phishing quisas
Lo que voy a monstrar aqui es un poco sencilo lo admito pero a la epoca dondé se puede hacer mitm con las rogue AP merece la pena de hablar de eso
Teneis 2 soluciones para hacer un rogue AP con servidor https, la primera que voy a monstrar es con un router dd-wrt, la segunda es de tener una segunda tajeta wifi.En mi caso soy usando el dd-wrt porqué tengo solamente 2 tajeta wifi y una esta ocupado por hostapd y la otra por la DoS activa.
Que usas la primera solucion o la segunda, hay una cosa que no cambia: tienes que tener un accesso internet, si estas a fuera de tu casa ya veremos mas a bajo como tener este accesso internet.
El objectivo de este tutorial es de hacer una rogue AP silenciosa un phishing rapido usando un seridor https.Ahora empezamos.
Los pasos:
1- Hay que configurar Apache2 y tomar un dominio web gratis, hay muchos que existen, no sera complicado.Una vez que has encontrado el dominio ve te a configurar el DNS con el IP publica de tu router, guarda la configuracion y deja hasta 2 dias para que se cree tu dominio, mientras eso vamos a configurar apache2.
Por ejemplo habia tomado myboxadministration.cf como nombre de sitio y seguiremos con ese ejemplo para el tutorial.
2- Hacer o modificar el fichero hosts en /etc, tienes que anadir tu dirrecion de IP publica a dentro con el nombre de tu sitio en https.Ejemplo de mi fichero con un debian 8:
[code]127.0.0.1 localhost
89.XXX.XX.X maboxadministration.cf
127.0.1.1 koala.lan koala
The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters[/code]
3- Hay que ir en /etc/apache2 sites available y decir le a apache que queremos https.Activamos el ssl y el rewrite modulo:
a2enmod ssl
a2enmod rewrite
service apache2 restart
4- Eso hecho, tienes que ir en /etc/apache2/000-default-ssl y hacer la configuracion con el nombre del sitio que has elegido, aqui el mio:
[code]
<VirtualHost *:443>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request’s Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
ServerName maboxadministration.cf
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
vim: syntax=apache ts=4 sw=4 sts=4 sr noet
[/code]
Guarda el ficher pero no ciera lo porqué tendremos que volver despuès.
5- SSL gratis ? claro, gracias let’s encrypt ! Si no cononces let’s encrypt mira lo que es en la web, pero para hacer corto es un proyecto SSL gratis para todos que quieren la seguridad en https (lo que es el minimo a hacer por tu sitiot en nuestra epoca…) y reconocido por los navigadores.Me gusta mucho esos typos de proyecto porque permite a un pequeno sitio de estar seguro asi no solamente las grande empresas pueden tener el SSL.Ahora vamos a instalar el certificado SSL de let’s encrypt, y ya veras que es muy facil usando certbot.Certbot es una instalacion automatica del certificado (ya siento venir los ojos grande de algunos… pero todo no esta terminado).
Teneis que instalar y configurar certbot con apache2:
Lo indicamos en el sources.list
echo 'deb http://ftp.debian.org/debian jessie-backports main' | sudo tee /etc/apt/sources.list.d/backports.list
apt-get update
Y lo instalamos
apt-get install python-certbot-apache -t jessie-backports
NOTA: jessie es el nombre de la version debian que soy usando (debian 8) eso cambiara con un otra version de linux.
6- Hacer una redireccion de tu router con los puertos 80 y 443 hasta tu ordenador con apache2, tienes que ir a la interfaz de administracion checkear que los 2 puertos estan configurado para que se puede conectar en http o https a tu sitio.Una vez hecho, con el dominio gratis que has elegido hay que ver si functiona bien, intentas de ver tu sitio desde otra red que la tuya, con tu telefonico en 4g por ejemplo.Si ves tu sitio bien, si no hay que esperar que el dominio gratis te lo pone.(Si tienes problemo checkea el nombre de tu sitio y tu ip publico en la configuracion de tu dominio gratis).
7- Si puedes ver tu sitio en http desde el exterior, podemos pasar a el momento tan esperado, instalar el SSL en una linea:
certbot --apache
Te va a pedir algunas informaciones pero esta muy rapido.
NOTA: Let’s encrypt esta muy usado y puede tomar tiempo antes de tener un certificado SSL, si es el caso tendras un mensaje de error asi:
Maximum certificates reached
Hay que esperar y volver intentar de tomar el certificado mas tarde.
8- Si no tienes errores, puedes pasar a el ultimo paso, anadir el certificado SSL de let’s encrypt en apache2 a dentro el fichero /etc/sites-available/000-default-ssl.conf, tiene que estar asi siguiendo el ejemplo mio de maboxadministraction.cf:
[code]
<VirtualHost *:443>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request’s Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/
ServerName maboxadministration.cf
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/maboxadministracion.cf/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/maboxadministracion.cf/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/maboxadministracion.cf/chain.pem
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCompression off
SSLOptions +StrictRequire
SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
Header always set Strict-Transport-Security “max-age=31536000; includeSubDomains”
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
vim: syntax=apache ts=4 sw=4 sts=4 sr noet
[/code]
Y accabamos con el clasico:
service apache2 restart
Verifica que tu sitio esta bien en https y bienvenido en el mundo precioso del https
Bueno, ya tenemos un sitio en https y ahora que ? ahora vamos a disfrutar de eso para hacer el ataque de rogue AP en https con en internet de tu telefonico para que se abre directamente la pagina de phishing.Esta ataque se puede hacer desde el exterior de tu casa por eso esta muy interesante, deja tu ordenador con tu sitio https a casa y te vas con un otro portatil a fuera hacer lo que te da la gana, en un wifi de un hostal 4 estrellas por ejemplo...
Lo unico, como he dicho en la primera parte del tutorial, tienes que tener une segunda tajeta wifi o como en el ejemplo que vamos a tomar, un pequeno router con dd-wrt.Vamos a crear el punto de accesso y hacer une bridge entre la rogue AP y el ddwrt para el accesso internet vamos a usar la 4g del telefonico.
NOTA: tener un accesso internet es importante para que el navigador verifica bien el ssl del sitio maboxadministracion.cf a distancia, si no tendras errores.
1- Inicia tu internet en tu telefonico y ponga lo en modo compartida de red.(pequeno truco: con algunos android se para la compartida de red despuès X tiempo, para que sigue compartiendo el internet, ve te a economia de bateria, y ponga lo en "Nunca apagar la luz sin apoyar el boton" es una cosa asi, no me recuerdo bien la opcion, teneis que mirar.
2- Vamos a empezar a configuras el dd-wrt en modo repetor con el telefonico, asi el bridge entre tu rogue AP y el router se tendra directamente el internet.Es muy facil, he puesto imagen para que se ve el orderen de los pasos, todo tiene que estar como el mio.
[img=1]http://zupimages.net/up/17/42/3it7.png[/img]
En las entradas a de a riba, la red donde conectar se, a bajo el nombre de la red de tu dd-wrt y guardar
[img=2]http://zupimages.net/up/17/42/d0hz.png[/img]
Ahora la seguridad a poner para que tu dd-wrt se conecta a el telefonico, en mi caso la image esta vieja y es un ejemplo con una red abierta "SFR wifi Fon" pero tendras que entrar el nombre de la red de tu telefonico y la clave de seguridad que has elegio antes en tu telefonico con la compartida de redes.No lvidad e guardar las configuracion a cada pasos.
[img=3]http://zupimages.net/up/17/42/286m.png[/img]
Verificamos que no hay firewall que puede molestar el bridge entre tu rogue AP y el router, el SPI firewall tiene que estar desactivado.
[img=4]http://zupimages.net/up/17/42/obak.png[/img]
Ahora ve te en status y wireless, apoya a site survey y conecta te a la red de tu telefonico.
[img=5]http://zupimages.net/up/17/42/g5z7.png[/img]
Réeinicia tu router despuès todos esos pasos y ahora vamos a configurar el servidor freeradius para la redireccion en tu sitio en https.
[img=6]http://zupimages.net/up/17/42/776k.png[/img]
Réeinicia otra vez y... hasta tienes une rogue AP en SSL con una pagina que se va a abrir directamente en el navigador de la victima :D
Porqué google abre esa pagina y porque no hay error de HSTS ?
Primero: windows busca un servicio para conectar se y lo busca en primero en http porqué la mayoridad de los hotspot estan en http (camping, hotel, etc...)
Segundo: No da error porque no hay redireccion de https a https pero de http a https, el contrario no seria possible.
Tercero: El servidor radius sirve solamente para decir a windows de buscar un servicio donde conectar se, y lo enviamos a la redireccion de nuestro sitio en https
NOTA; para los que no tienen dd-wrt pero otra tajeta wifi, esta segunda parte del tutorial se puede hacer con coovachili (no he probado nunca eso, ya tengo mi dd-wrt).
Saludos