Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Mostrar Mensajes

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


Temas - proxy_lainux

Páginas: [1] 2 3
1
Dudas y pedidos generales / Duda sobre protección de Tor
« en: Septiembre 08, 2019, 03:53:37 am »
Hola.

Hace un tiempo vi un video de una conferencia de hackers, donde exponían que era posible hackear las webs en Tor, y si, si es posible, pero también habló sobre lograr revelar las ip de los usuarios, de eso no estoy seguro.

Según en Google, encontré que es posible mediante dos formas, la primera es mediante mediante una descarga, si alguien descarga algo de un servidor, se puede saber la ip real, o con un javascript o cookie... La descarga se me hace lógica, pero, se podrá de esa manera saber la ip real?, que no esta cubierta por los inproxies?...

La segunda es instalar un servidor con un exit node, y hacer sniffing del tráfico que salga y con eso obtendría la ip real, pero me imagino que solo en caso de que alguien se conecte a Tor y busque algo en la red normal, pero si podría revelar una ip?

Que opinan?, tengo duda de eso

2
Hola

¿Alguien sabe cuáles son las formas en como actualmente se auto ejecutan los malware?

Lo más común era hacer un registro en regedit en la zona Run, pero ya es tan viejo que actualmente ya no creo que funcione, los antivirus ya detectan las inyecciones de dll y modificar el entrypoint  de un archivo para ejecutar un código también ya está muy detectado, ¿pero de que forma se hacen persistentes los malware para auto ejecutarse en un sistema actualmente?

3
¿Alguien sabe como puedo saber e imprimir la cantidad de bytes que tiene en total un archivo como lo haría fseek pero en asm?

Tengo un código con el que puedo leer un archivo pero lo que necesito es que sea capas de imprimir los bytes, como lo hace fseek en C

Código: ASM
  1. global _start
  2.  
  3. section .data
  4.  
  5. fl db "text.txt",0
  6.  
  7. section .bss
  8.  
  9. descr resb 4
  10. buffer resb 1024
  11. len equ 1024
  12.  
  13. section .text
  14.  
  15.  
  16. _start:
  17.  
  18.  
  19. mov eax, 5
  20. mov ebx, fl
  21. mov ecx, 0
  22. int 0x80
  23.  
  24. mov [descr], eax
  25.  
  26. mov eax, 3
  27. mov ebx, [descr]
  28. mov ecx, buffer
  29. mov edx, len
  30. mov edi, edx
  31. int 0x80
  32.  
  33.  
  34. mov edx, eax
  35. mov eax, 4
  36. mov ebx, 1
  37. mov ecx, buffer
  38. int 0x80
  39.  
  40. mov eax, 6
  41. mov ebx, [descr]
  42. int 0x80
  43.  
  44. mov eax, 1
  45. mov ebx, 0
  46. int 0x80
  47.  
  48.  
  49.  


4
Hola

Tiene un buen rato que no intento practicar los exploit en linux, y ya no recuerdo algo que suele pasar al hacer un exploit con gdb.

Cuando cargas una app en gdb se carga en una memoria diferente a cuando se ejecuta de forma normal, y si esp se encuentra en cierta dirección, se carga diferente en memoria al ejecutarlo fuera de gdb, por ejemplo

0xffffd2fa -GDB
0xffffd25c - fuera de GDB


recuerdo que se hace una suma de algo para ejecutar un exploit... recuerdo que al principio le iba atinando poco a poco, algo así.

0xffffd25c -- 0xffffd250 -- 0xffffd24d ...etc

hasta que de repente me daba la shell

después encontre que algo se sumaba para encontrar la verdadera dirección sin tener que atinarle, funcionaba con NOP slide pero ya no recuerdo que se hacia.

¿Alguien de aqui recuerda como se encontraba la verdadera dirección de ESP de una app vulnerable fuera de GDB?

porque cuando busco esp de un buffer en gdb, encuentro ret y busco como brincar a la mitad de los nop para ejecutar la shell, dentro de GDB no hay problema pero cuando lo ejecuto fuera de GDB me dice que hay un error de segmentación y ya no recuerdo que hacia para acomodar la dirección esp y llegar a los NOP.
 
Espero alguien me pueda decir que es lo que se hace para acomodar las cosas dentro y fuera de GDB

Saludos.

5
¿Alguien tiene algunos libros y ejercicios para practicar lenguaje arm en ensamblador?, de preferencia para android

Saludos.

6
Debates / Ultimos días del ataque ROP exploits
« en: Abril 01, 2018, 05:21:48 am »
Hola.

Quería preguntarles, ¿qué opinan que Micro$oft e Intel están por lanzar un hardware que eliminará el ataque ROP utilizado por exploits?, ya existe el DEP, ARSL, Canaries y ahora AntiROP.

¿Creen que salga alguna nueva tecnica para exploit o eso detendra el exploit que conocemos y se volverá una técnica cada vez menos utilizada?, casi como lo que le pasó a los troyanos.

7
Hola

Estaba practicando los exploit en linux, y en todos me encuentro con una variante, el jmp a esp o a algun registro, usando gdb me presente con un creo "clásico" problema de que en GDB son un poco diferente los datos y posiblemente te funcione dentro de GDB pero afuera no, hay que reacomodar, a veces es cuestion de una suma o resta en calculadora, pero hay veces que debo hacerlo manualmente y es tedioso sumar y restar 1 + 1 o 1 - 1 hasta que me da la shell. Aquí es donde me viene la pregunta, ¿habrá alguna manera de lograr encontrar con exactitud el jump al buffer?, no hablo de usar metasploit, alli con pattern y msfelf lo encuentro, me refiero a la manera tradicional

Encontre que hay manera de hacerlo por fuerza bruta pero no estoy seguro que sea una buena opcion, sin embargo, lo intentare como prueba, pero quisiera saber si es posible encontrarlo con más exactitud o como lo hacen ustedes?

saludos

8
Dudas y pedidos generales / bufferoverflow "conexión invalida"
« en: Marzo 25, 2018, 06:11:16 pm »
Hola compañeros.

Estaba haciendo una prueba de overflow con conexion reverse, pero tengo un problema, a ver si alguien sabe que podría ser.

Tengo el bufferoverflow en c y en python hice el payload, etc... todo va bien, al principio hice una payload con metasploit, me funciono perfecto, pero no quise quedarme con eso nada más, así que programe en ensamblador un socket.

El programa tambíen funciona bien, sin ningun problema, lo conecto en netcat para hacer la prueba y funciona, pero aquí viene el problema.

Cuando lo ejecuto los opcodes desde python, hice un seguimiento con gdb y todo va bien, me aparece el bin/bash y regresa la conexión hacia netcat, con metasploit no tengo problema, puedo usar la conexión y mantenerla activa, pero con el de ensamblador, sí se crea una conexión con netcat, pero me sale un aviso

invalid connection to [192.168.xx.xxx] from (UNKNOWN) [192.168.xx.xxx]

y se termina la conexión... y no lo entiendo, si ejecuto directamente desde el archivo de ensamblador, se crea la conexión y se mantiene estable, lo ejecuto desde python y no me aparece mensaje de error alguno, reviso gdb y no me muestra mensaje de error, al contrario, me muestra que si se creo el bash correctamente, la conexión con netcat es correcta pero cuando se crea la conexión me dice inmediatamente invalid connection.

¿Alguien sabe que podría estar pasando?, tengo la creencia de que algo pasa en el buffer que posiblemente termina la conexión pero es solo una suposición, no creo que sea eso, ¿o a caso al final debo colocar alguna interrupción al payload?

9
Dudas y pedidos generales / Eliminar null en un hola mundo en nasm
« en: Febrero 26, 2018, 12:34:02 am »
Hola

Estoy aprendiendo a eliminar los nulls en ensamblador, lo estoy intentando con algo simple como un hola mundo en nasm, la manera en que lo hice fue haciendo un call y con xor en los demas registros para que pasara algo asi

Código: ASM
  1.     global _start
  2.      
  3.     section .data
  4.      
  5.     section .text
  6.      
  7.     _start:
  8.      
  9.     jmp mess
  10.      
  11.     proc:
  12.     xor rax, rax
  13.     mov al, 1
  14.     xor rdi, rdi
  15.     mov dil, 1
  16.     pop rsi
  17.     xor rdx, rdx
  18.     mov dl, 0x12        
  19.     syscall
  20.      
  21.      
  22.     ;exit
  23.      
  24.     xor rax, rax
  25.     mov al, 60
  26.      
  27.     xor rdi, rdi
  28.     mov dl, 11
  29.     syscall
  30.      
  31.     mess:
  32.     call proc
  33.     MSG db 'Hola mundo x64',0x0A
  34.     /code]
  35.  
  36.  
  37. Así call mete en la pila MSG y luego lo retoma RSI con un pop, solo que no recuerdo si lo retoma en esp o en esp+4, lo analice en GDB pero no estoy seguro si es rsp o rsp + 4
  38.  
  39. (gdb) x/s $rsi
  40. 0x4000a8 <MSG>: "Hola mundo x64"
  41.  
  42. ¿Alguien me podría decir cual de las dos formas sería la correcta?
  43.  
  44. [code]|------------
  45. |rsp ---- MSG
  46. ---------------------

Código: [Seleccionar]
|
|rsp + 4 ---- MSG
/code]

Pero también quisiera saber si hay otra forma de lograr eliminar los null sin tener que hacer el call

así lo había dejado pero me encontré con el problema de no saber como eliminar el null de rsi

[code=asm]global _start

section .data

MSG: db 'Hola mundo x64'
length: equ $-MSG

section .text

_start:

xor rax, rax
mov al, 1
xor rdx, rdx
mov bl, 1
xor rsi, rsi
mov rsi, MSG
xor rdx, rdx
mov dl, length
syscall


;exit

xor rax, rax
mov al, 60

xor rdi, rdi
mov dl, 11
syscall

Si ven, el único que me faltaría es RSI que analizandolo con objdump se vería de ésta forma

Código: [Seleccionar]
00000000004000b0 <_start>:
  4000b0: 48 31 c0              xor    rax,rax
  4000b3: b0 01                mov    al,0x1
  4000b5: 48 31 d2              xor    rdx,rdx
  4000b8: b3 01                mov    bl,0x1
  4000ba: 48 31 f6              xor    rsi,rsi
  4000bd: 48 be dc 00 60 00 00 movabs rsi,0x6000dc
  4000c4: 00 00 00
  4000c7: 48 31 d2              xor    rdx,rdx
  4000ca: b2 0e                mov    dl,0xe
  4000cc: 0f 05                syscall
  4000ce: 48 31 c0              xor    rax,rax
  4000d1: b0 3c                mov    al,0x3c
  4000d3: 48 31 ff              xor    rdi,rdi
  4000d6: b2 0b                mov    dl,0xb
  4000d8: 0f 05                syscall

¿Pero que otra forma se les ocurre que podría eliminar esos null's?

Y ya de paso otra pregunta más, RET solo se utiliza en EBP o también en ESP, me explico

Código: [Seleccionar]
|
|rsp + 8
|------------
|rsp + 4
|-----------
|rbp
|------
|ret
|-------
|rbp + 8
--------------
---------------------------------
Código: [Seleccionar]
|
|rsp + 8
|------------
|rsp + 4
|-----------
|ret
--------------

10
Hola

Estoy haciendo un código para conectarme mediante android y mi PC, pero tengo un problema, cuando mando información me aparece todo en horizontal


holamundoarchivo1archivo2


y me gustaría que me apareciera en forma vertical

hola
mundo
archivo1
archivo2

Esta parte es como mando la información en android

Código: Java
  1.  ptrw= new PrintWriter(sr.getOutputStream());
  2.                                 ptrw.write(fileList.get(i).getName());
  3.                                 ptrw.flush();


Y esta parte es como la recibo en Java en mi PC

Código: Java
  1. entr = new BufferedReader(new InputStreamReader(sok.getInputStream()));
  2.                
  3.                while((content = entr.readLine()) != null){
  4.                
  5.                 System.out.print(content);
  6.                 System.out.flush();
  7.                }

¿Alguien sabe como podría hacer que me aparezca en vertical la información?

Saludos

11
Dudas y pedidos generales / [SOLUCIONADO] Duda sobre programación en Android
« en: Septiembre 02, 2017, 10:48:55 pm »
Hola

Estoy intentando aprender a hacer una aplicación que se inicie de forma invisible, estuve buscando y encontré que el siguiente código lo podría esconder y si lo hace... también modificando *.xml

Código: Java
  1.  getWindow().addFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE);
  2.         getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

pero según leí, se puede seguir usando la pantalla normalmente, sin embargo, cuando toco la pantalla se queda estática, y es porque la app esta en primer plano y no puedo hacer nada, la única manera es oprimiendo el botón "back" y la app queda en background

¿alguien sabe cómo se puede quedar la app en primer plano, invisible y que se puede seguir usando la pantalla normalmente?

12
Hola, vengo con una duda algo extraña

Ayer mi primo me explicó que estaba revisando freenet, pero que se le hizo aburrido porque casi no hay nada o es inproxy y todo está reservado en sólo amigos, entonces encontró una página de paranormal y descargo dos vídeos, pero olvido configurar el firewall del módem, lo dejó sin protección por no saber configurar el puerto, lo cual es muy estúpido de su parte... pero bueno, la cosa está en que mientras descargaba el vídeo, estaba viendo desde su celular un cortometraje en YouTube, cuando derepente apagó su compu y el módem, y me dijo que mientras escuchaba el vídeo, se le bajó el volumen.... y se le hizo raro, así que revisó el volumen y se dio cuenta que el volumen había regresado a la zona azul... para los que usan android recordarán que Android mantiene el audio en una zona azul y al pasar al rojo te avisa que debes tener precaución porque es dañino para los oídos, etc.. en ese momento le subió y le apareció ese mismo mensaje, así que fue cuando apagó todo... afortunadamente usó freenet de manera que no hubieran muchos accesos, pero aún así no sabe porque el celular bajo el volumen, dice que no recibió nada, ni un apk, ni un mensaje, nada... así que yo le dije que posiblemente el controlador de audio de su celular tuvo un error y se reinició dejándolo en modo "default", ya que su cortometraje duraba como 30 segundos y lo repetía y repetía.

Y tenemos esa duda, ¿creen que alguien haya tenido acceso, al posiblemente dejar registros en la descarga del contenido mediante freenet o creen que Android tuvo un fallo en su controlador y se reinició el sonido en default como protección?

13
Dudas y pedidos generales / Convertir código de C a Java
« en: Febrero 02, 2017, 09:22:47 pm »
Hice un código sencillo para convertir localtime desde números introducidos en la estructura tm de time.h

pero no encuentro cómo pasarlo a Java ya que no llevo mucho tiempo usándolo, ¿me podrían decir que funciones o que buscar para lograr hacer lo mismo en java?

les dejo el código que necesito pasarlo a java

Código: C
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <time.h>
  4.  
  5.  
  6. int main(){
  7.  
  8. char buffer[256];
  9. const char *formatoS = "%Y.%m.%d - %H:%M:%S";
  10.  
  11. struct tm dat;
  12. time_t timp = 1483256049;
  13. localtime_r(&timp, &dat);
  14.  
  15. strftime(buffer, 256, formatoS, &dat);
  16.  
  17. printf("%s", buffer);
  18.  
  19. }
  20.  

14
¿Cómo logro hacer una petición sql cuando hay un @?

tengo en una columna de la que me gustaría sacar información, pero hay un problema...cuando lo hago me menciona este error

SQLITE_ERROR] SQL error or missing database (near "@s": syntax error)

trato de llamar un dato, por ejemplo

[email protected] pero no me deja

¿Alguien sabe la manera correcta de usar "WHERE [email protected]" en SQL?

15
Dudas y pedidos generales / ¿Cómo accedo al .db de WhatsApp?
« en: Enero 28, 2017, 03:20:40 am »
Hola

Hace tiempo se usaba esto para poder entrar a la base de datos de Whatsapp

346a23652a46392b4d73257c67317e352e3372482177652c

Me imagino eso ya no sirve, e investigando dice que se necesita ahora el cypter y la key para desencriptar el db... pero ¿qué información me serviría?, porque encuentro muchos programas para desencriptar los datos, pero ya te dan todo, los datos en un html o el mismo programa ya te muestra toda la información dentro del archivo, pero me gustaría intentar hacer el mio.

Yo recuerdo que con sqlite me conectaba a la base de datos y usando la key entraba como cualquier DB, y sólo me tocaba ir mostrando las tablas, etc... pero ahora por lo visto necesito desencriptar el db con una key, para poder tener acceso a los datos, los cuales no sé si sea necesario la key que coloque arriba o ya es cosa del pasado.

Espero me puedan orientar, me gustaría poder analizar la base de datos, pero antes debo saber como desecriptar para obtener el db original, e intentar conectarme con sqlite en alguna aplicación.

16
Hola

Estoy haciendo una aplicación para descargar imágenes, a veces necesito descargas varias y se me hace muy pesado hacerlo uno por uno, pero me surgió una duda, estoy haciendo uso de Curl.

Lo primero que hice fue descargar el código fuente de la página y guardar en un buffer el código, al parecer ya puedo hacer uso de ella con los array, pero ahora viene algo que no sé cómo funcionaría mejor. Tengo la idea de buscar los links de la imágenes y separarlas... por ejemplo

Código: HTML5
  1. if (!_W.getCookie('506442620979584765_cookie_policy') || (_W.getCookie('506442620979584765_cookie_policy') !== cookie_content)){
  2.                         if (cookie_location === 'top' || cookie_location === 'bottom'){
  3.  
  4. .....
  5.  
  6. <a href = "imagenes/imagen1.jpg" </a>
  7.  

Me gustaría buscar en el array <a href>, al encontrarlo, ir separando los links y guardarlos
Código: HTML5
  1. "imagenes/imagen1.jpg"
  2. "imagenes/imagen2.jpg"
  3. "imagenes/imagen3.jpg"

Ya separados, guardar el nombre de la imagen con fopen, hacer una petición (me imagino que debo usar GET), y guardar los bytes de descarga, para finalmente obtener las imágenes.

Pero necesito ideas de cómo lograrlo, tengo en el (array char) el código fuente, ¿pero de que manera busco "<a href" para encontrar los links de las imágenes?, quería usar un for que me buscara en el array la parte deseada y con strcmp verificar si es lo que estoy buscando, pero siempre me sale este mensaje cuando buscaba alguna parte del código

Código: [Seleccionar]
aviso: el paso del argumento 1 de ‘strcmp’ crea un puntero desde un entero sin una conversión [-Wint-conversion]
     if(strcmp(buff[a], 'c') == 0){
               ^~~~
In file included from downweb.c:3:0:
/usr/include/string.h:140:12: nota: se esperaba ‘const char *’ pero el argumento es de tipo ‘char’
 extern int strcmp (const char *__s1, const char *__s2)

pero no sé si haya otra manera de hacerlo, que no sea manualmente ya que no siempre se encontrarán en la misma posición, ¿Ideas de que podría hacer en ese caso?

17
Hola

Estaba de ocioso, y quise ver si en Windows 10 todavía se podía hacer los RunPE, estoy un poco óxidado y estuve buscando los antoguos manuales que rondan en internet. Quise hacer una nueva sección para ejecutar un MessageBox.

Pero no sé si lo hice bien, porque Notepad.exe queda con la misma cantidad de bytesy no me menciona ningun mensaje de error, ni me avisa que ya no es un DOS, el icono de notepad aparece bien, lo que significa que en téoria, lo hice bien.

pero cuando lo ejecuto, me dice "No se puede ejecutar esta aplicación en el equipo". Y esto es confuso, ya que no sé si está mal o el sistema detecto algo y no permite que se ejecute.

Alguien aquí lo ha hecho con exito, para entonces describir los pasos que hice, talvez algo esta mal y por eso no me funciona... Lo que no recordé bien fue sobre los alinear, pero no creo haberme confundido, ya que Notepad quedó bien, o eso es lo que yo creo.

Saludos




Edición:

Bueno, ya lo solucioné, me había equivocado en la modificación de SizeOfImage y VirtualAddress

me marcaba 35000 y con la operación confundí la alineación y coloque 40000, en vez de su multiplo siguiente 36000 y lo mismo me pasó con VirtualAddress, pero tengo una duda sobre unas secciones

Para encontrar VirtualAddress, ¿es sumando "VirtualAddress + VirtualSize" o es sumando "VirtualAddress + SizeOfRawData"?

Para encontrar SizeOfRawData, ¿es alineando la cantidad que yo agrego y ya, verdad?, por ejemplo

si mi sección tiene 0x15 y FileAlignment es 0x200 entonces sería 0x15 alinear 0x200 = 0x200 --- o también si fuera 0x240 alinear 0x200 = 0x400 y asi sucesivamente, cierto?, SizeOfRawData solo se obtiene verificando tus datos y FileAlignment, nada mas, ¿cierto?

También trate de meter código asm u opcodes del asm, y buscando encontre que se debe reacomodar ImageBase y AddressOfEntryPoint... ya los encontre, supuestamente se suman y ahí es donde se inicia el código... pero no se que hacer después

ya que tengo ImageBase y AddressOfEntryPoint, ¿que se debe hacer, o como se modifica eso?

Perdon si no pongo código, pero lo estoy haciendo manualmente porque ya no recordaba varias cosas y otras no las aprendí, solo estoy usando códigos para facilitarme un poco las busquedas, porque tener que contar byte por byte para llegar a una dirección es horrible.

Espero me puedan ayudar, gracias

18
Tengo una duda con el uso de funciones en ASM

hago una funcion y en el hago dos push

Código: ASM
  1. push ebp
  2. mov ebp, esp
  3.  
  4. push dword [ebp + 0x0C]
  5. push ebx
  6. call comparar
  7.  
  8. mov esp, ebp
  9. pop ebp
  10.  

En el stack quedaría algo así, ¿cierto?

Código: ASM
  1. push dword[ebp + 0x0C] - esp 0x08
  2. |---------
  3. |
  4. |push ebx - esp 0x04

Se me ocurrio hacer una comparación como en C, entonces lo haría parecido a strcmp afuera del push ebp, como volveré a usar ebx lo vuelvo a guardar

Código: ASM
  1. comparar:
  2. push ebx
  3.  

Pero tengo una duda, si hago eso, ¿entonces quedaría así en el stack?

Código: ASM
  1. |
  2. |push dword[ebp + 0x0C] - esp 0x0C
  3. |---------
  4. |
  5. |push ebx - esp 0x08
  6. |----------
  7. |
  8. |push ebx - esp 0x04

¿Y al final solo necesitaría hacer esto?

Código: ASM
  1. comparar:
  2. push ebx
  3. loop:
  4. mov eax, [esp + 0x0C]
  5. mov al, byte [eax]
  6. mov ebx, [esp + 0x08]
  7. cmp al, byte [ebx]
  8. ....
  9.  
  10. pop ebx
  11.  

Si así quedaría todo entonces al hacer pop, ¿quedaría de esta forma nuevamente y regresaría a la funcion anterior?

Código: ASM
  1. |push dword[ebp + 0x0C] - esp 0x08
  2. |---------
  3. |
  4. |push ebx - esp 0x04
  5.  

19
Hola

Estaba haciendo un shell en linux en nasm, saque los opcode y los agregue a la clásica shellcode en C para ejecutarlo, y no tuve problemas, pero me surgieron unas dudas que espero me puedan ayudar a entender.

La primera, es saber si, ¿cada vez que haga una shell y quiera sacar los opcode es necesario usar push y guardar en el stack todo?, ya que hice dos formas de ejecutar execv; una que es la que ronda por internet y otra hecha por mi. La que ronda por internet usan bastante push ya sea para /bin/sh como para los argumentos de execv, yo intenté usar una variable en section .data, lo que me di cuenta que necesito reemplazar las dirección que me da de section .data por /bin/sh en hexadecimal

entonces acabo haciendo lo mismo que usar directamente push /bin/sh

Pero recordé un código de una shell TCP y me di cuenta que también pushean todo, algo así

push 0x1
pop ebx
push 0x2
pop ecx

en vez de meterlo directamente

mov ebx, 0x1
mov ecx, 0x2

¿entonces es necesario meter en el stack todo en casos de shellcodes o será simplemente una coincidencia o una forma diferente de programar?

¿Y que pasa con los opcode "Cero" que si son necesarios?

por ejemplo, IP - 192.167.0.56

en hex quedaria C0A70038, pero si se dan cuenta hay cero "00", según en la shellcode no puede haber nulls y se deben quitar los ceros, y aunque en la ip no usa NULL sino es mas un cero de integer, objdump me lo quita al ser 0x00, entonces queda incompleto, en este caso se lo agregue manualmente y me funcionó, ¿pero que pasaría si hay más instrucciones con 00?, ¿tendría que buscarlos y agregarlos directamente en caso de que objdump me los elimine?, y ¿eso no perjudicaría la shellcode al tener que agregarle algún 0x00? porque tener que buscar en la shellcode byte por byte a ver si no me falto algo, creo no es muy optimo pero no se si sea normal.

Lo cual me llevó a otra duda; cuando busque el código de la shell, quise verificar su funcionamiento y saque los opcode, pero me di cuenta que objdump no me dio correctamente todo, el puerto solo me dio 1 byte de los 2

0x7968

y en la shellcode me dejo solamente

0x79

y de igual manera la shell de /bin/sh no me dio todo, le hizo falta 1

/x68/x73/x2f/x6e/x69/x62/x2f/x2f -- así debería quedar, pero me dio lo siguiente

/x68/x73/x2f/x69/x62/x2f/x2f

¿será algún detalle de que sea en 64 bits o algo parecido?, porque usé el comando de la página commandlinefu.com

cuando uso objdump -d me muestra bien todo, pero con el comando de commandlinefu me falló como les mencioné

bueno, espero haberme explicado lo mejor posible mis dudas.

Saludos

20
Hola.

¿Alguien sabe si algo cambio en windows 10 sobre la tabla MFT?

Hace un tiempo hice una aplicación para llegar a MFT y revisar los archivos borrados, no lo terminé por falta de tiempo, pero ahora que lo encontré quise continuarlo; ahora solo debo acomodar la información, sobre los nombres, el tamaño de los archivos, descubrir como decodificar la información como fecha, hora, etc. (Cosa que en ese tiempo no logré entender y creo me quedaré así).

Ahora que lo volví a ejecutar, me da archivos tmp, sql, bfl, etc, etc... pero nada más, los archivos eliminados simplemente no me muestra ninguno, antes con win 7 de casualidad encontraba cosas como docx o txt, creo algun jpg pero ahora nada.

Regrese a una página donde venia la explicación de MFT y un programa hecho en VB, y cuando ejecuté el programa, me dió los mismos nombres que mi aplicación, el cuál lo hice en C, pero ninguno me muestra algun archivo reconocido de extensión.

¿Alguien sabe si hay restricciones nuevas, MFT fue modificado o que saben sobre eso?.

Saludos

Páginas: [1] 2 3