加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
scan.py 11.58 KB
一键复制 编辑 原始数据 按行查看 历史
ExpLang 提交于 2021-08-20 15:20 . 更新
from re import U
import rich
import time
import plus.scan
import cmd2 as cmd
from rich.console import Console
from os import altsep, read, system, name
def clear():
# for windows
if name == 'nt':
_ = system('cls')
print('''
██╗ ██╗ ██╗██╗ ██╗██╗ ██╗ ███████╗██╗ ██╗██████╗ ██╗ █████╗ ███╗ ██╗ ██████╗
╚██╗ ██╔╝ ██║╚██╗██╔╝╚██╗██╔╝ ██╔════╝╚██╗██╔╝██╔══██╗██║ ██╔══██╗████╗ ██║██╔════╝
╚████╔╝ ██║ ╚███╔╝ ╚███╔╝█████╗█████╗ ╚███╔╝ ██████╔╝██║ ███████║██╔██╗ ██║██║ ███╗
╚██╔╝██ ██║ ██╔██╗ ██╔██╗╚════╝██╔══╝ ██╔██╗ ██╔═══╝ ██║ ██╔══██║██║╚██╗██║██║ ██║
██║ ╚█████╔╝██╔╝ ██╗██╔╝ ██╗ ███████╗██╔╝ ██╗██║ ███████╗██║ ██║██║ ╚████║╚██████╔╝
╚═╝ ╚════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝
\033[1;31m---Info:ExpLang\033[0m
\033[1;35m---Team:云剑侠心\033[0m
命令帮助:
help * 将*替换为命令可查看命令帮助
info 调用tig获取IP信息
inst 安装脚本运行库文件
clear 清屏命令
finger 调用finger脚本对资产进行探测指纹信息
jsscan 调用JSFinder脚本对资产JS文件收集敏感信息及子域名
apkscan 提取APK文件内的url地址
pocscan 当前支持致远、泛微综合漏洞扫描及批量扫描
dirscan 调用dirsearch脚本对资产进行敏感文件及文件目录扫描
portscan 对资产IP或域名进行常见端口列表扫描''')
else:
_ = system('clear')
print('''
██╗ ██╗ ██╗██╗ ██╗██╗ ██╗ ███████╗██╗ ██╗██████╗ ██╗ █████╗ ███╗ ██╗ ██████╗
╚██╗ ██╔╝ ██║╚██╗██╔╝╚██╗██╔╝ ██╔════╝╚██╗██╔╝██╔══██╗██║ ██╔══██╗████╗ ██║██╔════╝
╚████╔╝ ██║ ╚███╔╝ ╚███╔╝█████╗█████╗ ╚███╔╝ ██████╔╝██║ ███████║██╔██╗ ██║██║ ███╗
╚██╔╝██ ██║ ██╔██╗ ██╔██╗╚════╝██╔══╝ ██╔██╗ ██╔═══╝ ██║ ██╔══██║██║╚██╗██║██║ ██║
██║ ╚█████╔╝██╔╝ ██╗██╔╝ ██╗ ███████╗██╔╝ ██╗██║ ███████╗██║ ██║██║ ╚████║╚██████╔╝
╚═╝ ╚════╝ ╚═╝ ╚═╝╚═╝ ╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚══════╝╚═╝ ╚═╝╚═╝ ╚═══╝ ╚═════╝
\033[1;31m---Info:ExpLang\033[0m
\033[1;35m---Team:云剑侠心\033[0m
命令帮助:
help * 将*替换为命令可查看命令帮助
info 调用tig获取IP信息
inst 安装脚本运行库文件
clear 清屏命令
finger 调用finger脚本对资产进行探测指纹信息
jsscan 调用JSFinder脚本对资产JS文件收集敏感信息及子域名
apkscan 提取APK文件内的url地址
pocscan 当前支持致远、泛微综合漏洞扫描及批量扫描
dirscan 调用dirsearch脚本对资产进行敏感文件及文件目录扫描
portscan 对资产IP或域名进行常见端口列表扫描''')
class hacktools(cmd.Cmd):
prompt = time.strftime('\033[1;31mScanTools\033[0m\033[1;35m\033[0m\033[0m\033[33m >> \033[0m\033[32m')
def do_inst(self, line):
plus.scan.install()
def do_portscan(self, line):
'''\033[1;31m
快速对IP扫描常见端口\033[32m
'''
ip = input("\033[1;31m请输入扫描的IP:\033[32m")
plus.scan.portscan(ip)
def do_pocscan(self, line):
'''\033[1;31m
快速在网站的js文件中提取URL,子域名\033[32m
\033[33m
1.致远漏洞综合扫描
2.致远漏洞综合批量扫描
3.泛微漏洞综合扫描
4.泛微漏洞综合批量扫描
'''
print('''\033[33m
1.致远漏洞综合扫描
2.致远漏洞综合批量扫描
3.泛微漏洞综合扫描
4.泛微漏洞综合批量扫描
''')
xz = input("\033[1;31m请输入你的选项:\033[32m")
if xz == '1':
target_url = input("\033[1;31m请输入扫描Url:\033[32m")
plus.scan.poc(xz, target_url)
if xz == '2':
target_url = input("\033[1;31m请输入扫描Url:\033[32m")
plus.scan.poc(xz, target_url)
if xz == '3':
target_url = input("\033[1;31m请输入扫描文件地址:\033[32m")
plus.scan.poc(xz, target_url)
if xz == '4':
target_url = input("\033[1;31m请输入扫描文件地址:\033[32m")
plus.scan.poc(xz, target_url)
def do_jsscan(self, line):
'''\033[1;31m
快速在网站的js文件中提取URL,子域名\033[32m
\033[33m1.对单个网站进行扫描.
2.对多个网站进行批量扫描.\033[32m
'''
print('''\033[33m
1.对单个网站进行扫描.
2.对多个网站进行批量扫描.\033[32m
''')
xz = input("\033[1;31m请输入你的选项:\033[32m")
if xz == '1':
url = input("\033[1;31m请输入扫描Url:\033[32m")
cookie = input("\033[1;31m请输入cookie(可为空):\033[32m")
plus.scan.jsscan(xz, url, cookie)
elif xz == '2':
file = input("\033[1;31m请输入待扫描文件地址:\033[32m")
cookie = input("\033[1;31m请输入cookie(可为空):\033[32m")
plus.scan.jsscan(xz, file, cookie)
def do_finger(self, line):
'''\033[31m
存活探测与重点攻击系统指纹探测\033[32m
\033[33m1.对单个网站进行检测.
2.对多个网站进行批量检测.
3.对单个IP进行检测.
4.对多个IP进行批量检测.\033[32m
'''
print('''\033[33m
1.对单个网站进行检测.
2.对多个网站进行批量检测.
3.对单个IP进行检测.
4.对多个IP进行批量检测.\033[32m
''')
xz = input("\033[1;31m请输入你的选项:\033[32m")
if xz == '1':
url = input("\033[1;31m请输入扫描Url:\033[32m")
plus.scan.finger(xz, url)
elif xz == '2':
file = input("\033[1;31m请输入待扫描文件地址:\033[32m")
plus.scan.finger(xz, file)
elif xz == '3':
file = input("\033[1;31m请输入扫描IP:\033[32m")
plus.scan.finger(xz, file)
elif xz == '4':
file = input("\033[1;31m请输入待扫描文件地址:\033[32m")
plus.scan.finger(xz, file)
def do_dirscan(self, line):
'''\033[31m
目录暴力破解的最佳工具\033[32m
\033[33m1.对单个网站进行扫描.
2.对多个网站进行批量扫描.\033[32m
'''
print('''\033[33m
\033[33m1.对单个网站进行扫描.
2.对多个网站进行批量扫描.\033[32m
''')
xz = input("\033[1;31m请输入你的选项:\033[32m")
if xz == '1':
url = input("\033[1;31m请输入扫描Url:\033[32m")
th = input("\033[1;31m请输入扫描线程(10-100):\033[32m")
report = input('\033[1;31m请输入保存文件名:\033[32m')
plus.scan.dirsearch(xz, url, th, report)
elif xz == '2':
url = input("\033[1;31m请输入待扫描文件地址:\033[32m")
th = input("\033[1;31m请输入扫描线程(10-100):\033[32m")
report = input('\033[1;31m请输入保存文件名:\033[32m')
plus.scan.dirsearch(xz, url, th, report)
def do_info(self, line):
'''\033[31m
IP威胁情报信息收集\033[32m
\033[33m1.对单个IP进行扫描.
2.对多个IP进行批量扫描.\033[32m
'''
print('''\033[33m
\033[33m1.对单个IP进行扫描.
2.对多个IP进行批量扫描.\033[32m
''')
xz = input("\033[1;31m请输入你的选项:\033[32m")
if xz == '1':
ip = input('\033[1;31m请输入检测IP:\033[32m')
report = input('请输入保存文件名:\033[32m')
plus.scan.info_tig(xz, ip, report)
elif xz == '2':
ip = input('\033[1;31m请输入待扫描文件地址:\033[32m')
report = input('\033[1;31m请输入保存文件名:\033[32m')
plus.scan.info_tig(xz, ip, report)
def do_apkscan(self, line):
'''\033[31m
提取APK内存在的Url地址\033[32m
'''
apkfile = input('\033[1;31m请输入待扫描APK地址:\033[32m')
report = input('\033[1;31m请输入保存文件名:\033[32m')
plus.scan.apkleaks(apkfile, report)
def do_clear(self, line):
'''清屏'''
clear()
def do_exit(self, line):
'''退出工具'''
return True
if __name__ == '__main__':
clear()
hacktools().cmdloop()
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化