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 - Once

#21
Python / Re:[TPC-R] Reto #1: Phonewords
Diciembre 19, 2017, 01:25:54 PM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
que acaban de ver mis ojos!!  :D :D
¿cada cuánto tiempo salen estos retos?
recién acabo de verlo y la verdad que interesantes si están  ;D

Hola @You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login, la idea es que salgan dos por semana, los miércoles unos retos "cortos" y los viernes retos un poco más largos, el segundo reto se ha tardado un poco porque un usuario tenía una idea, pero no hemos logrado cuadrar nada.

Estate pendiente que igual hoy por la tar o máximo mañana sale el segundo reto.

Saludos!
#22
Hola,

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Saludos!
#23
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.




You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Once, éste man que nos pregunta por otros lados ha dicho, si no recuerdo mal, que ha pasado de Linux a Windows...

Eso no lo sabía, como no nos dio ínformación sobre el SO, imaginé que segui con los problemas con Linux.

@You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login lo siento no lo sabía, si tienes el problema usando Windows, secundo a @You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login lo más probable es que sea un problema de hardware o mala configuración de la BIOS puesto que en Windows no es tan fácil dañar el gestor de arraque.

Si estás usando Linux lo que mencionas dice a gritos un problema con el gestor de arranque, que lo solucionas como ya te mencioné arriba, usando el grub-rescue o consultando en la documentación oficial de la distro que estás usando para mayor información.

Ahora, yo entiendo tu problema, mi PC tiene 7 años, es un HP All in one y he tenido muchos problemas con el (en especial con la tarjeta gráfica). Creeme que teniendo un poco de paciencia y leyendo antes de comenzar a instalar y justo después de tener un problema logré solucionar todo. Sólo ten paciencia y googlea todo lo que puedas acerca del error antes de desesperarte y sobre todo, aprende a conocer tu máquina. Así solucioné todos los problemas que tuve.

Saludos!
#24
Advertencia - mientras estabas escribiendo, una nueva respuesta fue publicada. Probablemente desees revisar tu mensaje.



Hola, has escuchado hablar del GRUB?

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Ahora que sepas qué es el GRUB, y para cuando vuelvas a tener el mismo problema, busca "grub rescue" y lomás seguro es que la WiKi de la distribución que estás usando tiene un apartado sobre como reparar el grub.


Te doy un consejo viendo los problemas por los que has pasado: Si quieres incursionar en este hermoso mundo de Linux, no lo hagas a ciegas, leete un libro o tutorial básico sobre linux o administración (You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login), porque el hecho que confundas a la BIOS con el GRUB es preocupante y explica porque has tenido tantos problemas.

Saludos!
#25
Hace mucho uso GParted no solo para formatear mi USB, sino para hacer distintas particiones en él. El único problema que he tenido es que en Windows no me detecta alguna de las particiones. En Linux todo funciona de maravilla

Saludos!
#26
Me interesa mucho,

Cuanod dice que el link será compartido en "esta página" se refiere acá en el foro o a la página de la fuente?

Saludos!
#27
Underc0de / Re:Desafio #12 - Viernes Negro
Diciembre 11, 2017, 09:25:50 PM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Bueno bueno, que tal compañeros en esta oportunidad estaré explicando todos los desafios :D
Reto 1
Quizás para algunos se le sea sencillo a simple vista poder descubrir el método de desencriptado, para este ejercicio lo primero que se me vino a la cabeza fue ROT, asi que si vamos a You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login nos podremos encontrar con una herramienta que permite hacer un bruteforce con todos los métodos ROT posibles, así que sólo le pasamos el texto y comparamos resultados.

Carajo, nunca se me ocurrió y perdí un día haciendo el análisi de frecuencias. Bueno, me queda como experiencia.




PD: Coloqué mi solución al cuarto reto, no había dado cuento que me lo había pasado por alto.

Saludos!
#28
Underc0de / Re:Desafio #12 - Viernes Negro
Diciembre 11, 2017, 04:22:21 PM
Bueno señores, me tocó explicar todos los retos, asíq ue acá vamos:

Punto #1:

Tenemos el mensaje que obviamente está cifrado:

CitarHi hfopoxc jo o zzsbof ufob dofhs rs hi jwro zo ibwqo aobsfo rs sghof fsozasbhs gohwgtsqvc sg voqsf zc eis qfsog sg ib ufob hfopoxc m zo ibwqo aobsfo rs voqsfzc sg oaof zc eis voqsg. Gw bc zc vog sbqcbhforc oib gwuis pigqobrc. Qcac qcb hcrc zc eis hwsbs eis jsf qcb sz qcfoncb gopfog qiobrc zc vomog sbqcbhforc.

A simple vista se nota que se trata de un cifrado por sustitución simple (es la primer impresión que obtuve cuanod lo vi) así que procedí a realizar un ataque por You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login el cual consiste en contar la aparición de cada caracter y compararlo con la aparición de las letras en el idioma en que esté el mensaje, yo asumí desde el principio que el mensaje estaba en español.

Después de un par de horas jugando en la consola de Python, decidí programar un Script que me ayudara. El script cuanta la aparición de las letras, me permite hacer la sustitución y me permite buscar y contar las palabras con una determinada cantidad de caracteres:


(La interfaz es una basura porque programé el script en 20min)

Ahora, la pista fundamental para solucionar el problema fueron estas tres palabras: jo o zzsbof en especial la tercer palabra, puesto nos confirma que no se trata de un mensaje en idioma inglés (puesto que no hay palabras que comiencen con las dos mismas letras) y además nos dice cual es la primer sustitución: z -> L puesto que las únicas letras que se usan dos veces al inicio de una palabra en español es la L (o la R si se escribe con muy mala ortografía) además nos dice que o tiene que ser sí o si una vocal, en español las vocales más frecuentes son la E y la A y O es la letra con más ocurrencias así que vamos por buen camino, por lógica, se se ve la sustitución o -> E no es lógica (valga la redundancia) así que quedamos con la sustitución o->A y si hacemos la sustitución: s->E comenzamos a ver que la tercer palabra comienza a cobrar sentido: LLE_A_.

Ahora, en la primer palabra tammbien podemos sacar información muy útil, puesto que ya tenemos que la segunda letra es la A podemos suponer que que la primer letra j puede corresponde tanto a y como a v para formar la palabra YA o VA pero lo interesante es que si usamos la sustitución j->v la tercer palabra nos quedaría: LLEVA_ lo que por pura intuición nos lleva a suponer que la última letra de la tercer palabra es R...

Despues de mucho jugar... llegamos al mensaje:

CitarTu trabajo va a llenar gran parte de tu vida la única manera de estar realmente satisfecho es hacer lo que creas es un gran trabajoy la única manera de hacerlo es amar lo que haces. Si no lo has encontrado aún, sigue buscando. Como con todo lo que tiene que ver con el corazón sabrás cuando lo hayas encontrado.


Punto #2:

Este punto es mucho más simple, simplemente convertimos el binario a texto y obtenemos: 5f4dcc3b5aa765d61d8327deb882cf99 que a simplevista parece ser un hash md5, lo buscamos en bases de datos online y obtenemos que el hash corresponde a: password

Punto #3:

Este punto es muy simple es un phonewords (o como se escribiría el mensaje en el teclado de un teléfono), pero puede llegar a tomar mucho tiempo puesto que para el último puesto que para la última palabra existen más de 1679616 posibilidades, después de un rato, la solución es: ESTO ES UN ROMPECABEZAS

Punto #4:

Una vez llegamos a la página, lo primero que notasmos es que nos aparece un mensaje diciendonos que la contraseña no es correcta, así, sin siquiera enviar el formulario, lo cual es sospechoso.

Al revisar el código fuente, notamos que hay varios scripts, incluso algunos con errores de sintaxis, pero lo más importante es que el primero de estos scripts es justo la alerta que se nos presenta al inicio.

Acá comencé a dudar, porque no tiene sentido colocar una alerta fija diciendo que la contraseña no era correcta, mi primer impresión fue que el formulario enviaba los datos a un .php que era procesado en el servidor y colocaba la alerta, pero no existe en el servidor un index.php así que la áunica oopción para la flag, es la que está en los comentarios:



Punto #5:

Para este punto, bajamos el archivo y notamos que es una imagen (por lo menos tiene la extensión de una imagen) peroq ue cuando la intentamos abrir, el visor nos avisa que la imagen está corrupta, lo que nos da una pista que puede tener información inyectada en el archivo que dañó el formato. En mi caso, este es el error que me tira el visor:


Mi primer idea es buscar un comprimido dentro de la imagen, para lo cual, simplemente cambio la extensión al ".rar" (en linux es así de simple, no sé en windows) a lo que obtenemos:


Efectivamente, en la imagen hay un archivo comprimido protegido por contraseña llamado loop.txt.

Luego de buscar en los metadatos y no encontrar nada útil, decidí abrir la imagen con un editor hexadecimal y buscar el final de la imagen como tal y donde comienza el comprimido.

La cabecera de los archivos .rar es Rar así que buscamos esa cadena y oh sorpresa


Encontramos la cadena: "--------GOKURar" intui que el "--------" es un simple separador, así que entre el separador y la cabecera tenemos la palabra: GOKU

Intentamos esa palabra como contraseña y voilà obtenemos el flag.

CitarBienvenido a los retos !!!
flag: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login


Reto #5

Para este reto programé el script en Python:

Código: python
def fib():
    a, b = 1, 1
    while True:
        print(a)
        if a == 1597:
            break
        a, b = b, (a + b)

fib()


La función básicamente se explica a si misma, pero iniciamos dos variables con los primeros elementos de la sucesión Fibonacci, y en un bucle corremos la suma hasta que llegamos al número 1597, luego, a la variable a  le asignamos el valor de la variable b y a la variable b le asignamos el valor de la suma de las variables a y b.

Tener en cuenta que en Python las líneas se ejecutan de derecha a izquierda, por lo que primero suma a con b, y asigna ese valor a b y a a le asigna el valor viejo de b.

Saludos!
#29
Python / Re:[TPC-R] Reto #1: Phonewords
Diciembre 11, 2017, 12:37:43 PM
REsultados

Bueno señores, estás son las pruebas, lastimosamente @You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login no pasó ninguna


Lástimosamente para este reto hubo penalizaciones:
@You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login por usar identaciones a ocho espacios 0.0005 s
@You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login por no cumplir con la plantilla: 0.0005 s

Los puntos por elegancia en la solución se los llevó: @You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login 0.0005 s

Al final, la ecuación para calcular el puntaje es: e^-(t-bonificacion+penalizacion)

Los resultados entonces son:



  • larry852
  • po6xsecpo
  • Cr4id3r

Ganados
@You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Estad pendientes, el miércoles sale otroo reto, esta vez una más clásico.

Saludos!
#30
En internet encuentras cientos de soluciones, pero básicamente, la idea es pedir la posición GPS, y enviarla a algún lugar (para esto suelen usar mensajes de texto, para loq ue necesitas un módulo GSM). Por lo general éstos módulos vienen casi que plug and play para usar con Arduino. Ahora, la batería depende de la autonomía que quieres que tenga el sistema.

En este link, te explican muy bien qué es lo que necesitas y cómo lograrlo You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Incluso te venden el kit completo.

Saludos!
#31
Off Topic / Re:Regreso de los "Python Challenges"
Diciembre 08, 2017, 02:16:19 PM
Señores, les informo que acaba de salir el primer reto: You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login el segundo reto gracias a |debobipro está en el horno.

Espero se diviertan.

Saludos!
#32
Python / Re:[TPC-R] Reto #1: Phonewords
Diciembre 08, 2017, 12:23:32 AM
Soluciones de los participantes (en orden de llegada):

@You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Código: python
#Script hecho para  el reto: [TPC-R] Reto #1: Phonewords. Underc0de.org
#Hecho por n1sendev, año 2017

def codificar(string):
    alfa_num = {'A':'2', 'B':'22', 'C':'222', 'D':'3', 'E':'33',
    'F':'333', 'G':'4', 'H':'44', 'I':'444', 'J':'5', 'K':'55', 'L':'555',
    'M':'6','N':'66', 'O':'666', 'P':'7', 'Q':'77', 'R':'777', 'S':'7777',
    'T':'8', 'U':'88', 'V':'888', 'W':'9', 'X':'99', 'Y':'999', 'Z':'9999',
    ' ':' '}

    with open("codificado.txt", 'w') as archivo:
        archivo.write("Inicio mensaje Codificado:\n")
        archivo.write("==============================\n")
       
        for char in string:
            for alfa in alfa_num:
                if char == alfa:
                    codi = alfa_num[char]
                    archivo.write(codi)
                else:
                    pass

        archivo.write("\n==============================\n")
        archivo.write("Fin mensaje codificado")

    print('\nSe ha guardado el texto codificado en el archivo "codificado.txt"')
    return None

def main():
    string_org = input("Introduce una cadena para codificar: ")
    codificar(string_org.upper())

if __name__ == '__main__':
    main()


Observaciones: Primero, el reto no cumple con la plantilla y segundo, @n1sendev entendió mal el reto y el código no hace lo que se pide.

@cr4id3r

Código: python
import re

CONVERSION_DICT = {
        '1': '',
        '2': 'ABC',
        '3': 'DEF',
        '4': 'GHI',
        '5': 'JKL',
        '6': 'MNO',
        '7': 'PQRS',
        '8': 'TUV',
        '9': 'WXYZ',
}


def codificar(mensaje):
        if mensaje:
                string_to_return = re.sub('[^A-Z| ]', '', mensaje.upper())
       
                for conversion_key, conversion_value in CONVERSION_DICT.items():
                        if conversion_value:
                                replace_pattern = '[' + '|'.join([letter for letter in conversion_value]) + ']'
                                string_to_return = re.sub(replace_pattern, conversion_key, string_to_return)
                       
                return string_to_return
        else:
                print("Need a string to convert")




if __name__ == '__main__':
        desired_conversion = input('Introduce el string:  ')
        print(codificar(desired_conversion))


Observaciones: Usa ocho espacios como identación, no cumple con las PEP8

@po6xsecpo

Código: python
pad = {
    "a":2,"d":3,"g":4,"j":5,"m":6,"p":7,"s":7,"v":8,
    "b":2,"e":3,"h":4,"k":5,"n":6,"q":7,"t":8,"w":9,
    "c":2,"f":3,"i":4,"l":5,"o":6,"r":7,"u":8,"x":9,
    "y":9,"x":9}

def codificar(mensaje):
    converted = list()
    for c in mensaje:
        try:
            converted.append(pad[c.lower()])
        except:
            if(c==" "):converted.append(c)
    converted =''.join([str(c) for c in converted])
   


Observaciones: No cumple con la plantilla. Olvidó retornar el valor

@larry852

Código: python
def codificar(mensaje):
    letras = '--abc-def-ghi-jkl-mno-pqrs-tuv-wxyz'
    teclado = letras.split('-')
    respuesta = ''

    for letra in mensaje:
        for index, tecla in enumerate(teclado):
            if letra == ' ':
                respuesta += ' '
                break
            elif tecla is not None and letra.lower() in tecla:
                respuesta += str(index)
                break

    return respuesta


print("Underc0de.org --> " + codificar("Underc0de.org"))
print("$$$$$$Underc0de.org$$$$$$ --> " + codificar("$$$$$$Underc0de.org$$$$$$"))
print("Esto es una prueba --> " + codificar("Esto es una prueba"))


Observaciones: N/A

Puntaje

Señores, ya los scripts están evaluados, no los publico ahora mismo porque aún me falta contar con los bonos y las penalizaciones. Lo que les puedo decir es que se realizaron seis pruebas para verificar que los scripts cumplieran los requisitos, cada una de estas pruebas se corrió 100 veces, se midió el tiempo de ejecución y se tomó el promedio.

Una vez calculado el promedio de ejecución, el puntaje para la prueba se calculó usando la función: e^(-t) donde t es el promedio de ejecución del script.

Saludos!
#33
Python / [TPC-R] Reto #1: Phonewords
Diciembre 08, 2017, 12:15:03 AM
The Python Challenges
el regreso
Reto #1: phonewords


La idea de este reto es implementar un script que reciba un string y sea capaz de convertir cada caracter del string a su respectivo número en el teclado de un teléfono.

Consideraciones


  • Si en el string hay un caracter que no representa una letra debe ser ignorado
  • Los espacios se deben conservar
  • El string que recibirá la función puede contener letras tano en mayúsculas como en minúsculas

Ejemplos

Código: python
codificar("Underc0de.org") - > 86337233674
codificar("Esto es una prueba") -> 3786 37 862 774322


Reglas


  • TODAS las dudas preguntarlas en este mismo post, bajo ninguna circunstancia se resuelven dudas por privado/mp.
  • LA solución debe estar escrita en Pytohn 3.*
  • Seguir en la medida de lo posible las PEP8.
  • La elegancia de la solución otorga puntos extra.
  • Cumplir con la plantilla. (Importante puesto que la calificación la realiza un script automáticamente)

Este reto lo gana el script más rápido

Plantilla

Código: python
def codificar(mensaje):
    return None


Enviar la solución por mp a @Once con el asunto: "[TPC-R] Reto #1". El reto cerrará el domingo a las 23:59 horas. Hora Colombiana.

Saludos!
#34
Hola brother, muchas gracias, me había olvidado por completo de la biblioteca de Underc0de.

¿Puedo primero aprender ASM y lugo las instrucciones de cada micro, cierto?

Saludos!
#35
Hola chicos, resulta que necesito aprender programación de microcontroladores en ASM (ya lo sé hacer en C) en un mes, pero los libros que encontré no me satisfacen del todo.

Si alguien por acá sabe del tema y conoce de algún buen libro que me pueda pasar, estaría eternamente agradecido.

Saludos!
#36
Ideas y Sugerencias / Re:LLuvia de ideas
Diciembre 05, 2017, 09:20:19 PM
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
H0l4!
Me gustaría poder marcarme los post de alguna manera para poder encontrarlos más fácilmente, ya sea poniendo el título en negrita, cursiva, con un asterisco  etc...  o guardandolos en alguna carpeta personal para poder acceder a ellos más fácilmente y no tener que revisar los foros de principio a fin.  A veces veo un post interesante pero no tengo tiempo de leerlo y luego o lo busco haciendo el esfuerzo de acordarme donde estaba o me quedo sin poder leerlo.

Espero les agrade la sugerencia cualquier cosa MP

Gracias .

Hola Hacked,

Mira que el foro ya cuenta con la opción de agregar marcadores: en el panel justo sobre el post, tienes la opción de "Agregar a marcadores"


Y luego puedes acceder a ellos desde el panel de la derecha:





Ahora, secundo la idea de @You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login no sé del tema, pero la verdad me interesa, y la herramienta que menciona, podría colaborar incluso, sé algo de visión artificial.

Saludos!
#37
Off Topic / Re:Regreso de los "Python Challenges"
Diciembre 05, 2017, 10:38:34 AM
Hola chicos,

La idea de los retos no es que se necesite mucho nivel para solucionarlos, por el contrario, son retos donde se pide hacer algo sencillo, pero con algunas limitaciones, como por ejemplo no usar librerias externas, tener un máximo de líneas/caracteres o velocidad.

La idea de estos retos es aprender de las soluciones y el ingenio de las otras personas. Así que los invito a que se animen.

@You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login si tienes alguna idea, por favor coméntamela por interno.

Saludos!
#38
You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login
Ya se puede volver a descargar.

Me aparece que no está disponible.

Saludos!
#39
Off Topic / Regreso de los "Python Challenges"
Diciembre 04, 2017, 12:59:25 PM
Hola chicos,

Hace un par de años cuando era moderador de ésta sección y junto con WhiZ montamos una serie de retos llamados los "Python Challenges" You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Aunque ya no soy moderador y si a la administración no le parece mal, me gustaría continuar con los retos. (Aprovechando que tengo algo de tiempo) pero antes de ponerme con esto, me gustaría saber si hay algún usuario interesado en participar.

Si alguien estaría interesado en participar, por favor comentar este post.

Saludos!

#40
Underc0de / Re:Desafio #11 - Viernes Negro
Diciembre 04, 2017, 12:52:46 PM
Reto: 1

La pista nos dice claramenjte que es un hash, así que lo primero es contar el número de caracteres para hcernos una idea de qué tipo de hash es. El resultado, es que hay 43 caracteres. Como no conozco ningún hash de 43 caracteres, el más cercano es sha1 con 40. Inspeccioné el hash buscando información inyectada. (es fácil saberlo, porque en el caso de ser sha1, todos los caracteres deben ser hexadecimales 0-9A-F)
Al final del hash, se encuentran los caracteres XYZ que una vez eliminados dan una longitud de hash de 40 caracteres hexadecimales. El siguiente paso es pasar este hash por algtuna base de datos online. En mi caso elegí You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

El resultado:    shadow

Reto: 2

AL ver este reto lo primero que pensé fue en usar de primer mano Base64, el resultado:

CitarEn La cimA de la colina Guarda una doncElla uN amuleTo ancEstral. Es un taliSman qUe iNvoca a Maokhai, un Antiguo guardian deL boque Wadud, llAmado a pRoteger sus rEmotos dominios.

Lo que llamó mi atención fueron esos caracteres en mayúscula, que al aislarlos nos dan el mensaje: ELAGENTEESUNMALWARE

Reto: 5

Yo usé Python para solucionarlo:


La solución salió en una sola línea, lo que hago es simplemente filtrar del mensaje sólo los caracteres que corresponden a un número (función filter) este filtrado corresponde a una lista que convierto a un texto usando el método join de los strings en Python.

Saludos!