usable netcat in 99 lines of python 08-17-2015, 01:32 PM
#1
uhhh, Hopefully somebody finds this helpful. Only literally like 1% of this is my code, so no credit for me i just thought you guys might enjoy this!
Code:
import sys,socket,getopt,threading,subprocess
l=False;c=False;u=False;e="";t="";d="";p=0
def RC(C):
C=C.rstrip()
try:O=subprocess.check_output(C,stderr=subprocess.STDOUT,shell=True)
except:O="exe fail\n"
return O
def CH(CS):
global u,e,c
if len(d):
fb=""
while True:
da=CS.recv(1024)
if not da:
break
else:
fb+=da
try:
file_descriptor=open(d, "wb")
file_descriptor.write(fb)
file_descriptor.close()
CS.send("Pass %s\n" % d)
except:
CS.send("Fail %s\n" % d)
if len(e):
op=RC(e)
CS.send(op)
if c:
while True:
CS.send(": ")
cb=""
while "\n" not in cb:
cb += CS.recv(1024)
r=RC(cb)
CS.send(r)
def SL():
global t,p
if not len(t):
t="0.0.0.0"
S=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
S.bind((t, p))
S.listen(5)
while True:
client_socket, addr=S.accept()
client_thread=threading.Thread(target=CH, args=(client_socket,))
client_thread.start()
def sn(bu):
cl=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
cl.connect((t,p))
if len(bu):
cl.send(bu)
while True:
recv_len=1
re=""
while recv_len:
da=cl.recv(4096)
recv_len=len(da)
re+=da
if recv_len<4096:
break
print re,
bu=raw_input("")
bu+="\n"
cl.send(bu)
except:
print "Excpt"
cl.close()
def use():
print "Use: nc.py -t target_host -p port"
print "-l listen"
print "-e exec=file"
print "-c command"
print "-u upload=path"
sys.exit(0)
def main():
global l,p,e,c,d,t
if not len(sys.argv[1:]):
use()
try:
opts, args=getopt.getopt(sys.argv[1:], "hle:t:p:cu:")
except getopt.GetoptError as err:
print str(err)
use()
for o, a in opts:
if o in ("-h"):use()
elif o in ("-l"):l=True
elif o in ("-e"):e=a
elif o in ("-c"):c=True
elif o in ("-u"):d=a
elif o in ("-t"):t=a
elif o in ("-p"):p=int(a)
else: assert False, "bad option"
if not l and len(t) and p > 0:
bu=sys.stdin.read()
sn(bu)
if l:
SL()
main()
Help, i need my peasant status removed! Donate to me.
>> https://www.sinister.ly/newpoints.php?action=donate <<
(contact me): xmpp: mental_neglect@dukgo.com
>> https://www.sinister.ly/newpoints.php?action=donate <<
(contact me): xmpp: mental_neglect@dukgo.com




![[+]](https://sinister.li/images/modern/collapse_collapsed.png)








![[Image: BXqGARG.png]](https://i.imgur.com/BXqGARG.png)








