Título: Necesito ayuda para una backdoor Publicado por: mby en 1 Junio 2020, 19:48 pm Antes de nada muy buenas a todos:
Realmente necesito ayuda, llevo varios meses intentando crear una backdoor en c++ pero no consigo entender nada (soy joven y empecé hace poco). No se si me podeís ayudar poniendo un pequeño código con comentarios o enlaces a paginas útiles. Gracias a todos por la ayuda ;-) Título: Re: Necesito ayuda para una backdoor Publicado por: Usuario887 en 1 Junio 2020, 20:49 pm https://tools.ietf.org/html/rfc793 (https://tools.ietf.org/html/rfc793)
https://tools.ietf.org/html/rfc791 (https://tools.ietf.org/html/rfc791) http://es.tldp.org/Tutoriales/PROG-SOCKETS/prog-sockets.html (http://es.tldp.org/Tutoriales/PROG-SOCKETS/prog-sockets.html) Un backdoor no es algo tan especifico para encontrar un ejemplo concreto, existen diversos. Lo mas popular es utilizarlos con alguna forma de reverse shell (o al menos intentarlo). Puedes encontrar uno que utiliza la libreria estandar de C++ en Youtube: https://www.youtube.com/watch?v=Rrdp0AUWAbs (https://www.youtube.com/watch?v=Rrdp0AUWAbs) Realmente el titulo esta equivocado. Segun la estructura del codigo no lo consideraria un troyano. Sin embargo con ello puedes entender la filosofia de una shell inversa (reverse shell). Puedes utilizar incluso utilidades como Netcat para cumplir tu objetivo de backdoor, si haces un instalador para el registro de Windows podrias configurar un auto-arranque, por ejemplo. No hagas de las definiciones un objetivo sino un medio para expresar tus objetivos... el caso no es saber como se hace un backdoor. Saludos. Título: Re: Necesito ayuda para una backdoor Publicado por: mby en 2 Junio 2020, 13:10 pm https://tools.ietf.org/html/rfc793 (https://tools.ietf.org/html/rfc793) Muchas gracias por la respuesta creo que me sera útil ;Dhttps://tools.ietf.org/html/rfc791 (https://tools.ietf.org/html/rfc791) http://es.tldp.org/Tutoriales/PROG-SOCKETS/prog-sockets.html (http://es.tldp.org/Tutoriales/PROG-SOCKETS/prog-sockets.html) Un backdoor no es algo tan especifico para encontrar un ejemplo concreto, existen diversos. Lo mas popular es utilizarlos con alguna forma de reverse shell (o al menos intentarlo). Puedes encontrar uno que utiliza la libreria estandar de C++ en Youtube: https://www.youtube.com/watch?v=Rrdp0AUWAbs (https://www.youtube.com/watch?v=Rrdp0AUWAbs) Realmente el titulo esta equivocado. Segun la estructura del codigo no lo consideraria un troyano. Sin embargo con ello puedes entender la filosofia de una shell inversa (reverse shell). Puedes utilizar incluso utilidades como Netcat para cumplir tu objetivo de backdoor, si haces un instalador para el registro de Windows podrias configurar un auto-arranque, por ejemplo. No hagas de las definiciones un objetivo sino un medio para expresar tus objetivos... el caso no es saber como se hace un backdoor. Saludos. Título: Re: Necesito ayuda para una backdoor Publicado por: @XSStringManolo en 2 Junio 2020, 14:34 pm Necesitas 2 programas. Un cliente y un servidor. Puede ser conexión directa, el objetivo tiene los puertos abiertos. O conexión inversa, tu tienes los puertos abiertos. También se puede sin abrir puertos pero requiere de settup, proxy y tunelaje.
Puedes usar sockets o alguna librería/software como netcat o includo bash/batch, perl, php, etc. Facilita mucho. Un ejemplo: Código
O incluso puedes compilar esto en C con gcc sin libs ni nada: Código
Para sockets Linux usa <sys/socket.h> para funciones y <netinet/in.h> para sockaddr_in. Creas el socket (IPv4, TCP) y obtienes en retorno un file descriptor con: Código
exit y la constante están en <cstdlib> cout y endl en <iostream> Después creas la dirección con sus propiedades obligadas, dirección IP, PUERTO y demás. Y bindeas el sockaddr al sockfd Código
Te pones a la escucha en el socket con listen: Código
Obtienes una conexión de la cola: Código
Tras obtener la conexion lees los bytes de la misma: Código
Por último puedes recorrer el buffer buscando algo, send para responder, cerrar el sockfd o la conexión, o lo que veas. Esto ya entra dentro de lo que quieras hacer y de tu propia implementación. Prácticamente todo código lo hice mirando por la docu oficial de <sys/socket.h> |