自动化渗透测试自动化挖掘src

news2024/12/27 12:35:02

文章目录

  • 前言
  • 思路
    • 资产收集
    • 资产收集
    • http服务自动攻击利用

前言

好久没有写blog了,最近在上班干活,最近抽空研究了一下自动化渗透测试,下面分享一下

思路

资产收集

传统的资产收集都是跟域名挂钩,域名收集的好坏也至关重要,这里我使用了下面一个老哥的ICP备案查询工具
ICP-Checker
大致使用方法如下
比如说我们的靶标是腾讯,我们可以通过备案查询先获取主办单位名称
tencent.com备案
请添加图片描述

然后我们使用工具,输入完整公司名字,他会把公司注册的所有根域名dump下来,保存在备案信息.xlsx
请添加图片描述
等他下载完之后,我们打开xlsx,这里我随便找了个公司,腾讯域名太多了,然后我们把域名复制过来,保存为xxx.domain
请添加图片描述
由于域名可能会重复,我们可以用下面脚本去重,修改好file_name运行就好

import os
file_name = "xxx.domain"
os.system(f"cat {file_name}|sort|uniq -u >test.txt")
os.system(f"mv test.txt {file_name}")

然后总的根域名都收集好了

资产收集

这里我有很多种方法,今天介绍一个比较快,适合有钱人的方法,就是直接利用fofa的api

# -*- coding: utf-8 -*-
import requests
import base64
import time
import os
email = 
apikey = 
for file in os.listdir('.'):
    if '.domain' in file:
        domain_file = file
        break


def get_fofa_result(query_str, fields="", page=1, size=100):
    payload = base64.b64encode(query_str.encode()).decode()
    url = f'https://fofa.info/api/v1/search/all?email={email}&apikey={apikey}&qbase64={payload}&fields={fields}&page={page}&size={size}'
    for i in range(1, 1000, 1):
        res = requests.get(url)
        if res.json().get('error') == True:
            if 'F点余额不' in res.json().get('errmsg'):
                return ""
            else:
                time.sleep(i)
        else:
            return res.json()


def get_total_count(query_str):
    return get_fofa_result(query_str)['size']


def save_result(query_str, total_count):
    step = max(1000, total_count//50)
    step = min(10000, step)  # 防止过大
    for i in range(0, total_count, step):
        res = get_fofa_result(query_str, "protocol,host", 1+i//step, step)
        if res == "":
            print(query_str+" is too large,and can not download")
            return
        for protocol, host in res['results']:
            if protocol == "http" or protocol == "https":
                if protocol == "http":
                    host = "http://"+host
                with open(domain_file.replace("domain", "url"), "a") as f:
                    f.write(host+"\n")
            else:
                with open(domain_file.replace("domain", "service"), "a") as f:
                    f.write(protocol+" "+host+"\n")


with open(domain_file, "r") as f:
    for domain in f.read().split():
        query_str = f'domain="{domain}"'
        count = get_total_count(query_str)
        print(domain)
        if count == 0:
            continue
        else:
            save_result(query_str, count)

这里我写的比较简单,里面由于api数量的限制可能会出现error,然后可以在get_fofa_result里面自己在处理一下就好,比如说我就还会遇到今日api已达到上线,这种只能exit
直接运行就好
请添加图片描述
test.url里面就是可以访问的url,service就是除了http服务其他的一些服务,这里我主要进行http服务的自动化利用
请添加图片描述

http服务自动攻击利用

这里主要是利用nuclie加上fscan进行漏洞探测,还可以加上xray,但是xray误报很多,而且运行的时候还会生成一些奇怪的config,就没有加上,同时我配置了notify以及dingding机器人,方便直接同步结果

import os
import requests
from threading import Thread
for file in os.listdir('.'):
    if '.url' in file:
        url_file = file
        break


def nuclei():
    os.system(
        f"nuclei  -stats -et ssl/weak-cipher-suites.yaml  -l {url_file} -rl 1000 -bs 35 -c 50  -mhe 10 -ni -o res-tmp.txt  -severity critical,medium,high | notify -silent")


def fscan():
    os.system(f"fscan  -uf {url_file}")
    if os.path.exists("result.txt") == False:
        os.system("echo 'fscan do not scan any inforamtion'")
        return
    os.system(
        'cat result.txt|grep "\[+\]"|grep -v "\[KONA\]"|grep -v "\[Varnish\]"|grep -v  "\[Cloudfront\]"|grep -v "\[CloudFlare\]" >sucess.txt')
    if int(os.popen("cat sucess.txt|wc -l").read()) > 0:
        with open("sucess.txt", "r") as f:
            for line in f.read().split("\n"):
                if line == "":
                    continue
                content = {"msgtype": "text", "text": {"content": line}}
                requests.post(
                    'https://oapi.dingtalk.com/robot/send?access_token=aaaa', json=content)


t1 = Thread(target=nuclei)
t2 = Thread(target=fscan)
t1.start()
t2.start()
t1.join()
t2.join()

然后我们这样运行就好
直接python3 attack.py运行就好,这里我url太少,就没有结果
请添加图片描述

我之前也做了一整套自动化利用,当时是挖h1,那个自动化程度比较高,基本都没用自己动,当然域名收集包括资产还是这种比较完善,所以我就先分享这个~

当然自动化挖src挖不出高危漏洞,高危的还是要去实际测业务,这个就图一乐

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/503006.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

键盘敲入 A 字母时,操作系统期间发生了什么?

键盘可以说是我们最常使用的输入硬件设备了,但身为程序员的你,你知道「键盘敲入A 字母时,操作系统期间发生了什么吗」? 设备控制器 我们的电脑设备可以接非常多的输入输出设备,比如键盘、鼠标、显示器、网卡、硬盘、打…

ERP与WMS有哪些区别和联系?

一、什么是ERP ERP(Enterprise Resource Planning)是企业资源计划系统,它是一套综合的管理软件系统,可以帮助企业对各种业务管理、生产制造、供应链、销售财务等进行管理和优化。ERP系统的核心功能包括人力资源管理、物料管理、财…

无线电相关的SCI期刊有哪些? - 易智编译EaseEditing

以下是几个无线电相关的SCI期刊: IEEE Transactions on Wireless Communications: 这是一个IEEE无线通信协会的期刊,主要涵盖了无线通信领域的最新研究进展,包括无线网络,通信系统和信号处理等方面。 IEEE Transacti…

IntelliJ Platform-Plugins-获取鼠标选中字段或方法(PsiElement抽象)

PsiElement接口是文件中光标所在的那个字段,或者光标所在的那个方法的抽象,例如下图中,PsiElement就是private String name 而下图中PsiElement就是public String getName() 下面的代码会演示:光标在方法上,就打印方…

HTMLCSS

1、HTML 1.1 介绍 HTML 是一门语言,所有的网页都是用HTML 这门语言编写出来的,也就是HTML是用来写网页的,像京东,12306等网站有很多网页。 这些都是网页展示出来的效果。而HTML也有专业的解释 HTML(HyperText Markup Language)…

【EKF】卡尔曼滤波原理

前言 本篇是最近在学习云台以及姿态融合时,想学习一下卡尔曼滤波的原理,基于 DR_CAN 老师的卡尔曼滤波的视频做的笔记,基本上是按照 DR_CAN 老师的思路自己推导计算了一遍,推荐还是看一下原视频,讲解得很不错&#xf…

5款写作神器,帮助你写出5w+爆款文案,好用到哭

我不允许还有文案小白、新手博主不知道这5款写作利器! 每次一写文案就头秃的新媒体工作者,赶紧看过来吧!这5款好用到爆的写作神器,喝一杯咖啡的时间就能完成写作。 我和同事都是用它们,出了很多的爆款,现…

shell脚本--函数

目录 一:shell函数定义 1.函数的含义 2.函数的优点 3.函数的格式 4.函数返回值 (1)return输出 (2)echo输出 二:函数传参 1.情景一 2.情景二 3.情景三 4.情景四 三:递归函数 1.递归函数定义 2.通过…

STM32F103ZET6驱动TOF250激光测距传感器

STM32驱动TOF250激光测距传感器 TOF250介绍I2C通讯协议I2C寄存器地址 TOF250引脚说明和STM32的接线和STM32的接线 程序实验结果总结 TOF250介绍 TOF250是一款基于TOF原理的单点测距雷达,采用940nm红外光源,提供了精确和可重复的远 距离测量用于高速自动对…

OceanBase写入限速源码解读

一、简介 OceanBase中的写入限速机制旨在控制系统中写入操作(一般写入操作包括插入、更新和删除等)的速率,目的是为了提高数据库系统的稳定性。本文主要通过以下2个参数来解释写入限速的实现机制。 **1.**writing_throttling_trigger_perce…

MySQL-----索引特性

文章目录 前言一、没有索引,可能会有什么问题二、认识磁盘MySQL与存储先来研究一下磁盘在看看磁盘中一个盘片扇区结论磁盘随机访问(Random Access)和连续访问(Sequential Access) 三、MySQL与磁盘交互的基本单位四、建立共识五、索引的理解建立测试表插入多条记录查看插入结果中…

程序员最终会被自己开发的轮子所淘汰吗?

螺丝刀和扳手的发明,并没有让工人下岗; 工程机械(挖掘机等)的发明,也不会让建筑工人的需求量减少; 现代医学的各种先进设备,似乎也没有让医生数量大幅减少; …… 所以,关…

【团购-自定义Cell完善 Objective-C语言】

一、我们刚才这么写,有一个问题, 1.CZGoodsCell *cell = [[NSBundle mainBundle] loadNibNamed:@“CZGoodsCell” owner : nil options : nil ] ; 这样是不是没有进行单元格重用啊, 没有重用单元格, 我们说,前面还有一个对单元格进行重用吧, static NSString *ID = @“…

4.shell函数

文章目录 shell函数shell函数的作用函数返回值函数传参函数变量作用范围递归阶乘使用函数递归目录/var/log,如果是文件直接输出文件名,如果是目录则输出目录名且输出此目录下的所有目录和文件名通过脚本输出环境变量PATH所包含的所有目录以及其中的子目录…

python的小技巧

python的小方法 (1)利用dir()这个函数方法,知道库里面的方法有些什么。(2) 利用type()这个函数方法,知道是什么类型的数据(3)从序列元素中获取元素[1]单个星号还可以在列表/元组/字典…

纯干货!蓝牙耳机哪个牌子好?性价比高蓝牙耳机推荐

蓝牙耳机是我们使用最多的数码产品之一,不论是通勤、运动、上课都少不了它。身为数码测评专员,我每天都会进行测评,对各类数码产品也有深入研究,近期很多网友咨询蓝牙耳机哪个牌子好,于是我进行深入测评后整理了这份性…

【刷题】141. 环形链表

141. 环形链表 一、题目描述二、示例三、实现思考总结 141. 环形链表 一、题目描述 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环…

基于jdk11从源码角度剖析AQS 抽象同步其的核心原理

在高并发的情况下,使用基于CAS自旋实现的轻量级锁存在恶性空自旋浪费CPU 资源和导致“总线风暴”两大问题, 解决CAS恶性空自旋的有效方法是空间换时间,常见解决方法有分散操作热点和使用队列削峰。JUC并发包使用的是队列削峰的方案解决CAS的性…

YOLOv7升级换代:EfficientNet骨干网络助力更精准目标检测

目录 一、EfficientNet骨干网络1、EfficientNet架构2、EfficientNet在目标检测中的应用3、EfficientNet分辨率的缩放4、EfficientNet深度与宽度的缩放 二、YOLOv7结构1、YOLOv7网络架构2、YOLOv7骨干网络3、YOLOv7使用了EfficientNet作为骨干网络,具有以下几个优点&…

如何基于异步消息队列进行深度学习模型推理预测?distributed inference with pytorch celery huey sqlite

文章目录 celery 简介celery in pytorchwindows 平台下使用celery 的一些问题参考文献与学习路径一些类似消息队列多进行推理预测的实现参考celery and sqlitecelery vs hueycelery 简介 先说一下celery 不支持windows 【或者说支持的不好】 pypi https://pypi.org/project/…