黑客微信攻击平台-第一章

龙 宇 2016-7-19 QQ黑客 0 0

  初衷:

  江湖之大,武器繁多。只在PC上发展,很少有APP。有了app还需要下载,不如公众号方便,无需下载 随时进行管理攻击。为了解决各大同僚的方便之举,特写此套文章。

  准备:

  微信公众号(需申请,个人订阅号即可 不会申请,请自行百度)

  python - flask (采用flask web框架进行编写,全程采用 RESTful API 标准协议)

  linux服务器一台 (无服务器,也可以采用新浪云服务的python环境)

  目标:

  短信攻击

  网站扫描

  端口扫描

  IP定位

  MD5破解

  xss平台

  …… (有什么需要添加的,请留言)

  (透露下,如果没有意外可能会加入手机号定位功能)

  关于代码:

  本套代码,将会在github 开源(采用 MIT 许可协议,可放心集成于商业产品中)。

  开始打造

  公众号申请,开发者配置请自行百度。

  配置信息:项目启动方可认证成功!黑客微信攻击平台-第一章

以下是代码片段:

目录:

|-- run.py #启动文件
|-- wechat #微信配置目录
|---- __init__.py
|---- wechatConfig.py #微信配置验证,模块加载接口
|---- mode #模块目录
|------ __init__.py
|------ scanPort.py #端口扫描模块

run.py

#! /usr/bin/python
# -*- coding: utf-8 -*-
import time
from flask import Flask,g,request,make_response
import hashlib
import xml.etree.ElementTree as ET
from wechat import wechatConfig

app = Flask(__name__)
#声明路由地址,就是微信访问的地址 截图上的服务器访问地址
@app.route('/tools',methods=['GET','POST']) #/tools 可以自定义
def tools():
   #get 请求为TOKEN认证,post为消息发送
   if request.method == 'GET':
       token='wechat' #token 要 和微信设置的 对应
       return wechatConfig.wechat_auth(token,request.args)
   else:
       req = request.stream.read()
       resultData = ET.fromstring(req)

       toUser = resultData.find('ToUserName').text
       fromUser = resultData.find('FromUserName').text
       content = resultData.find('Content').text

       resultContent = wechatConfig.wechat_mode(content)

       formData = "<xml><ToUserName><![CDATA[%s]]></ToUserName><FromUserName><![CDATA[%s]]></FromUserName><CreateTime>%s</CreateTime><MsgType><![CDATA[%s]]></MsgType><Content><![CDATA[%s]]></Content><FuncFlag>0</FuncFlag></xml>"
       response = make_response(formData % (fromUser,toUser,str(int(time.time())),'text', resultContent))
       response.content_type='application/xml'
       return response
#python flask 框架 自带的 webserver 微信开发者认证服务器的端口 只支持 80 443 所以调成80端口
if __name__ == '__main__':
   app.run(host="0.0.0.0",port=80, debug=True)

wechatConfig.py:

#! /usr/bin/python
# -*- coding: utf-8 -*-
from flask import make_response
import hashlib
from mode import scanPort

#微信token认证
def wechat_auth(token,data):
   signature = data.get('signature','')
   timestamp = data.get('timestamp','')
   nonce = data.get('nonce','')
   echostr = data.get('echostr','')
   s = [timestamp,nonce,token]
   s.sort()
   s = ''.join(s)
   if (hashlib.sha1(s).hexdigest() == signature):
       return make_response(echostr)

#获取公众号用户发送的消息,进行判断回复对应信息
def wechat_mode(content):
   if content==u"攻击": #返回攻击列表指令
       return "G1:端口扫描/nG2:短信攻击/n/n攻击格式:编号&目标/n列如:G1&127.0.0.1/n列如:G2&188****1111"
   elif  "G1&" in content: #实现通过公众号 端口扫描 功能
       arr=content.split('&')
       return "你扫描的IP端口为:"+str(scanPort.init(arr[1]))
   else:
       return "感谢你的留言!"

scanPort.py:

#! /usr/bin/python
# -*- coding: utf-8 -*-
import socket #socket包
import threading #线程包

#全局变量
RESULT=[]
IP=''

#判断端口是否存在
def isPort(port):
       sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #AF_INET 是 IPv4 网络协议的套接字类型   SOCK_STREAM即TCP协议
       sk.settimeout(1) #超时时间
       try:
           sk.connect((IP,port)) #开始连接
           RESULT.append(port)
       except Exception:
               return '没有此端口!'
       sk.close() #关闭

#创建线程,需要多少端口就创立多少线程,速度抗抗的
def main(ports):
   threadpool=[] #线程数组

   for p in ports:
       th = threading.Thread(target= isPort,args= [p]) #target 方法名字 args 单个参数 可以用 [p] or (p,)  多个参数(p,a,b)
       threadpool.append(th) #线程数组添加线程

   for th in threadpool:
       th.setDaemon(True) #守护线程
       th.start() #启动线程

   for th in threadpool:
       threading.Thread.join(th)

def init(ip):
   IP=ip
   del RESULT[:]
   ports=[80,8080,3128,8081,3306,9080,1080,21,23,443,69,22,25,110,7001,9090,3389,1521,1158,2100,1433] #扫描端口
   main(ports)
   return  RESULT

启动项目:

python run.py 

  测试截图

黑客微信攻击平台-第一章

  短信攻击只为了更加美观,才加入的。所以没有实际功能。大家不用去测试!

 

原文地址:https://www.77169.com/hack/201602/224403.shtm

转载请注明来自华盟网,本文标题:《黑客微信攻击平台-第一章》

喜欢 (0) 发布评论