0x00背景
html
前些日子作了几天全职扫描工程师,在此作一下最新版AWVS和Nessus破解版在安装或使用中的踩坑记录以及AWVS批量脚本的分享。HVV即未来临,不管是蓝队安全自查,仍是红队信息收集,批量漏洞扫描工具确定是必不可少的,但愿下面的内容可以给你些许帮助~
python
0x01AWVS破解踩坑
git
最新版AWVS13的破解很简单,根据压缩包里的readme破解便可,但最新版AWVS13的破解仍是延续以前版本的老问题,容易破解失效,因此下面主要仍是说一下遇到以下失效状况的时候,如何解决:github
AWVS忽然崩了,扫了半天的结果也看不了了:web
从新登陆发现登陆界面不显示,或者输入帐号密码后没反应:json
此时打开windows的服务管理界面,查看AWVS对应的服务是关闭状态:windows
因而想着重启一下服务吧,因而发现死活重启不起来,就像下面这个样子:api
这时候若是从新安装AWVS(重装大法解决一切问题!),那么以前扫描的结果都没有了就很难受了,不要慌,解决办法来了:此时只须要从新把破解补丁拖取到AWVS安装目录安全
而后重启Acunetix服务后再次从新登陆便可:微信
总结:AWVS13版本在扫描大批量资产的时候很是容易出现各类破解失效,服务自动关停等问题,老是重装确定是很难受的,因此通过屡次踩坑发现目前大部分问题基本均可以经过上述方法进行从新破解便可。祝你好运
0x02AWVS自动化脚本分享
若是你的破解版AWVS十分给力,未曾出现过破解失效问题,上面的经验对你毫无做用,那么但愿下面这个脚本可以给你提供些许便利:
脚本说明:某大佬分享的AWVS批量导入脚本,支持:
一、批量导入资产并开始扫描(可配合AWVS定时任务,在任意时间段开始扫描)
二、批量删除全部任务(会连带着删除扫描记录、漏洞等,慎用!)
三、因为部分资产较为脆弱,须要调整扫描速率,因此又在大佬的基础上添加了一个批量修改扫描速率的模块。(默认为fast,需手动修改代码self.speed值,代码中已注释)
四、使用方法很简单,替换本身的AWVS APIkey便可。
import jsonimport queueimport requestsrequests.packages.urllib3.disable_warnings()def run(): print(' ______ ____ __ __ ') print('/\ _ \ /\ _`\ /\ \__ /\ \ ') print('\ \ \L\ \ __ __ __ __ __ ____ \ \ \L\ \ __ \ \ ,_\ ___\ \ \___ ') print(" \ \ __ \/\ \/\ \/\ \/\ \/\ \ /',__\ \ \ _ <' /'__`\ \ \ \/ /'___\ \ _ `\ ") print(" \ \ \/\ \ \ \_/ \_/ \ \ \_/ |/\__, `\ \ \ \L\ \/\ \L\.\_\ \ \_/\ \__/\ \ \ \ \ ") print(" \ \_\ \_\ \___x___/'\ \___/ \/\____/ \ \____/\ \__/.\_\\ \__\ \____\\ \_\ \_\ ") print(' \/_/\/_/\/__//__/ \/__/ \/___/ \/___/ \/__/\/_/ \/__/\/____/ \/_/\/_/') print(' ______ __ ') print(' /\__ _\ /\ \__ ') print(' \/_/\ \/ ___ ___ _____ ___ _ __\ \ ,_\ ') print(" \ \ \ /' __` __`\/\ '__`\ / __`\/\`'__\ \ \/ ") print(' \_\ \__/\ \/\ \/\ \ \ \L\ \/\ \L\ \ \ \/ \ \ \_ ') print(' /\_____\ \_\ \_\ \_\ \ ,__/\ \____/\ \_\ \ \__\ ') print(' \/_____/\/_/\/_/\/_/\ \ \/ \/___/ \/_/ \/__/') print(' \ \_\ ') print(' \/_/ ') print("\n") print(' Github:https://github.com/BetterDefender/AwvsBatchImport.git') print(' Author:BetterDefender') print(' Version:1.1')class AwvsScan(object):def __init__(self): self.scanner = 'https://127.0.0.1:3443' # Modify URL self.api = '1986ad8c0a5b3df4d7028d5f3c06e936c9c77171759f347dd8426737ab9736f9d' # Modify API self.ScanMode = '11111111-1111-1111-1111-111111111111' # ScanMode self.headers = {'X-Auth': self.api, 'content-type': 'application/json'} self.targets_id = queue.Queue() self.scan_id = queue.Queue() self.site = queue.Queue() self.speed = 'fast' #修改扫描速度为sequential|slow|moderate|fast便可,默认为fastdef main(self): print("") print("|"+'=' * 35+"|") print("|Please select the function to use:|") print("""| 1.Add scan task using awvs.txt |\n| 2.Delete all tasks |\n| 3.Regulae all tasks's speed |""") print("|"+'=' * 35+"|") choice = input(">")if choice == '1': self.scans()if choice == '2': self.del_targets()if choice == '3': self.speed_regulate() self.main()def openfile(self):with open('awvs.txt') as cent:for web_site in cent: web_site = web_site.strip('\n\r') self.site.put(web_site)def targets(self): self.openfile()while not self.site.empty(): website = self.site.get()try: data = {'address': website,'description': 'awvs-auto','criticality': '10'} response = requests.post(self.scanner + '/api/v1/targets', data=json.dumps(data), headers=self.headers, verify=False) cent = json.loads(response.content) target_id = cent['target_id'] #获取任务target_id self.targets_id.put(target_id)except Exception as e: print('Error:Target is not website! {}'.format(website)) print("Please check if the URL in awvs.txt is correct!") exit()def scans(self): self.targets()while not self.targets_id.empty(): data = {'target_id': self.targets_id.get(),'profile_id': self.ScanMode,'schedule': {'disable': False, 'start_date': None, 'time_sensitive': False}} response = requests.post(self.scanner + '/api/v1/scans', data=json.dumps(data), headers=self.headers, allow_redirects=False, verify=False)if response.status_code == 201: cent = response.headers['Location'].replace('/api/v1/scans/', '')#print(cent)def get_targets_id(self): response = requests.get(self.scanner + "/api/v1/targets", headers=self.headers, verify=False) content = json.loads(response.content)for cent in content['targets']: self.targets_id.put([cent['address'], cent['target_id']])def del_targets(self):while True: self.get_targets_id()if self.targets_id.qsize() == 0:breakelse:while not self.targets_id.empty(): targets_info = self.targets_id.get() response = requests.delete(self.scanner + "/api/v1/targets/" + targets_info[1], headers=self.headers, verify=False)if response.status_code == 204: print('delete targets {}'.format(targets_info[0]))def speed_regulate(self):while True: self.get_targets_id()if self.targets_id.qsize() == 0:breakelse:if not self.targets_id.empty():for i in range(self.targets_id.qsize()): targets_info = self.targets_id.get() data = {'scan_speed':self.speed} response = requests.patch(self.scanner + "/api/v1/targets/"+targets_info[1]+'/configuration', data=json.dumps(data), headers=self.headers,verify=False)if response.status_code == 204: print('Regulate targets {}'.format(targets_info[0]))breakif __name__ == '__main__': run() Scan = AwvsScan() Scan.main()
0x03Nessus破解踩坑
https://www.52pojie.cn/thread-1140341-1-1.html
可是在破解中可能会出现一些问题致使没法破解成功,下面就是一些踩坑记录,若是你也遇到了,能够试一试这里的解决办法:
1)更新插件遇到以下:
问题不大,使用管理员权限从新打开cmd,运行更新命令便可:
2)若是发现覆盖配置文件无效时打开目录发现以下(基本上都是这个问题致使破解失败):
此时须要将内容复制到inc文件中,但可能会遇到以下状况:
这个就须要在文件的NTFS权限中添加“Everyone”彻底控制权限:
添加完权限之后只须要将内容复制到inc文件并保存便可:
同时把此plugin_feed_info.inc文件复制到C:\ProgramData\Tenable\Nessus\nessus\plugins目录后重启Nessus服务后等待从新初始化便可便可:
出现以下界面,则表示能够无视IP条数限制开始扫描:
自动化扫描工具下载百度网盘地址:连接: https://pan.baidu.com/s/1b5rhqg7BI8FrXYqZyzsWlQ 密码: 278m
禁止非法,后果自负
欢迎关注公众号:web安全工具库
本文分享自微信公众号 - web安全工具库(websec-tools)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。