Autor
|
Tema: Incinera tu sitio WEB! (Leído 18,247 veces)
|
WHK
|
Hola a todos!, se me ha ocurrido una buena idea para que todos podamos aprender de seguridad de manera didáctica, real y sin meternos en problemas. La idea es la siguiente: ¿Eres dueño de un sitio WEB?Haz pasar por el fuego a tu sitio WEB! Danos la oportunidad de revisar la seguridad de tu sitio entregandonos de manera voluntaria la URL, claramente debes ser el dueño y para asegurarnos de ello debes crear un registro TXT en tu dominio con la palabra "elhacker.net", si lo haces, entonces entre los mismos usuarios del foro le daremos un vistazo a tu sitio web y eso nos permitrá intercambiar ideas y técnicas para aprender mutuamente, y de pasada podrás corregir tus vulnerabilidades antes de que alguien más las encuentre y las aproveche para un ataque real no controlado. ¿Quieres ser el Pentester?O para los que no conozcan el término: El atacante. Sólo se pide algo de sentido común, acá la idea no es botar un sitio o hacerle daño, la idea es demostrar una vulnerabilidad, publicarlo en este mismo hilo y demostrar como lo hizo. Asi que: - No se permiten ataques DOS ni DDOS ni nada que indisponga al sitio WEB. - No se permite robar información de la base de datos. - No se deben modificar archivos o datos de la db. - La vulnerabilidad debe ser comprobable más que teórica. - Publicar vulnerabilidades reales, nada de que le faltan cabeceras x frame options y basuras similares. - Solo se debe revisar mientras exista el registro TXT en su dominio. Cómo revisar si el dominio contiene el registro TXT correcto?: Desde el bash se debe ejecutar: Si usas windows puedes usar la PowerShell: PS> Get-Dns -Name dominio.com -Type TXT ¿Reglas?Se vale todo, menos afectar la integridad o privacidad del mismo sitio. Esto quiere decir que no solo debemos restringirnos a una revisión web, tambien se vale revisar subdominios, puertos, etc, todo aquello que sirva para poder llegar al sitio WEB en cuestión (si, incluyendo la del proveedor de hosting). ¿Entregables?Vamos, esto es un foro, el que quiera puede publicar sus hallazgos en un simple post o puede hacer un pdf a modo de informe, todo dependerá de quien lo haga, acá no hay un "esperable" o un "entregable", eso depende de cada uno. De todas maneras, si se recomienda poder dar posibles soluciones por cada vulnerabilidad que encuentre (dentro de lo posible).
Vamos, esto es bien fácil, si tienes un sitio WEB permítenos que le demos un vistazo, eso es todo y los que lo revisemos podremos aplicar técnicas reales sobre sistemas reales. Muchas veces nos encontramos con CTF que no reflejan la realidad o solo debes estar adivinando cosas, la idea es poder ganar experiencia real en sistemas reales con vulnerabilidades reales. Alguien se apunta?, solo basta con entregar su URL y agregar el registro TXT, si el dominio no tiene el registro TXT entonces abtenerse de revisarlo porque puede que realmente no sea el dueño del sitio WEB.
|
|
« Última modificación: 28 Julio 2020, 05:07 am por WHK »
|
En línea
|
|
|
|
Drakaris
Desconectado
Mensajes: 286
Todo lo que puedas imaginar, lo puedes crear.
|
Me gusta la idea! He desarrollado mi web hace un tiempo y tengo curiosidad de que vulnerabilidades tengo. Este sitio web esta hospeado en 260MB la url es https://cleanet.260mb.netTXT: https://cleanet.260mb.net/hackme.txt
|
|
« Última modificación: 28 Julio 2020, 10:51 am por Drakaris »
|
En línea
|
Lo increible, no es lo que ves, sino como es
|
|
|
kub0x
Enlightenment Seeker
Colaborador
Desconectado
Mensajes: 1.486
S3C M4NI4C
|
Un .txt no es válido, sino que el DNS debe contener la palabra elhacker.net en el registro TXT. Al estar hosteado en 260MB supongo que no podrás cambiar esa información. Saludos.
|
|
|
En línea
|
|
|
|
Drakaris
Desconectado
Mensajes: 286
Todo lo que puedas imaginar, lo puedes crear.
|
Un .txt no es válido, sino que el DNS debe contener la palabra elhacker.net en el registro TXT. Al estar hosteado en 260MB supongo que no podrás cambiar esa información.
Saludos.
Ahh! Entiendo... En este caso no puedo porque tendría que tocar el servidor DNS... Y poner la siguiente regla por ejemplo: cleanet IN TXT elhacker Tendría que hacer algo así?
|
|
|
En línea
|
Lo increible, no es lo que ves, sino como es
|
|
|
WHK
|
Bien, claramente no podrá crear un registro TXT en su subdominio porque es un hosting por subdominios, asi que no podrá crear el registro. Creo que de todas maneras en estos casos si valdrá un archivo .txt. El sitio WEB es casi en su totalidad estático y casi no tiene secciones, asi que es muy poco lo que se puede revisar, a demás, es un hosting compartido asi que tampoco se puede hacer mucho a su infraestructura, pero, si tiene un formulario de contacto. Pude ver dos acciones distintas en el sitio WEB, uno encargado de hacer el envío del mensaje de contacto y otro para cambiar el lenguaje, extrañamente cuando quieres cambiar el lenguaje a un lenguaje inexistente la pagina web se muestra en blanco en ves de arrojar un error o simplemente mostrar un lenguaje por defecto, supongo que efectivamente hay un error pero errors_display está deshabilitado desde php. El formulario de contacto tiene un problema, actualmente para enviar un correo debes resolver un valor en AES y luego enviarlo a traves de una cookie, muy ingenioso ya que te exije tener habilitado javascript, pero esto no evita bots. La validación del lado de PHP es estática, asi que en la práctica da igual si utilizas el valor de AES del momento o uno que ya haya sido utilizado, el servicio te arroja un estado de "enviado" cada ves que reenvías la misma solicitud utilizando el mismo hash en AES: Probando sin la cookie: ncat --ssl --crlf -v cleanet.260mb.net 443
POST /email.php HTTP/1.1 Host: cleanet.260mb.net User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 Accept: */* Content-Type: application/x-www-form-urlencoded; charset=UTF-8 X-Requested-With: XMLHttpRequest Content-Length: 36 Origin: https://cleanet.260mb.net Connection: Close Referer: https://cleanet.260mb.net/
asunto=test&mensaje=test&anonimo=on Respuesta del servidor: <html><body><script type="text/javascript" src="/aes.js" > </script><script>function toNumbers(d){var e=[]; d.replace(/(..)/g,function(d){e.push(parseInt(d,16))}); return e}function toHex(){for(var d=[],d=1==arguments.length&& arguments[0].constructor==Array?arguments[0]:arguments,e="", f=0;f<d.length;f++)e+=(16>d[f]?"0":"")+d[f].toString(16); return e.toLowerCase()}var a=toNumbers("f655ba9d09a112d4968c63579db590b4"), b=toNumbers("98344c2eee86c3994890592585b49f80"), c=toNumbers("03b479870acf0ba0ff959ab28fb1dfe9");document.cookie="__test="+toHex(slowAES.decrypt(c,2,a,b))+"; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/"; location.href="https://cleanet.260mb.net/email.php?i=1";</script> <noscript>This site requires javascript to work, please enable javascript in your browser or use a browser with javascript support</noscript> </body></html> Probando con una cookie estática múltiples veces: ncat --ssl --crlf -v cleanet.260mb.net 443
POST /email.php HTTP/1.1 Host: cleanet.260mb.net User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 Accept: */* Content-Type: application/x-www-form-urlencoded; charset=UTF-8 X-Requested-With: XMLHttpRequest Content-Length: 36 Origin: https://cleanet.260mb.net Connection: Close Referer: https://cleanet.260mb.net/ Cookie: __test=17544cb0f7e91786eec69621b893d683;
asunto=test&mensaje=test&anonimo=on
HTTP/1.1 200 OK Server: nginx Date: Tue, 28 Jul 2020 19:00:38 GMT Content-Type: text/html; charset=UTF-8 Transfer-Encoding: chunked Connection: close Vary: Accept-Encoding Cache-Control: max-age=0 Expires: Tue, 28 Jul 2020 19:00:36 GMT
4 sent 0
Ok, este hash de la cookie la he reutilizado varias veces y el servidor me sigue diciendo que el mensaje ha sido enviado, asi que esto puede provocar un abuso del servicio. No se sabe exactamente si PHP del lado del servidor hace el envío de un correo o almacena los mensajes en un txt, pero si se envían correos a traves de la función mail() entonces hay un problema serio y es que el envío masivo de correos puede provocar que caigas en listas negras o den de baja tu hosting y termines con tu sitio web abajo. También intenté verificar si el formulario de correos tiene inyección de cabeceras: asunto=test%0a%0cReply-To:%20test@demo.com&mensaje=test%0a%0a.%0a&anonimo=on Ya que mail() de php adjunta las cabeceras de manera plana separadas por saltos de línea \r\n, pero no se si realmente funcionó porque no puedo hacer que me llegue una copia del correo, asi que podrías validar tu mismo, si realiza el filtrado de saltos de línea o no. También pude ver un directory listing: https://cleanet.260mb.net/lang/ , esto no causa ningún problema, pero si puede dar problemas serios si tienes algún directorio oculto que no esté protegido, por ejemplo, alguna carpeta donde almacenes los mensajes del formulario de contacto o algún plugin de php de terceros que pueda ser llamado de manera directa, como por ejemplo: https://cleanet.260mb.net/plugins/PHPMailer-master/src/Saludos.
|
|
« Última modificación: 28 Julio 2020, 21:25 pm por WHK »
|
En línea
|
|
|
|
@XSStringManolo
Hacker/Programador
Colaborador
Desconectado
Mensajes: 2.399
Turn off the red ligth
|
https://phishingoda.ga/hackme.txtLe añadí un easter egg por si no tiene vulnerabilidades reales.
|
|
|
En línea
|
Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖
|
|
|
BloodSharp
Desconectado
Mensajes: 814
¡ Hiperfoco !
|
Le añadí un easter egg por si no tiene vulnerabilidades reales. HTTP/1.1 200 OK Date: Sun, 12 Jul 2020 22:01:11 GMT Server: Apache/2.4.38 (Debian) h4x0r: what are you looking for? Content-Length: 0 Content-Type: text/html; charset=UTF-8 Por otro lado el servidor donde está hosteado tiene 6 CVE potenciales del 2019... B#
|
|
« Última modificación: 29 Julio 2020, 03:37 am por BloodSharp »
|
En línea
|
|
|
|
Drakaris
Desconectado
Mensajes: 286
Todo lo que puedas imaginar, lo puedes crear.
|
El formulario de contacto tiene un problema, actualmente para enviar un correo debes resolver un valor en AES.
Buenas no entiendo, que es un valor en AES, yo programé el envio de correo gracias a PHPMailer Ok, este hash de la cookie la he reutilizado varias veces y el servidor me sigue diciendo que el mensaje ha sido enviado, asi que esto puede provocar un abuso del servicio.
Con esto te refieres a que, un cliente puede escribir un mensaje enviarlo, y enviar este mensaje, sin cambiarlo, tantas veces como quiera? O a que te refieres? Y con el mismo hash AES? Ok, esto ya lo solucioné, inserté en un archivo .htaccess la siguiente linea: Así ya cuando accedes a la url https://cleanet.260mb.net/lang/ te arrojará un errro 403
|
|
|
En línea
|
Lo increible, no es lo que ves, sino como es
|
|
|
@XSStringManolo
Hacker/Programador
Colaborador
Desconectado
Mensajes: 2.399
Turn off the red ligth
|
Por otro lado el servidor donde está hosteado tiene 6 CVE potenciales del 2019... B# Cuales? Supongo que lo has mirado con un scanner auto que te avisa de vulnerabilidades de software opcional.
|
|
|
En línea
|
Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖
|
|
|
Shell Root
|
Buenas no entiendo, que es un valor en AES, yo programé el envio de correo gracias a PHPMailer Tipo de encryptación. Con esto te refieres a que, un cliente puede escribir un mensaje enviarlo, y enviar este mensaje, sin cambiarlo, tantas veces como quiera? O a que te refieres? Y con el mismo hash AES? Se supone que cada petición debe de validar un hash diferente, algo como Tokens CSRF, en cada petición cambia el token y debe de validarse así se evita automatización de peticiones. Corrigeme si estoy mal WHK!
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Sitio Web
Desarrollo Web
|
Widesito
|
5
|
2,586
|
18 Agosto 2013, 13:02 pm
por z3nth10n
|
|
|
Recomendacion de sitio para auditoria de sitio y prevencion
Seguridad
|
Cronck
|
0
|
2,485
|
6 Febrero 2014, 17:29 pm
por Cronck
|
|
|
Sitio web con acceso a /cgi-sys/Count.cgi ¿Puede comprometer mi sitio?
Nivel Web
|
Rienzi
|
2
|
4,919
|
1 Agosto 2017, 23:33 pm
por Luis Leon B
|
|
|
[Resulto] Sitio cambia de apariencia entrando desde un .php de otro sitio web
Desarrollo Web
|
Snoosarp
|
1
|
2,801
|
12 Septiembre 2019, 18:29 pm
por MinusFour
|
|
|
sitio web
Redes
|
ismaelson
|
6
|
2,677
|
30 Diciembre 2019, 20:42 pm
por @XSStringManolo
|
|