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

#1
La función necesita una semilla (seed) para crear los número aleatorios a partir de ese valor. Lo más común en estos casos es que se use la hora actual del sistema como semilla para el generador. Solo agrega srand(time(NULL)) antes de llamar a la función rand()



Código: cpp
    
#include <iostream>   
#include <stdlib.h>
#include <ctime>
using namespace std;
     
int main() {
srand(time(NULL));
        int a = rand();
        cout<<a<<endl;
     
        system("pause");
        return 0;
    }
#2

Hola amigos de underc0de, después de estar mucho tiempo inactivo (Los estudios me sacan de aquí) he vuelto con un pequeño código que me pasé la tarde haciendo para volver a tomar la práctica con los códigos jeje  8)
Se trata de una herramienta de conversión para texto, con opciones para convertir a ASCII, binario, hexadecimal, base64, decimal y ROT13.

El código lo pueden encontrar en el No tienes permitido ver los links. Registrarse o Entrar a mi cuenta Una vez compilado su uso es muy sencillo.

Código: php
      Opciones:
      --asc = ascii --bin = binary
    --hex = hex --b64 = base64
    --dec = decimal --r13 = ROT13
   
    --all = todos (default)
    --cb  = copia el output al portapapeles
    --to xxx = convert to xxx


Ejemplo:
Código: php
asciitox.exe "underc0de" --to all



si queremos copiar el contenido de alguna de las salidas colocamos al final la opcion "--cb"
Ejemplo:
Código: php
asciitox.exe --asc "underc0de" --to b64 --cb



Eso es todo por hoy colegas, siéntanse libres si quieren aportar al código, etc.. Nos leemos.

#3
Aún nada, cuando el eip termina de llamar a las librerías del programa y comienza a ejecutarse radare2 deja de responder y recibir comandos. Ya busqué en la documentación, algunos artículos y no consigo información al respecto :/
#4
Hola amigos, estoy tratando de aprender sobre radare2. El problema es que cuando intento correr el programa en el depurador no puedo seguir analizándolo, es decir radare2 no me deja colocar instrucciones (breakpoints, seek's, write,etc) mientras el programa está ejecutándose.


¿Alguna solución o simplemente la característica no está disponible? Lo que intento es depurar/analizar mientras el programa corre como lo haría con Olly.

Gracias de antemano.
#5
Pues lo que me funciona a mi: Una vez leído un tema, aprendido una técnica, etc. Ponla en práctica inmediatamente, luego de ello toma notas (preferiblemente a mano en algún cuaderno, al fin y al cabo estás estudiando) Y por último intenta explicarte a ti mismo lo que acabas de aprender. Si puedes explicarlo, ya lo memorizaste.
Saludos!
#6
Hola @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta gracias por tu comentario

Citar¿Por qué inviertes el hexadecimal obtenido, digo no se puede insertar directamente al registro de esa forma?

Se invierte el hexadecimal debido al formato No tienes permitido ver los links. Registrarse o Entrar a mi cuenta que poseen los procesadores más comunes. De este modo se hace más intuitivo el acceso a datos, porque se efectúa fácilmente de manera incremental de menos relevante a más relevante.

Citar¿Estos valores al ser guardados en el registro EAX, son más grandes de 32 bits, cómo no se sobrecarga este registro?

Los valores estan dentro del rango de los 32bits.
El máximo valor que puede tomar el registro es: 7fffffff=2147483647, y el valor más grande que almacenado en esas instrucciones es  432F6C67=1127181415
1127181415<2147483647   



Saludos!
#7


Que tal colegas. Hoy les enseñaré a aprovecharse del flujo de un programa para modificar determinadas partes de su funcionamiento.
Es recomendado tener al menos conocimiento básico sobre ingeniería inversa, ollydbg, y algo de lenguaje ensamblador.

El ejecutable que estaré utilizando en el ejemplo, es un programa sencillo que hice hace mucho tiempo mientras practicaba las GUI de C++. Lo he encontrado entre la basura de mis carpetas y vi que se prestaba para lo que quiero demostrar, Lo pueden descargar No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, dicho esto, empecemos  ;D

El programa simplemente genera 4 colores aleatorios creando así una paleta de colores, la app tiene una opción que permite buscar imagenes en el navegador que contengan los colores de la paleta generada.

   

Lo que vamos a hacer es modificar esa URL que genera el programa y colocar la que nosotros deseemos.
Manos a la obra 8)

Primero buscaré todas las strings relevantes en relación al botón que llama la función para abrir el navegador. Empezaré con la string "Search image with this colors!" y presionamos F2 para poner un BreakPoint. También localizaré la string "labs.tineye.com" que es la URL que abre el navegador al momento de pulsar el botón, podemos asumir que en algún momento se pasará como argumento a una función. Por ahora colocaré un BreakPoint ahí también.


Bien, una vez hecho esto intentemos comenzar la depuración del ejecutable y esperar que se tope con alguno de nuestros BreakPoints antes colocados.
Presionamos el botón que nos interesa, el que llama a la función para buscar las imagenes. Nos topamos con uno de los BreakPoints, el de la URL y vemos que la instrucción  manipula esa string a partir de la posición 00A4CC4C


A partir de este punto avanzaré hasta encontrar el punto en donde se abre nuestro navegador para tener puntos de inicio/final. Luego de ir paso a paso hallamos ese punto final en 00405158.

Ya que sabemos donde está nuestro punto final podemos analizar el flujo del programa con más calma. Si volvemos a ejecutar el programa y vamos de nuevo instrucción por instrucción notamos que en 0040512B la dirección de nuestra URL completa es almacenada en el registro EAX


La dirección que almacena nuestra string con la URL es entonces 0028F6F2

Lo que voy a hacer acontinuación es cambiar el contenido de la memoria donde es almacenada la URL, lo haré antes de que sea copiado al registro EAX, pues parece que el registro es utilizado para mover el string y utilizarlo dentro de la función que llama al navegador. Para hacer esto tenemos que "inyectar" un par de instrucciones en el programa.
Lo primero que vamos a hacer es buscar un espacio "nulo", es decir, un espacio en la memoria bastante alejada en donde no haya ninguna instrucción, byte, etc. Normalmente se idetifican por una serie bastante larga de NOP o DB 00 Yo elegiré la 00A3C34F. A partir de aquí es donde empezaremos a colocar las instrucciones "inyectadas" con el fin de modificar la URL

Tenemos que hacer que nuestro programa salte en algún punto hasta nuestra dirección alejada, para esto buscaremos una instrucción "inofensiva" o una instrucción que no sea tan importante. Elegiré 0040511E   MOV EAX,16. Pues no hace más que copiar 16 al registro EAX. Reemplazaremos esa instrucción por JMP 00A3C34F para que de un salto incondicional hasta nuestra dirección alejada.

Una vez dado el salto empezaremos a modificar la dirección de memoria de la URL.

La url que inyectaré será: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta (El link acortado al foro de underc0de) Luego de convertirlo a hexadecimal, quedaría así:
Código: php
676f6f2e 676c2f43 714d4d32 6e00


Y luego de invertirlo para pasarlo mediante el registro quedaría de esta forma:
Código: php
2E6F6F67 432F6C67 324D4D71 006e


Ahora empezaremos a copiar todos esos caracteres mediante EAX a nuestra memoria donde se encuentra la URL. Las instrucciones quedarían algo así

Código: asm
MOV EAX, 2E6F6F67
MOV [0028F6F2], EAX
MOV EAX, 432F6C67
MOV [0028F6F6],EAX
MOV EAX, 324D4D71
MOV [0028F6FA], EAX
MOV EAX, 006e
MOV [0028F6FE], EAX
MOV EAX, 16
JMP 00405123



Estas instrucciones son las que colocaremos en nuestra dirección alejada (00A3C34F). Si ejecutamos un poco estas instrucciones podemos ver como nuestra URL va cambiando.


Una vez terminada la modificación de la memoria hay que "dejar todo como estaba y fingir que nada pasó" por eso colocamos ese 16 en EAX y volvemos con un salto al punto justo después de donde aplicamos el primer salto. Esto para que el programa siga su curso "normalmente"

Ejecutamos nuestro programa dentro del depurador para comprobar y...


Búm! Hemos conseguido que el programa nos envíe a un sitio totalmente diferente al que conducía originalmente.
Para guardar los cambios damos en click derecho> copy to executable > All modifications.

¡Y listo!


Esto fue todo por hoy, espero que también hayan aprendido algo. ¡Nos leemos!.
#8
Criptografía / Twitter como fuente de entropía
Febrero 03, 2018, 10:04:26 PM
¿Que es entropía?
La entropía es la aleatoriedad recogida por un sistema operativo o aplicación para su uso en criptografía u otros usos que requieren datos aleatorios.


Internet es un desastre caótico, lo que hace que sea una buena fuente de entropía.
Básicamente cuando generamos claves (Digamos RSA 2048) necesitamos verdaderos números aleatorios. No queremos que sean determinados (Basados en fechas/horas o en algún ID) No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

En linux se tiene lo que se denomina "pool entropy" o conjunto de entropía, un conjunto de bits que se supone que son verdaderamente aleatorios. Su agrupación se alimenta de varias fuentes consideradas algo aleatorias (Movimientos del mouse, eventos de red, pulsaciones de teclas, etc.) Para visualizar el contenido de los bits de entropía disponibles en linux puede ejecutar el comando:
Código: bash
cat /proc/sys/kernel/random/entropy_avail


El apoyo de Twitter

Todos sabemos que twitter es una gran fuente de ruido: bots rusos, amenzas a Trump, interacciones humanas, tráfico de malware, etc. Y todo esto es una gran fuente de entropía ya que es bastante aleatoria y tiene un contenido impredecible. La impredecibilidad es una propiedad importante en la seguridad, un adversario no puede conocer o adivinar la salida del generador de números aleatorios.

Pero twitter es público, ¿Es cripográficamente seguro?
Es cierto que el ruido de twitter es público, pero es impredecible. Usar twitter como fuente única de entropía sería un error fatal ¡Pero su sistema lo sabe y ya cuenta con herramientas de entropía! Se pueden mezclar esas fuentes y crear un conjunto bastante caótico con muy buenas propiedades. ¡Mientras más, mejor!

Obteniendo Tweets aleatorios
Twitter permite a cualquier persona extraer una pequeña muestra aleatoria de todos los tweets que se publican en tiempo real, utilizando su No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

Ruido de Twitter(tweets concatenados y codificados en UTF-8)

Se muestran 500KB de tweets sin procesar, la entropía es alrededor de 6.5519 bits por byte (El verdadero valor aleatorio llegaría a 8 ) No es completamente al azar, pero nos acercamos.
Ahora podríamos comprimir los bytes hasta tener una alta entropía (hashing) o mezclarlo con otro generador de números aleatorios.

Ruido luego de mezclar con un generador de números pseudoaleatorios

Esta fuente de entropía no es verdaderamente aleatoria, pues, podemos suponer que habrán muchos hastags (#), links populares y emojis que serán repetitivos dañando nuestro objetivo.
En conclusión: No uses esto para operaciones criptográficas sensibles.


Fuente: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#9
Hola!

Modification: Contiene la última vez que el archivo fue cambiado
Access: La última vez que el archivo fue examinado
inode/change: La última vez que el No tienes permitido ver los links. Registrarse o Entrar a mi cuenta fue cambiado.
#10
Visual Basic / Re:Herramienta de conversión
Enero 25, 2018, 06:45:01 PM
¡Muy buen aporte! Me gustaría que tuviese conversor a binario, y también un espacio para realizar operaciones lógicas(or and xor) Vendría bien para mi backpack de reversing tools :D
#11
¡Muy bueno! Investigué un poco más y no solo estos paneles están al descubierto. También tienen muchos agujeros de seguridad (por ejemplo xss)


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

y también otras brechas interesantes que encontré en No tienes permitido ver los links. Registrarse o Entrar a mi cuenta  ::)

¡Saludos!
#12
Hace unas semanas me topé con el blog de 'Ultimate Hackers' y tienen algunos tutoriales/artículos sobre phishing bastante creativos No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
#13
Off Topic / Re:Compartan sus trolleadas.
Enero 08, 2018, 01:21:11 PM
#14
Python / Re:¿Hacking con API's o redes sociales?
Diciembre 20, 2017, 10:51:36 PM
¡Muy bueno! También me he encontrado API's no tan permisivas como deseo, pero con ingenio y algo de web scrapping se pueden tener resultados como estos. Saludos!
#15
Seguridad / [Guía] Privacidad online
Diciembre 10, 2017, 01:43:53 PM

El tema de navegar en internet no es seguro ni mucho menos anónimo. Y el número de servicios que ofrecen seguridad para nuestra información crece a la par con el número de compañías dispuestas a vender información acerca de nuestra actividad online. La privacidad es un derecho no una característica de marketing para convencernos de descargar algún software o cambiarnos de proveedor de mail.

Por eso les mostraré las técnicas que yo uso y recomiendo para navegar de forma segura y un poco más tranquila. Es  mejor paranoia que passwords débiles ;D

Utiliza VPN


Por simplifcar, las redes VPN (Red Privada Virtual) añaden una red privada sobre la red principal del usuario. Básicamente, una red VPN toma tu conexión, la encripta y la envía a otro servidor. En lugar de que tu ordenador acuda directamente a una web, primero accede a un servidor intermedio y, desde ahí, entra a la web destino. Al utilizar una VPN solo será visible tu conexión con el servidor intermedio, y este será el que de verdad ejecute las peticiones
Usar un proveedor VPN NO TE HACE ANÓNIMO. Pero te ofrece una mejor privacidad, recuerdo que no utilizamos estas herramientas para actividades ilegales  ;)

* Recomendación de paga (124.95 €) No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
* Recomendacion gratuita  No tienes permitido ver los links. Registrarse o Entrar a mi cuenta




Utiliza un navegador confiable


El navegador web es la puerta desde la que accedemos a internet. Hoy en día le dedicamos mucho tiempo a este programa, tanto en la computadora como en tu tablet o smartphone, ya que desde él tenemos acceso al correo, a redes sociales, a portales de noticias. Por eso es importante que el software que utlicemos se preocupe por nuestra privacidad
Empecemos por desinstalar Chrome. Punto. Por la simple razón de que la gran 'G' siempre está mirando.

Existen mejores alternativas para navegar y además open-source.
Recomiendo:
*No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
*No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
*No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
*No tienes permitido ver los links. Registrarse o Entrar a mi cuenta




Encripta tus correos

¿Cómo me aseguro de que nadie que no esté autorizado/a pueda leer el contenido de mis correos electrónicos? Necesitas enviar información privada y delicada a tus colegas o amigos/as, pero sabes que una vez que los mensajes salen de tu computador, viajan por una tierra de nadie donde pierdes el control.

Existen muchas maneras de encriptar y firmar tus correos No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, etc.
Aún este tipo de proveedores no son muy conocidos por ser conscientes en cuanto a privacidad. Aunque siempre puedes usar herramientas de encriptación de terceros, es recomendado cambiar el servicio.

* Recomendación de paga ($ 59.95)   No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
* Recomendacion gratuita No tienes permitido ver los links. Registrarse o Entrar a mi cuenta  | No tienes permitido ver los links. Registrarse o Entrar a mi cuenta




Haz búsquedas seguras


Ya dijimos que la gran 'G' siempre está mirando, por lo tanto seguir usando Google como buscador en este punto sería...
Recomiendo como alternativa
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta es open-source y puede llegar a ser acertado como otros buscadores populares, ya que se encarga de recopilar los resultados que arrojan otros motores de búsqueda conocidos. Sin publicidad, sin guardar tus búsquedas, sin rastreos. Otras buena alternativa es No tienes permitido ver los links. Registrarse o Entrar a mi cuenta




Tu móvil también...


Ya se ha hablado (y no muy bien) acerca de los servicios de mensajería instantánea y la privacidad. ¿Estará espiando alguien nuestros mensajes? No podemos saberlo, pero tenemos la posibilidad de escoger otra app más segura que WhatsApp, por ejemplo.

Por suerte existen algunas alternativas recomendadas, entre ellas:

*No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
*No tienes permitido ver los links. Registrarse o Entrar a mi cuenta (Como Mr.Robot  8))

Ambas disponible para Android y iOs




Allá arriba también deberías...


Con el paso de los años la nube se ha vuelto imprescindible para todo, porque nos permite alojar archivos sin que ocupen espacio físico dentro de nuestros dispositivos. Pero es importante centrarse siempre en la seguridad.
Asegura tus servicios de almacenamiento en la nube. Dropbox, Google Drive, OneDrive, iCloud. Todos han sido criticados y atacados por presumir sobre seguridad pero husmear y filtrar bastante. Como alternativa:

*Recomendación de paga ($10) No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
*Recomendación gratuita No tienes permitido ver los links. Registrarse o Entrar a mi cuenta




Encripta tus archivos locales

El principal método para que mantener a salvo tus datos e información privada es evitar que nadie tenga acceso.
Siempre es bueno mantener los archivos de tu pc encriptados, esta práctica cada vez es más popular entre los usuarios promedio y así debería continuar. Para mi la mejor herramienta y bastante popular en lo que hace es No tienes permitido ver los links. Registrarse o Entrar a mi cuenta aunque también es recomendada No tienes permitido ver los links. Registrarse o Entrar a mi cuenta




No olvides tus contraseñas

De nada sirve haber seguido todos los pasos y tener una contraseña "1234" Creo que todos conocemos las características de una buena contraseña (numeros,mayusc,signos,etc...) Un truco que yo utilizo para 'cifrar' mis contraseñas y recordarlas siempre, es tomar una frase que recuerdes y colocar cada letra inicial de ella, respetando signos de puntuación
Ejemplo: "En el club de la pelea, luchas contra TODAS las cosas que odias en esta vida." = "Eecdlp,lcTlcqoeev."

Otra técnica que también he utilizado es escribir mi contraseña y en vez de presionar la tecla, moverme una tecla arriba y a la izquierda.
Ejemplo: pass= "undercode" | arriba y a la izquierda= "7he34d9e3"

Luego de muchas contraseñas quizá necesites un administrador para ellas. Recomiendo utilizar No tienes permitido ver los links. Registrarse o Entrar a mi cuenta , no se necesita sincronización ni acceso a internet. Lo que promete mantener tus contraseñas completamente seguras.




Recursos recomendados sobre privacidad

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




Bueno undercoders esto es todo, espero que haya sido útil  ;D

CitarArgumentar que no te importa la privacidad porque no tienes nada que esconder, no es diferente a argumentar que no te importa el derecho a la libertad de expresión porque no tienes nada que decir

-E. Snowden
#16
Hola undercoders! Hice un pequeño script para comprobar si uno o más correos han sido filtrados en algún momento. El script utiliza la API de No tienes permitido ver los links. Registrarse o Entrar a mi cuenta para confirmar. Solo necesitamos un archivo emails.txt con todos los correos a testear para empezar a correr el script y luego si lo deseamos exportar todos los positivos a otro archivo



Código: php
if((test-path "emails.txt") -eq $false){
    write-error "Archivo 'emails.txt' faltante"
}

$emails = get-content emails.txt
$ouput

foreach($mail in $emails){
   
   if($mail -notmatch '[a-zA-Z0-9.-]+@\w+\.\w+'){continue}

   $test = invoke-webrequest "https://hacked-emails.com/api?q=$mail"
   if($test.content -match '(:0)(?=,"data")'){
       write-host "Ninguna entrada para $mail !" -foreground green
       write-host "`n============================`n"
    }else{
if($test.content -match '(\d+)(?=,"data")'){}
$matches = ([regex]'https:[a-zA-Z\\\/-]+\.com\\\/leak\\\/[a-zA-Z0-9-.]+').Matches($test.content);

write-host "[x]" $matches.Count " Entradas para $mail [+] `n" -foreground red
    $output += @("$mail`n")
foreach($link in $matches){
    write-host "E-mail filtrado en:" ($link -replace "\\") -foreground red
    $output += @($link -replace "\\")
}
$output += @("`n==========================`n")
write-host "`n============================`n"
    }

}

write-host "Exportar e-mails filtrados? S/N > " -NoNewLine
   $x=read-host

    if($x -eq 's' -or $x -eq 'S'){set-content "output.txt" $output}
#17
Otros lenguajes / Sintaxis de Cramel en VIM
Noviembre 05, 2017, 12:12:40 AM
Que tal colegas. Hice mi primer No tienes permitido ver los links. Registrarse o Entrar a mi cuenta-plugin y lo orienté hacia No tienes permitido ver los links. Registrarse o Entrar a mi cuenta y su amigable sintaxis  ;D



Para instalarlo

Puedes clonar el repositorio No tienes permitido ver los links. Registrarse o Entrar a mi cuenta y usar tu Plug-Installer favorito, recomiendo utilizar No tienes permitido ver los links. Registrarse o Entrar a mi cuenta o No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Código: php
Plug 'https://github.com/Andergedon/cramel-vim'


Si prefieres instalarlo manualmente copia los archivos .vim dentro del repositorio: 
y pegalos en su respectiva carpeta dentro de tu ...\Vim\VimFiles



Y listo! Reiniciamos nuestro vim y ya podremos visualizar el coloreado en la sintaxis de Cramel.



BONUS

Para opciones de completación de código yo utilizo No tienes permitido ver los links. Registrarse o Entrar a mi cuenta Que se encarga de completar las palabras dentro de la sesión de VIM abierta



Trataré de seguir actualizando el plugin, nos vemos undercoders.
#18
trato de mantenerlo así  8)

#19
Dudas y pedidos generales / Re:Continuar aprendiendo?
Septiembre 21, 2017, 12:21:42 PM
CitarYo me leería algo de Deitel.
Ya leí la 9na edición de c++ y otros títulos también bastante buenos.

CitarQue tal las librerías típicas de sockets, WINApis, etc, etc

La verdad he estado posponiendo el meterme con ese tipo de librerías, no se si aún tenga que aprender cosas que me sirvan de base para buenos códigos utilizando librerías externas.
#20
Que tal amigos, tengo un tiempo aprendiendo c++ y ya manejo desde lo fundamental hasta la POO, tengo buen planteamiento algorítmico, conozco las estructuras de datos, etc. 
¿Con que temas creen que debería continuar para seguir aprendiendo en la programación?