Sign by zerokey

momimroot

Un blog dedicado a la Seguridad Informática de una manera diferente.

Bypass Login de Windows.

La (IN)seguridad de Windows a veces puede ser de ayuda.

BEINI

Un software destinado a la auditoria de redes.

Hacking for noobs

momimroot

La Deep Web

Un post relatado dentro de lo mas oscuro de la red.

miércoles, 20 de marzo de 2013

Criptonomicón, excelencia en su máxima expresión


Este post no fue hecho para resumir el libro, sino para compartirlo, solo puedo decir que para los que gustan    del tema de la seguridad, sobre todo la criptografia  es una excelente opción; con un lenguaje exquisito y sumamente legible. Es por eso que decidí subirlo a Dropbox y compartirlo, se que tal vez muchos ya lo leyeron pero hay muchas personas que van empezando por este mundillo y les pido que lo compartan.

Es un Epub, consta de 3 tomos:

El código Enigma.
El código Pontifex
El código Aretusa.

Enlace Dropbox

domingo, 20 de enero de 2013

Programa para cifrar y descifrar en base64

El día de hoy me dispuse a realizar un pequeño código en python, que su tarea sea cifrar y descifrar con base64, le puse varios detalles, como donde dice cargando y las barritas de signo de numero, puesto que los códigos en pyhton son sumamente rápidos  pero si necesitan que sean mas rápido  solo quiten el modulo time y borren los time.sleep.

Sin más:


01 #autor zer0key @z3r0k3y#
02 import base64
03 import time
04 print "Cifrar y Descifrar en base64"
05 time.sleep(1)
06 print"Cargando..."
07 time.sleep(3)
08 print"#"
09 time.sleep(1)
10 print"##"
11 time.sleep(1)
12 print"###"
13 time.sleep(1)
14 print"####"
15 time.sleep(1)
16 print"#####"
17 time.sleep(1)
18 print"######"
19 time.sleep(1)
20 print"#######"
21 time.sleep(1)
22 print"########"
23 time.sleep(1)
24 print"#########"
25 time.sleep(1)
26 print"##########"
27 time.sleep(1)
28 print"Que deseas hacer"
29 print "1.- Cifrar."
30 print "2.- Descifrar."
31 opcion=input("Opcion: ")
32 if opcion==1:
33         string=raw_input("Que quieres cifrar: ")
34         cifrado=base64.b64encode(string)
35         print "Listo:", cifrado
36 elif opcion==2:
37         string=raw_input("Que quieres descifrar: ")
38         dcifrado=base64.b64decode(string)
39         print "Listo:", dcifrado
40  

lunes, 26 de noviembre de 2012

Abrir una imagen con Python.

Bueno hace unos días publiqué como leer las lineas de un archivo con python, pero hubo una pregunta que me llamó la atención y decía:  Yo no quiero ser un maestro de la programación, solo quiero hacer un programa que me permita en vez de leer textos; abrir una imagen, como le hago?

La respuesta es sencilla hay una biblioteca en Python que se llama PIL y se usa para manipular imagenes y este nos podría ayudar para solamente abrirla.

En este caso hice un programa que te pregunta si quieres un LOL, si le das que si te aparece una imagen y si le dices que no, solo te devuelve una cadena negativa.


from PIL import Image
print 'Quieres un lol?\n'
print 'si o no\n'
x = raw_input('')
if x == 'si':
f = Image.open("/home/zerokey/Escritorio/lol.jpg")
f.show()
else:
print 'no hay nada para ti'
exit


En mi caso quedaría así:




Es sumamente sencillo, solamente utilizar la biblioteca PIL y el modulo Image y listo.

jueves, 22 de noviembre de 2012

Ocultar mensaje en una imagen (Esteganografia)

Bueno estos últimos días he estado publicando mas cosas que de costumbre y me parece un buen momento para expresar algo que he visto en los foros de seguridad. A veces cuando empezamos en este mundo de la seguridad, siempre queremos saber más y más, pero muchas veces no hay quien nos muestre para que sirve cada cosa, tal vez nos ayuden a comprender el funcionamiento de un comando o de alguna herramienta, pero como la empleamos?

Yo sé que para ser un experto se necesita curiosidad, pasión y demás, pero a veces no sabemos como explotar esas características y necesitamos una guía, un ejemplo para poder llegar a generar experiencia y poner en funcionamiento la lógica y la abstracción.

Hoy voy a poner un ejemplo básico, de como comunicarnos por medio de un mensaje (breve), insertado en una imagen.

Esta técnica es conocida como esteganografía, y lo que voy a presentarles es muy básico, pero cabe destacar que se podría implementar para envíos de mensajes y así evitar mandarlos el texto plano y como sabemos que todo el mundo puede monitorear el trafico, podría funcionar como medida primaría, aunque no va cifrado, si está ofuscado y los l44m3rs no sabrán ni que hacer.

En este caso lo voy a hacer en ubuntu, pero para los demas distros no es muy diferente.

Los ingredientes son:

1. Editor Hexadecimal.
2. Una imagen.

Instalación del editor:

sudo apt-get install ghex

Descargar una imagen de Google images.


Ahora con el editor de hexadecimal, abriremos nuestra imagen y veremos algo como esto:



Podemos apreciar todos los bits que contiene nuestra imagen.


Ahora nosotros escribiremos en el lado derecho, como pueden ver en la parte superior derecha se ubica la cabecera de la imagen (JFIF), justo después de los caracteres de la cabecera podremos escribir nuestro mensaje.



y listo ahora lo guardamos.


Como pueden ver casi no cambió el color de los pixeles de la original a la editada.


Bueno y con esto ya lo podemos enviar.

Ahora cuando mandemos esto o cuando nos manden algo así, la shell de linux nos hace la vida muy facil con el comando strings que lo que hace es buscar cadenas en los archivos y en esta ocasión es lo que haremos buscar una cadena de texto.

Para hacer esto no es mas que abrir una shell y posicionarse en la carpeta donde tenemos el archivo.

En mi caso lo tengo en el escritorio.


después de estar en el directorio contenedor lo que teclearemos será "strings nombre_del_archivo" y damos un enter.




 Como ven lo ahí esta nuestro texto, justo después de la cabecera como lo pusimos.

Bueno hasta aquí dejo el post, espero poder seguir con esteganografía, despues para darle mas complejidad a lo que ofuscación y cifrado se refiere.

Saludos.








martes, 20 de noviembre de 2012

Abrir archivos en una ruta especifica con Python.

En esta ocasión voy a hacer un post muy rápido, pero a muchos les servirá, puesto que he visto en muchos foros de programación un problema que se genera de la necesidad de abrir un archivo desde un script de Python.


La verdad es que es muy sencillo el método aunque lo que a veces nos falla es la lógica y el sentido común; pero no hay porque desanimarse, simplemente con la experiencia puede arreglarse esto.

La función que utilizaremos es open() y lo que pondremos dentro de los paréntesis será la ruta o dirección del archivo, en este caso usare el archivo lol.txt y con este empezaremos a codificar.


def main():
    f = open("/home/zerokey/Escritorio/lol.txt")
    for linea in f:
        print linea
    f.close()
main()


En mi caso el archivo esta en el escritorio y cuando lo ejecute el resultado sera el siguiente:





Lo único que hice fue determinar la ruta del archivo y ponerlo en los parentesis de la función open(), ahora es muy importante que vaya entre comillas simples o dobles (""), para que Python sepa a donde dirigirse para abrir el archivo, al final podemos ver un f.close() así es como cerramos el archivo puesto que consume recursos o entra en bucle si o lo cerramos.

SaluD0S