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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [17] 18 19 20 21 22 23 24 25 26
161  Seguridad Informática / Análisis y Diseño de Malware / Re: Evitar los antivirus y/o desactivarlos en: 7 Agosto 2020, 12:38 pm
A que en C si te lo detecta... :silbar:
Prueba compilandolo. Aunque eso tal vez lo haga mas detectable... es cuestion de firmas (y herustica).

https://www.tutorialspoint.com/What-are-pyc-files-in-Python

PD: puedes encontrar formas en Internet de construir EXEs a partir de scripts de Python. Lo que mejor se me ocurre a priori es hacerlo y en seguida cifrarlos. Puedes encontrar crypters en todas partes, aunque estarias saliendo de Guatemala y entrando a Guatepeor. Te recomiendo leer la documentacion de Windows para tratar con modulos ejecutables y hacerlo tu mismo.

Saludos.


(Ademas, el ambito de infeccion de un backdoor -pues es mas un backdoor que un troyano- escrito en Python se reduce a ciertos servidores y la mayoria de usuarios con Linux, y aparentemente tu objetivo es el usuario tipico. Esto a menos que incluyas una utilidad para instalar Python de antemano, lo cual, sinceramente, a mi me parece ineficiente).
162  Seguridad Informática / Análisis y Diseño de Malware / Obtencion de Ring 0 por parte del virus CIH en Windows 9x. en: 7 Agosto 2020, 12:25 pm
Hola,
Hace poco descargue el codigo fuente del virus CIH para entenderlo, pues me parece interesante. Sin embargo me encontre con una parte de el que no entiendo muy bien, como era de esperarse...

Código
  1. ; *************************************
  2. ; * Let's Modify *
  3. ; * IDT(Interrupt Descriptor Table) *
  4. ; * to Get Ring0 Privilege... *
  5. ; *************************************
  6.  
  7. push eax ;
  8. sidt [esp-02h] ; Get IDT Base Address
  9. pop ebx ;
  10.  
  11. add ebx, HookExceptionNumber*08h+04h ; ZF = 0
  12.  
  13. cli
  14.  
  15. mov ebp, [ebx] ; Get Exception Base
  16. mov bp, [ebx-04h] ; Entry Point
  17.  
  18. lea esi, MyExceptionHook-@1[ecx]
  19.  
  20. push esi
  21.  
  22. mov [ebx-04h], si ;
  23. shr esi, 16 ; Modify Exception
  24. mov [ebx+02h], si ; Entry Point Address
  25.  
  26. pop esi

El comentario es bastante descriptivo. Sin duda suficiente para entender el objetivo, sin embargo el medio en si que utiliza en toda profundidad no lo entiendo plenamente:

Código
  1. push eax ;
  2. sidt [esp-02h] ; Get IDT Base Address
  3. pop ebx ;
Aparentemente esta metiendo a EAX en la pila para luego, en sidt [esp-02h], introducir la base de la IDT en EBX pero, ¿por que resta 2? ¿no deberia mas bien sumar 4? recordemos que los valores en la medida que son antiguos en la pila, se encuentran en posiciones de memoria mas altas y, en este caso, hablando de un registro de 4 bytes, precisamente 4 posiciones mas alto.

Código
  1. mov ebp, [ebx] ; Get Exception Base
  2. mov bp, [ebx-04h] ; Entry Point
Esto no es nada evidente para mi. ¿Mueve, aparentemente, el Entry Point del IDT HookExceptionNumber a ebp, y luego lo que sea que se encuentre 4 bytes antes del mismo en los 16 bits menos significativos de EBP? ¿que sentido tiene?

Código
  1. lea esi, MyExceptionHook-@1[ecx]
Ahora, mas evidentemente mueve el desplazamiento del hook a ESI. Sin embargo, ¿que es -@1[ecx]? ¿alguna forma de relocalizacion? No lo entiendo en absoluto. Aun no he aprendido esa sintaxis... ¿alguien tiene idea de al menos como se llama?

Código
  1. mov [ebx-04h], si ;
  2. shr esi, 16 ; Modify Exception
  3. mov [ebx+02h], si ; Entry Point Address
Mueve a esa misteriosa direccion (EBX-04) el desplazamiento antes mencionado... ¿alguien tiene idea de que hay en los anteriores 4 bytes a un IDT? (evidentemente otro IDT, pero la pregunta es ironica, quiero decir, ¿alguien sabe por que?)

Eso es todo... estoy un poco enredado.
Saludos.
163  Seguridad Informática / Análisis y Diseño de Malware / Re: Spectre Rootkit - Source en: 7 Agosto 2020, 12:06 pm
Gracias por compartirlo.
164  Sistemas Operativos / Windows / Re: Esquema (casi) completo del formato PE de Windows. en: 3 Agosto 2020, 17:38 pm
No oigo nada.
gira a 2 m/s y yo necesito más velocidad

Pense que llegabas, al menos, a los 343...  :silbar:




https://www.google.com/search?client=marax;)&q=velocidad+del+sonido
165  Sistemas Operativos / Windows / Re: Alternativa a las Virtual Keys de Windows. en: 2 Agosto 2020, 14:35 pm
Una app novedosa ...
No es una rueda. Es mi rueda.  :rolleyes:
166  Informática / Hardware / Re: [urgente (creo)] Ayuda con resistencia electrica. en: 29 Julio 2020, 20:51 pm
¿Cable?, el cable no hace nada más que llevar corriente, lo que proporciona voltaje e intensidad es la fuente/cargador......error de concepto.
Pues... sinceramente tienes razon, me equivoque de termino. Sin embargo evidentemente me referia al potencial de la fuente.

Los portatiles normalmente se alimentan a 19.5v, pero aunque te pases un poquito no suele pasar nada, solo un poco de calentamiento, quizás.
Esta bien... supongo que no pasa nada entonces. Gracias.

Wow, solo 2.37 :xD, con razón tu LapTop no tiene teclado numérico, acabo de revisar y mi UltraBook más vieja de 16 pulgadas tiene un cargador de 20V 3.25A
Es que es de muy alto rendimiento. :xD


siempre revisa que no se sobrecaliente dicho cargador.
Mi antiguo cargador se sobrecargaba un monton. Honestamente soy bastante grosero con mis electronicos; a mi laptop la dejo a veces encendida sin siquiera utilizarla. Es un mal habito. Era de esperarse que se dañara algo...

Por cierto, para tu teclado no sé si lo has solucionado, pero con AutoHotKey lo solucionas, al menos yo lo uso para cosas similares...
¿te refieres al lenguaje?
167  Sistemas Operativos / Windows / Re: Alternativa a las Virtual Keys de Windows. en: 29 Julio 2020, 17:49 pm
¿Y no seria más simple tener un teclado normal externo por USB?......
Seria mas aburrido.

Mencionando el teclado numerico me hicieron darme cuenta de que en vez de todo el rollo de convertir Virtual Keys a UNICODE y enviarlas al teclado, etc. podia mas tranquilamente simular las teclas del teclado numerico. Gracias. Ahora funciona perfectamente; dejo el codigo de la funcion por si a alguien le interesa:

Código
  1. inline void send_in (char *in_buffer)
  2. {  
  3.    int i;
  4.    INPUT in;
  5.  
  6.    /*printf ("\r\n[dbg] sending ascii key code: %s (%c)",
  7. in_buffer,
  8. atoi (in_buffer));*/
  9.  
  10.    in.type = INPUT_KEYBOARD;
  11.    in.ki.wScan = 0;
  12.    in.ki.time = 0;
  13.    in.ki.dwExtraInfo = 0;
  14.  
  15.    in.ki.wVk = 0x12;
  16.    in.ki.dwFlags = 0;
  17.    SendInput(1, &in, sizeof(INPUT));
  18.  
  19. for (i=0;i<strlen (in_buffer);i++)
  20. {
  21. switch (in_buffer[i])
  22. {
  23. case '0':
  24. send_numpad (&in, VK_NUMPAD0);
  25.     break;
  26.     case '1':
  27. send_numpad (&in, VK_NUMPAD1);
  28.     break;
  29.     case '2':
  30. send_numpad (&in, VK_NUMPAD2);
  31.     break;
  32.     case '3':
  33. send_numpad (&in, VK_NUMPAD3);
  34.     break;
  35.     case '4':
  36. send_numpad (&in, VK_NUMPAD4);
  37.     break;
  38.     case '5':
  39. send_numpad (&in, VK_NUMPAD5);
  40.     break;
  41.     case '6':
  42. send_numpad (&in, VK_NUMPAD6);
  43.     break;
  44.     case '7':
  45. send_numpad (&in, VK_NUMPAD7);
  46.     break;
  47.     case '8':
  48. send_numpad (&in, VK_NUMPAD8);
  49.     break;
  50.     case '9':
  51. send_numpad (&in, VK_NUMPAD9);
  52.     break;
  53.     default: break;
  54. }
  55. }
  56.  
  57.  
  58.    in.ki.wVk = 0x12;
  59.    in.ki.dwFlags = KEYEVENTF_KEYUP;
  60.    SendInput(1, &in, sizeof(INPUT));
  61.    return;
  62. }
  63.  

y send_numpad:
Código
  1. inline void send_numpad (INPUT *in, int vk)
  2. {
  3.    in->ki.wVk = vk;
  4.    in->ki.dwFlags = 0;
  5.    SendInput(1, in, sizeof(INPUT));
  6.    in->ki.dwFlags = KEYEVENTF_KEYUP;
  7.    SendInput(1, in, sizeof(INPUT));
  8.    return;
  9. }
168  Informática / Electrónica / Re: Morse en: 29 Julio 2020, 17:10 pm
¿El código morse en digital...?
Solo para corregir lo que dije anteriormente...
Es un codigo binario, por lo tanto digital, que se transmite de forma analogica.
169  Informática / Hardware / [urgente (creo)] Ayuda con resistencia electrica. en: 29 Julio 2020, 12:31 pm
Hola. Bueno, se acaba de dañar mi cargador... y se me ocurrio hacer uno pues aun necesito utilizar mi laptop mientras no compro otro. La cosa es que temo de quemar las resistencias de la computadora. El cable que estoy utilizando la esta alimentando con 20V a 2.25A. El cable original la alimentaba con 19V a 2.37A. Me preguntaba si alguien considera que deberia desconectarla paulatinamente, o que no deberia utilizar este cable en absoluto.

Gracias. (Espero que no se me queme mientras tanto)
Saludos.
170  Sistemas Operativos / Windows / Re: Alternativa a las Virtual Keys de Windows. en: 28 Julio 2020, 23:00 pm
Es para Linux supongo, porque en Windows funciona perfectamente Alt + 174 :xD, o no entiendo bien tu pregunto o que es lo que quieres lograr al final.
Sabia que alguien se iba a confundir...
Eso funciona con el teclado numerico, pero no con el teclado estandar. (Yo tengo laptop, y sin teclado numerico :P)

Intento programar esta utilidad precisamente para que funcione con el teclado estandar. A veces necesito abrir interrogacion o utilizar corchetes angulares dobles y mi teclado no tiene tales teclas; me fastidia entrar en Google a cada rato a buscar "abrir interrogacion" u otro. Ademas me parece muy util por incluir una condicion para abrir la terminal de comandos con ALT+"CMD" (lo cual es mas practico que WIN+R+"cmd"+ENTER).

El codigo:
Código
  1. #include <stdio.h>
  2. #include <windows.h>
  3.  
  4. #define is_pressed(x) (GetAsyncKeyState (x) & 0x8000)
  5.  
  6. inline void send_in (int c);
  7. inline void exec_cmd (char *cmd);
  8.  
  9. bool fl_cmdalternative=false;
  10.  
  11. int main(int argc, char **argv)
  12. {  
  13. int i, j, ascii;
  14.    char in_buffer [BUFSIZ];
  15.  
  16.    //printf ("\r\n[dbg] started up");
  17.  
  18.    while (true)
  19.    {
  20. if (is_pressed (0x12))
  21. {
  22. //printf ("\r\n[dbg] <ALT>");
  23. j=0;
  24. while (is_pressed (0x12))
  25. {
  26. for (i=0;i<256;i++)
  27. {
  28. if ((i!=0x12)&(i!=0xa4))
  29. if (is_pressed (i))
  30. {
  31. in_buffer[j]=i;
  32. j++;
  33. while (is_pressed (i));
  34. }
  35. }
  36. }
  37.  
  38.  
  39. in_buffer[j]='\0';
  40. //filtering
  41. if (in_buffer[0] != '\0')
  42. {
  43. if ((in_buffer[0]>0x29) & (in_buffer[0]<0x40))
  44. {
  45. //printf ("\r\n[dbg] numeric");
  46. ascii=atoi (in_buffer);
  47. if ((ascii>31)&(ascii<256)) send_in (atoi (in_buffer));
  48. }
  49. else if ((in_buffer[0]>0x40) & (in_buffer[0]<0x5b))
  50. {
  51.  
  52. //printf ("\r\n[dbg] literal");
  53. exec_cmd (in_buffer);
  54. }
  55. else{;}
  56. }
  57.  
  58. }
  59. else;
  60. /*for (i=0;i<256;i++)
  61. if (is_pressed (i))
  62. {
  63. if (i!=164)
  64. {
  65. send_in (i);
  66. while (is_pressed (i));
  67. }
  68. }*/
  69. }
  70.  
  71. return 0;
  72. }
  73.  
  74. inline void send_in (int c)
  75. {  
  76. //se supone que esta funcion envia el caracter a la entrada del teclado
  77. putchar (c); //lo envio a la salida estandar para verificar que funciona correctamente
  78. return;
  79. }
  80.  
  81. inline void exec_cmd (char *cmd)
  82. {
  83. char cmdexe[BUFSIZ];
  84.  
  85. printf ("\r\n[dbg] executing command: \'%s\'", cmd);
  86.  
  87. if (!strcmp (cmd, "CMD"))
  88. {
  89. system ("start cmd");
  90. }
  91. else if (!strcmp (cmd, "ENX"))
  92. {
  93. putchar ('\a');
  94. fl_cmdalternative=true;
  95. }
  96. else if (!strcmp (cmd, "DISX"))
  97. {
  98. fl_cmdalternative=false;
  99. }
  100. else if (fl_cmdalternative)
  101. {
  102. strcpy (cmdexe, "start ");
  103. strcat (cmdexe, cmd);
  104. system (cmdexe);
  105. }
  106. else;
  107.  
  108. return;
  109. }
(se que dije C pero me gusta unir C y C++ en la medida que se me haga comodo)
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [17] 18 19 20 21 22 23 24 25 26
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines