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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Temas
Páginas: 1 2 3 [4]
31  Seguridad Informática / Análisis y Diseño de Malware / [MSF] Modificar un shellcode en: 11 Enero 2023, 16:55 pm
Hola,

Hice un tema recientemente preguntando sobre la suite de Metasploit y un compañero del foro me recomendo modificar el payload y me comentaba que se encuentran ejemplos en Internet de shellcodes modificadas que funcionan.

Bueno, no encontre ninguno que modificara una shellcode binaria... Solo encontre scripts de PowerShell o Python, pero nadie modifico la shellcode binaria que da msfvenom en cadena literal ("\x...").

La abri en el depurador y quiero modificarla pero no se como.

Ya intente desesamblarla con NDISASM para volver a ensamblarla despues de modificarla pero obviamente NDISASM no resulta en codigo "Ensamblable" de nuevo.

No se si Metasploit mismo ofrezca alguna forma de modificar el ensamblador.

¿Alguna idea?

Gracias de antepasado xd
32  Seguridad Informática / Análisis y Diseño de Malware / Utilidad real de Metasploit, msfvenom, etc. en: 9 Enero 2023, 18:11 pm
Hola,

Vengo un poco desconcertado. No se si este tema corresponda realmente a Foro Libre pero ante las dudas lo abro aqui.

Tengo una pregunta, ¿Cual es la utilidad real de Metasploit?

Antes de que comiencen con las respuestas obvias, dejenme explicarme...

Siempre he creado mi propio malware. Si, me tardo mas, mi malware es menos estable que el "mainstream", con un millon trescientas mil funciones menos, PERO

1) Lo hice yo, para mi
2) Nunca he sido detectado por ningun antivirus, que yo sepa. Porque

2.1) Lo cifro todo
2.2) Al ser codigo nuevo la heuristica casi nunca funciona, y cuando funciona, suele bastar mas criptografia xd

En fin... dadas las razones por las cuales prefiero programar yo mismo mi malware, les cuento...

El ultimo mes estuve utilizando Metasploit, porque nunca lo habia utilizado y me dio curiosidad. Ademas lo vi en Mr Robot (XD)

En fin... Que (obviamente) me lo detecto el pobre Windows Defender.

Perfecto... Me puse a encriptarlo todo otra vez y ya no era detectable en disco. SIN EMBARGO, al correrlo, Defender lo dectecto de nuevo, esta vez cuando lo corri (Detected: Behavior: ...)

La pregunta es:

Si el codigo de Metasploit es tan detectable, ¿Para que sirve? xdd ¿Para jugar?

Saludos : D
33  Programación / Programación C/C++ / ¿es posible leer la direccion virtual de una sección? en: 7 Enero 2023, 15:32 pm
Basicamente eso...

Lo unico que se me ocurre es:

Código
  1. void *start __attribute__((section( /* nombre de la sección */ ))) = (void *) 0;
  2.  

El problema es que start solo apunta a la direccion de la sección cuando el linker lo enlaza al principio y eso creo que solo sucede cuando creas una nueva funcion (o sea, no podrias hacerlo con .idata o .text).

¿Alguien sabe como hacer esto?

PD: Preferiblemente sin utilizar APIs. El lenguaje C deberia darte alguna forma de hacerlo.
34  Programación / Ingeniería Inversa / Como calcular el baud rate de un UART en: 3 Enero 2023, 15:37 pm
Hola,

Contexto de la pregunta:

Tengo un router repetidor. Especificamente el ZTE ZXHN H196Q. Se supone que se necesitan dos de estos para que funcionen como repetidor WiFi. La cuestion es que el tecnico que lo instalo en mi casa no puso ningun otro y lo hizo funcionar. No se como lo hizo pero yo lo desconfigure intentando descubrirlo y ahora tengo que volver a configurarlo. No veo ninguna opcion en la pagina del router que me deje conectarlo a una red WiFi para repetirla. Lo mas parecido que encontre fue una pestaña llamada "Mirror configuration". No se que es pero intente con ello y no funciona.

Me harte. Asi que abri el router y conecte el puerto serial de mi computadora al UART del router, el problema es que ningun baud rate standard parece ser el del router, aunque parece estar en el rango de los 115200 bauds. Se que esto se puede calcular manualmente con un analizador logico, el problema es que no tengo idea de como hacerlo y lo unico que encuentro en Internet son formulas para calcular los bauds.

¿Alguien que me pueda ayudar? Muchas gracias de antemano... esto comienza a desesperarme xd

PD: No encuentro el datasheet del router
35  Sistemas Operativos / GNU/Linux / Entrada __NR_getdents de la sys_call_table del kernel en: 2 Enero 2023, 15:50 pm
Hola,

Contexto: Preguntaba por la funcion kallsyms_lookup_name en tema anterior ya que la estaba usando para atravesar la sys_call_table luego de investigar sobre la programacion de modulos en linux. Ahora me encuentro con un problema cuando me puse a jugar con la tabla:

El valor de la syscall __NR_getdents es 141. Sin embargo, para mi sistema (x86_64) se supone que el valor es 78 y no 141.

¿Alguien tiene idea de que pasa auqui?


(perdon por el tamaño del meme, busque como ajustar el tamaño y no tengo idea)
36  Foros Generales / Sugerencias y dudas sobre el Foro / Borrar temas en: 2 Enero 2023, 15:15 pm
Hola,

¿Hay alguna forma de borrar los temas?

En todo caso supongo que solo se pueden modificar y eliminar su contenido, el problema es que queda feo. ¿No hay una forma mas "Limpia" de hacerlo?

Gracias : )
37  Programación / Scripting / [bash] [Redireccion de descriptores de archivo] ¿Por que una linea funciona y la otra no? en: 1 Enero 2023, 18:16 pm
Feliz año nuevo,

Tengo una duda...

Si abro dos terminales, y en una ejecuto:

(cliente)
Código
  1. nc localhost 80 1>&0

y en la otra:

(servidor)
Código
  1. nc -lvp 80

y del lado del servidor escribo:

Código
  1. hola
  2.  

Del lado del cliente, nc no redirige stdout a stdin, y por lo tanto no veo de vuelta "hola" en la terminal del lado del servidor.

Sin embargo, si utilizo archivos para redirigir el i/o:

(cliente)
Código
  1. touch temp && tail -f temp | nc localhost 80 > temp && rm temp

(servidor)
Código
  1. nc -lvp 80

entonces, si envias "hola" desde el servidor, te lo devuelve como un espejo:

Código
  1. hola
  2. hola
  3.  

¿Por que el primer metodo no funciona y el segundo si?

Gracias...
38  Sistemas Operativos / GNU/Linux / kallsyms en kallsyms_lookup_name() en: 31 Diciembre 2022, 17:24 pm
Hola : )

La pregunta es simple. En la funcion kallsyms_lookup_name, ¿Que significa kallsyms?

Gracias.

Feliz casi año nuevo : D

PD: supongo que k de kernel, all de allocate, syms de symbols. Pero es que quiero estar seguro xd

PD2: Hay parches para que esta funcion no pueda ser exportada (mas bien para "desexportarla")... Entonces esta funcion no puede ser una syscall, ¿O si? ¿Pueden las syscalls ser "desexportadas" (Supongo que removiendolas de la IDT)?
39  Programación / Programación C/C++ / Linked lists. Una pequeña duda en: 28 Diciembre 2022, 13:56 pm
Hasta que me puse a experimentar con otras alternativas para codificar las listas, no me habia fijado en esto.

Si se implementa una funcion de insercion asi:

Código
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4.  
  5. struct list
  6. {
  7. char data[512];
  8.  
  9. struct list *next;
  10. };
  11.  
  12. struct list *list_add(struct list **l, struct list element);
  13. //struct list *list_roam(struct list *l);
  14.  
  15. struct list *list_add(struct list **l, struct list element)
  16. {
  17. struct list **aux, *head;
  18. unsigned int count=0;
  19.  
  20. if(*l==NULL)
  21. {
  22. *l=(struct list *)malloc(sizeof(struct list));
  23. if(*l==NULL)
  24. {
  25. return *l;
  26. }
  27.  
  28. memcpy((struct list *) *l,
  29. (struct list *) &element,
  30. sizeof(struct list));
  31.  
  32. (*l)->next=NULL;
  33.  
  34. printf("1st element (addr %x) \n", *l);
  35.  
  36. return *l;
  37. }
  38.  
  39. aux=l;
  40. head=*l;
  41.  
  42. printf("head=%x \n", head);
  43.  
  44. printf("1: (*aux)=%x \n", (*aux));
  45. printf("1: (*aux)->data=%s \n", (*aux)->data);
  46.  
  47. while((*aux)!=NULL)
  48. {
  49. (*aux)=(*aux)->next;
  50. ++count;
  51. }
  52.  
  53. printf("2: (*aux)=%x \n", (*aux));
  54. printf("2: (*aux)->data=%s \n", (*aux)->data);
  55.  
  56. (*aux)=(struct list *)malloc(sizeof(struct list));
  57. if((*aux)==NULL)
  58. {
  59. *l=head;
  60. return *aux;
  61. }
  62.  
  63. memcpy((struct list *) (*aux),
  64. (struct list *) &element,
  65. sizeof(struct list));
  66.  
  67. (*aux)->next=NULL;
  68.  
  69. printf("3: (*aux)->data=%s \n", (*aux)->data);
  70.  
  71. printf("count=%d \n", count);
  72.  
  73. printf("head=%x \n", head);
  74.  
  75. *l=head;
  76. return *aux;
  77. }
  78.  
  79. int main(int argc, char **argv)
  80. {
  81. struct list *l=NULL;
  82. struct list data;
  83.  
  84. printf("linked list \n");
  85.  
  86. strcpy(data.data, "1");
  87. list_add(&l, data);
  88. strcpy(data.data, "2");
  89. list_add(&l, data);
  90. strcpy(data.data, "3");
  91. list_add(&l, data);
  92. strcpy(data.data, "4");
  93. list_add(&l, data);
  94. strcpy(data.data, "5");
  95. list_add(&l, data);
  96.  
  97.        return 0;
  98. }
  99.  

(notese que los prinft son para debugging)

Se como hacer una funcion de insercion funcional. Lo que no entiendo es por que esta forma de implementarla no funciona.

La funcion, segun lo que deduje, se comporta como si (*aux) no apuntara al siguiente nodo cuando la atraviesas, sino a algun otro lugar. No entiendo por que... ¿A donde va a apuntar? Si aux es un puntero, no la estructura. Ademas le especifique (aux=l) como se puede ver arriba.

Agradezco cualquier indicio. Un saludote.
40  Sistemas Operativos / GNU/Linux / Redireccion de descriptores de archivo supuestamente ambigua (bash) en: 25 Diciembre 2022, 17:05 pm
Buenas Navidades,

Es mi primer post en el foro. Sin enrollarme mucho me alegro (de volver) aqui y continuo con la pregunta:

Si ejecuto bash interactivo de la siguiente forma:

Código
  1. bash -i 1>& /dev/tcp/127.0.0.1/8080 0>&1 2>&1
  2.  

Puedo redirigir con exito stdout al socket, stdin a stdout (al socket) y stderr a stdout (").

El problema es que si hago lo siguente:

Código
  1. bash -i 0>& /dev/tcp/127.0.0.1/8080 1>&0 2>&0
  2.  

Obtengo el error:

Código
  1. bash: /dev/tcp/127.0.0.1/8080: ambiguous redirect
  2.  

Para entender por que no entiendo yo por que no funciona, yo me imagino la primera linea de comandos asi:

stdout -> socket
stdin <- socket

Lo unico que me imagino que cambia con la segunda, es que se convierte en:

stdin <- socket
stdout -> socket

¿Por que no funciona como deberia?

Gracias de antemano y feliz Navidad de nuevo. Jingle bells jingle bells jingle all the way :D
Páginas: 1 2 3 [4]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines