#encoding:utf-8
from flask import request, render_template, redirect, url_for, session
import time
from index import app, sql, url
import json
import os
import base64
import traceback
from .login import cklogin
url.append({
    "title":
    "快捷操作",
    "children": [
        {
            "title": "快捷按钮",
            "href": "/linkButton"
        },
        {
            "title": "快捷文件",
            "href": "/linkFile"
        },
    ]
})


@app.route('/linkButton', methods=['GET', 'POST'])
def linkButton():
    if request.method == 'GET':
        #返回HTML网页
        return render_template('linkButton.html')
    else:
        #返回按钮数据
Пример #2
0
import paramiko
import threading
import time, random, json
from flask import request, redirect, render_template
from index import app, sql, url
from .login import cklogin

url.append({
    "title":
    "SHELL",
    "children": [{
        "title": "web shell",
        "href": "/ssh"
    }, {
        "title": "批量主机",
        "href": "/BatchExec"
    }]
})
sshListDict = {}
sshTimeout = {}


def checkSSH():
    t = []
    for k, v in sshTimeout.items():
        if time.time() > (v + 180):
            t.append(k)
    for i in t:
        sshListDict[i].close()
        del sshListDict[i]
        del sshTimeout[i]
Пример #3
0
import platform
if 'WINDOWS' in platform.platform().upper():
    from flask import render_template, Response, request
    import time
    import math
    import json, subprocess
    from index import app, url
    from .login import cklogin
    from PIL import ImageGrab, Image
    import pyautogui
    url.append({'title': 'Windows远程', 'href': '/control/windows'})
    RATE = 2

    @app.route('/control/windows')
    @cklogin()
    def controlWindows():
        return render_template('controlWin.html')

    def getScreen():
        while True:
            time.sleep(0.08)
            try:
                img = ImageGrab.grab()
            except:
                return (b'--frame\r\nContent-Type: image/jpeg\r\n\r\n  \r\n')
            img = img.resize(
                (int(img.size[0] / RATE), int(img.size[1] / RATE)),
                Image.ANTIALIAS)
            img.save('temp/1.jpg')
            with open('temp/1.jpg', 'rb') as c:
                yield (b'--frame\r\nContent-Type: image/jpeg\r\n\r\n' +
Пример #4
0
from flask import request, render_template, redirect, url_for, session, Response
from index import app, url
import base64, platform, os, time, json, subprocess
from .login import cklogin
SYSTEMDEB = None
if 'LINUX' in platform.platform().upper():
    if os.path.exists('/etc/redhat-release'):
        SYSTEMDEB = 'yum'  #centos
    elif os.path.exists('/etc/lsb-release'):
        SYSTEMDEB = 'apt'  #ubuntu
if SYSTEMDEB:
    url.append({
        "title": "软件管理",
        "children": [{
            "title": "nginx",
            "href": "/plugins/nginx"
        }]
    })
#---------------------------nginx------------------------------------------------#
NGINXSTATUS = None


@app.route('/plugins/nginx', methods=['GET', 'POST'])
@cklogin()
def pluginsNginx():
    global NGINXSTATUS
    if request.method == 'GET':
        if not NGINXSTATUS:
            status = subprocess.Popen('service nginx status',
                                      shell=True,
                                      stdout=subprocess.PIPE,
Пример #5
0
from index import app, sql, url
from flask import request, render_template
import json
from lib.writeRes import writeResTask
from config.config import visitDay
import platform, datetime, psutil, re, requests
import socket
from .login import cklogin
url.append({"title": "控制面板", "href": "#"})
NAThost = '未获取'
netIP = '未获取'
PCname = socket.gethostname()
try:
    ipContent = requests.get('http://pv.sohu.com/cityjson?ie=utf-8').text
    ipContentJson = json.loads('{' + re.findall(r'{(.+?)}', ipContent)[0] +
                               "}")
    netIP = ipContentJson.get('cip')
except:
    pass
try:
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.connect(('8.8.8.8', 80))
    NAThost = s.getsockname()[0]
except:
    pass
finally:
    s.close()
ResTask = writeResTask()
visitDay = visitDay

Пример #6
0
from flask import request, render_template, redirect, send_file, send_from_directory, url_for, session, make_response
import time
from index import app, url
import json
import os
from PIL import Image
import zipfile
import base64
import chardet
import shutil
import traceback
from lib import extract
from config.config import workPath
from .login import cklogin
url.append({"title": "文件管理器", "href": "/file"})
sep = os.path.sep  #当前系统分隔符


@app.route('/file', methods=['GET', 'POST'])
@cklogin()
def file():
    return render_template('file.html',
                           nowPath=b64encode_(workPath),
                           sep=b64encode_(sep),
                           workPath=b64encode_(workPath))


#返回文件目录
@app.route('/GetFile', methods=['POST'])
@cklogin()
def GetFile():
Пример #7
0
from flask import request,render_template,redirect,send_file, send_from_directory,url_for,session,make_response
import time
from index import app,url
import json
import os
import time,random
from lib.task import taskset
from .login import cklogin
url.append( {
        "title": "计划任务",
        "href": "/Task",
    })
task = taskset()

@app.route('/Task',methods=['GET','POST'])
@cklogin()
def TaskHome():
    return render_template('Task.html')

@app.route('/CreatTask',methods=['POST'])
@cklogin()
def CreatTask():
    data=request.values.to_dict()
    if data['type'] == 'week':
        if data['week'] == '7':
            data['week'] = '0'
    elif data['type'] == 'month':
        if data['day'][0] == '0':
            data['day'] = data['day'][1:]
    elif data['type'] == 'once':
        if data['month'][0] == '0':
Пример #8
0
import os
from PIL import Image
import zipfile
import base64
import chardet
import shutil
import traceback
from lib import extract
from config.config import workPath
from .login import cklogin
url.append({
    "title":
    "文件管理",
    "children": [{
        "title": "文件管理器",
        "href": "/file"
    }, {
        "title": "文件分享",
        "href": "/getFileShare"
    }]
})
sep = os.path.sep  #当前系统分隔符


@app.route('/file', methods=['GET', 'POST'])
@cklogin()
def file():
    return render_template('file.html',
                           nowPath=b64encode_(workPath),
                           sep=b64encode_(sep),
                           workPath=b64encode_(workPath))
Пример #9
0
import psutil
from flask import request, render_template, redirect, send_file, send_from_directory, url_for, session, make_response
from index import app, url
import json
import platform, os, datetime, sys
from .login import cklogin
import zipfile, time, os
import random

url.append({
    "title": "进程监控",
    "href": "/Process",
})
wink = [
    'SYSTEM', 'SYSTEMIDLEPROCESS', 'SMSS.EXE', 'CSRSS.EXE', 'WININIT.EXE',
    'WINLOGON.EXE', 'SERVICES.EXE', 'LSASS.EXE', 'SVCHOST.EXE', 'DWM.EXE',
    'MEMORYCOMPRESSION', 'TASKHOSTW.EXE', 'RUNTIMEBROKER.EXE', 'EXPLORER.EXE',
    'SHELLEXPERIENCEHOST.EXE', 'APPLICATIONFRAMEHOST.EXE',
    'SYSTEMSETTINGS.EXE', 'WMIPRVSE.EXE', 'PLUGIN_HOST.EXE', 'SPOOLSV.EXE',
    'DASHOST.EXE', 'SIHOST.EXE', 'CONHOST.EXE', 'DLLHOST.EXE', 'TASKLIST.EXE',
    'NVCONTAINER.EXE', 'SEARCHUI.EXE', 'REGISTRY', 'FONTDRVHOST.EXE',
    'IGFXCUISERVICE.EXE', 'NVTELEMETRYCONTAINER.EXE',
    'SECURITYHEALTHSERVICE.EXE', 'PRESENTATIONFONTCACHE.EXE',
    'SEARCHINDEXER.EXE', 'IGFXEM.EXE', 'IGFXHK.EXE', 'CTFMON.EXE',
    'SMARTSCREEN.EXE', 'CTFMON.EXE', 'SETTINGSYNCHOST.EXE',
    'WINDOWSINTERNAL.COMPOSABLESHELL.EXPERIENCES.TEXTINPUT.INPUTAPP.EXE',
    'CHSIME.EXE', 'AUDIODG.EXE', 'USYSDIAG.EXE', 'SEARCHPROTOCOLHOST.EXE',
    'SEARCHFILTERHOST.EXE'
]

ps = [