自动化渗透测试自动化挖掘src(2)

news2024/11/27 11:33:04

文章目录

  • 前言
  • 思路
    • ICP备案
    • 子域名枚举
    • 收集可用服务
    • 漏洞攻击

前言

上一谈我们讨论了自动化渗透测试的实验,但是他过于依赖fofa,不得不承认,fofa在资产收集这方面做的确实很厉害,但是就是需要花钱,那有没有不需要花钱都手段呢,当然是有的

思路

ICP备案

上周已经介绍了ICP备案了,这周就不继续了

子域名枚举

如果大家挖掘src应该知道,很多时候资产的domain列表大概是这样的

*.baidu.com
ac.3ce.com

有些资产可能需要你进一步爆破子域名,但有些不需要
同时爆破子域名用什么工具呢,这里我还是先用subfinder来进行,这里我们先不追究子域名是否齐全,主要把大概思路做出来
挖h1的都知道chaospy.py,这个工具生成的域名大概就是上面那样,所以我们先进行域名处理,把不需要子域名爆破的直接保存,需要爆破的爆破后保存,变成完整的
domains.txtls

*.hackerone.com
www.baidu.com
import os
os.system("cat domains.txtls |grep '*' >xing.txt")
os.system("sed -i 's/*.//' xing.txt")
os.system("cat domains.txtls |grep -v  '*' >no_xing.txt")
os.system("mv no_xing.txt domains.txtls ")
os.system("subfinder -dL xing.txt -silent >>domains.txtls ")
os.system("rm xing.txt")

运行之后发现,域名变对了
请添加图片描述

收集可用服务

这里我做了长度切割,也方便以后大家多线程
然后naabu用来做端口扫描
httpx进一步进行http服务探测扫描,收集可以用的url到newurls.txtls
nabbu里面的端口都是可以修改调整的,大家根据自己情况添加

import os

file_lens=int(os.popen("cat domains.txtls | wc -l").read())
step=100
def get_domains_every_round(start,end):
    os.system(f'sed -n "{start+1},{end}p" domains.txtls > domaint.txtls')

def naabu():
    os.system("naabu -stats  -rate 2000 -l domaint.txtls -p 80,443,8080,8000,8888,6379,6443,3306,6379 -o open-domain.txtls")

def httpx():
    os.system("httpx -stats  -rl 500 -l open-domain.txtls  -o newurls.txtls")

for start in range(0,file_lens,step):
    end=min(start+step,file_lens)
    get_domains_every_round(start,end)
    if os.path.exists("domaint.txtls")==False:
        os.system("echo 'domaint.txtls generate failed,Unexpected'")
        exit(0)
    naabu()
    if  os.path.exists("open-domain.txtls")==False or int(os.popen("cat open-domain.txtls|wc -l").read())==0: 
        os.system(" echo 'this domain-list do not exist available domain'") 
        continue
    httpx()
    if  os.path.exists("newurls.txtls")==False or int(os.popen("cat newurls.txtls|wc -l").read())==0:
        os.system("echo 'this domain-list do not exist available url'")
        continue

效果如下
请添加图片描述

漏洞攻击

这里还是使用fscan和nuclie
all exp

import os
import requests
from threading import Thread
os.system("cat domains.txtls |grep '*' >xing.txt")
os.system("sed -i 's/*.//' xing.txt")
os.system("cat domains.txtls |grep -v  '*' >no_xing.txt")
os.system("mv no_xing.txt domains.txtls ")
os.system("subfinder -dL xing.txt -silent >>domains.txtls ")
os.system("rm xing.txt")
os.system(f"cat domains.txtls|sort|uniq -u >test.txt")
os.system(f"mv test.txt domains.txtls")

file_lens=int(os.popen("cat domains.txtls | wc -l").read())
step=1000
def get_domains_every_round(start,end):
    os.system(f'sed -n "{start+1},{end}p" domains.txtls > domaint.txtls')

def naabu():
    os.system("naabu -stats  -rate 2000 -l domaint.txtls -p 80,443,8080,8000,8888,6379,6443,3306,6379 -o open-domain.txtls")

def httpx():
    os.system("httpx -stats  -rl 500 -l open-domain.txtls  -o newurls.txtls")

def nuclei():
    os.system("nuclei  -stats -et ssl/weak-cipher-suites.yaml  -l newurls.txtls -rl 500 -bs 35 -c 50  -mhe 10  -o res-tmp.txt  -severity critical,medium,high | notify -silent")
    if int(os.popen("cat res-tmp.txt|wc -l").read())>0:
        os.system("cat res-tmp.txt >>res-all-vulnerability-results.txt")
        os.system("rm res-tmp.txt")

def fscan():
    os.system("fscan  -uf  newurls.txtls")
    if  os.path.exists("result.txt")==False:
        return 
    os.system('cat result.txt|grep "\[+\]"|grep -v  "\[Cloudfront\]">sucess.txt')
    os.system("rm result.txt ")
    if int(os.popen("cat sucess.txt|wc -l").read())>0:
        os.system("cat sucess.txt >>res-all-vulnerability-results.txt")
        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=',json=content)

def clear():    
    os.system("rm -f open-domain.txtls")
    os.system("rm -f domaint.txtls")
    os.system("rm -f newurls.txtls")

for start in range(0,file_lens,step):
    end=min(start+step,file_lens)
    get_domains_every_round(start,end)
    if os.path.exists("domaint.txtls")==False:
        os.system("echo 'domaint.txtls generate failed,Unexpected'")
        exit(0)
    naabu()
    if  os.path.exists("open-domain.txtls")==False or int(os.popen("cat open-domain.txtls|wc -l").read())==0: 
        os.system(" echo 'this domain-list do not exist available domain'") 
        continue
    os.system("cat open-domain.txtls >>avaliabledomain.txtls")
    httpx()
    if  os.path.exists("newurls.txtls")==False or int(os.popen("cat newurls.txtls|wc -l").read())==0:
        os.system("echo 'this domain-list do not exist available url'")
        continue
    os.system("cat newurls.txtls >>avaliableurls.txtls")
    t1 = Thread(target=nuclei)
    t2 = Thread(target=fscan)
    t1.start()
    t2.start()
    t1.join()
    t2.join()
    clear()

这里我加了一个钉钉的机器人通知
大家可以根据自己的需求调整

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

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

相关文章

UI GameObject可以在Scene View中显示,但是在Game View不能显示

出现UI GameObject可以在Scene View中显示,但是在Game View不能显示这种问题,可能有很多种原因,例如Layer设定、Camera Clipping设定、font assets等问题。 对于TextMeshPro,还有Material Set的问题,见这篇文章。 而我…

PHP 8.2:它对 WordPress、插件和开发者意味着什么?

PHP 8.2.0于 2022 年 12 月 8 日首次亮相。作为一项重大更新,它带来了性能改进和更简单的语法。PHP 8.2 引入了更高的类型安全性作为一项功能,将null、false和true作为独立类型。可能挑战 WordPress 开发人员的最大变化之一是添加了只读类,它…

基于SSM/Layui框架的火影忍者风格学生宿舍管理系统

目录 1、项目简介 2、使用技术 3、功能介绍 实现的主要功能: 4、所有页面 基于SSM/Layui框架的火影忍者风格学生宿舍管理系统 1、项目简介 本项目是一套基于SSMLayui的高校宿舍管理系统,主要针对计算机相关专业的正在做毕业设计的学生和需要项目实…

搭建动态网站( Discuz论坛)

目录标题 搭建动态网站1.linux平台部署web服务2.配置web服务(1)安装web服务(2)根据配置定义加载网页资源文件的路径(3)根据配置创建资源文件(4)重启服务 3.部署mariadb数据库4.安装P…

【力扣周赛】第345场周赛

【力扣周赛】第345场周赛 6430: 找出转圈游戏输家题目描述解题思路 6431: 相邻值的按位异或题目描述解题思路 6433: 矩阵中移动的最大次数题目描述解题思路 6432: 统计完全连通分量的数量题目描述解题思路 6430: 找出转…

【Hello Algorithm】归并排序及其面试题

作者:小萌新 专栏:算法 作者简介:大二学生 希望能和大家一起进步 本篇博客简介:介绍归并排序和几道面试题 归并排序及其面试题 归并排序归并排序是什么归并排序的实际运用归并排序的迭代写法归并排序的时间复杂度 归并排序算法题小…

STM32F103 晶振问题详解

博主自制开发板,用的 STM32F103RCT6,设计时 8M 晶振并联了个 1M 电阻,实测发现: 1、软件延时 1s ,实际延时 9s,拆掉 1M 电阻问题消失。 2、部分代码下载进去后单片机不工作。(实测晶振不起振 o…

MySQL的高级语句

一、SQL高级语句 1、 SELECT 显示表格中一个或数个栏位的所有资料 语法:SELECT "字段" FROM "表名"; select * from test1; select name from test1; select name,sex from test1;2、DISTINCT 不显示重复的内容 语法:SELECT D…

win11安装java8后,jps、jvisualvm等jdk工具无法使用的问题

文章目录 基础环境1 找不到jps、jvisualvm等命令问题1.1 原因1.2 解决方案 2 jdk工具无法正常使用问题2.1 原因2.2 %TMP%\hsperfdata_username文件夹2.3 解决方案 基础环境 jdk-8u261-windows-x64,一直下一步,安装到d盘下 1 找不到jps、jvisualvm等命令…

华为基于dhcp snooping表的各种攻击防御

所有的前提是必须开启了dhcp snooping功能 一、dhcp 饿死攻击: 接口下或vlan下开启 dhcp snooping check dhcp-chaddr enable 开启二层源mac和chaddr一致性检测 dhcp snooping max-user-number 1 接口上手动配置的绑定成员数量(可选择项) …

C++常用函数语法

C常用函数详解 memset()函数字符串的插入和删除字符串替换解析字符串查询解析substr函数 memset()函数 memset 函数是内存赋值函数,用来给某一块内存空间进行赋值的。 其原型是:void* memset(void *_Dst, int _Val, size_t _Size) _Dst是目标起始地址&…

MySQL的日志管理,备份及恢复

一.MySQL 日志管理 MySQL 的日志默认保存位置为 /usr/local/mysql/data MySQL 的日志配置文件为/etc/my.cnf ,里面有个[mysqld]项 修改配置文件: vim /etc/my.cnf [mysqld] 1、错误日志 错误日志,用来记录当MySQL启动、停止或运行时发生…

chatGPT免费站点分享

下面的应该都能用,试试吧... ChatGPT是一种人工智能聊天机器人,能够生成虚拟语言和交互回复。使用ChatGPT,您可以与机器人进行真实的交互,让机器人根据您提出的问题或请求来生成回复。但是,在使用ChatGPT时&#xff0…

IOS上传到App Store教程

引言 大家都知道开发APP包含安卓和IOS,而安卓申请商家需要在各大厂家的开发者中心进行上传,比如华为、小米、魅族等等开发者中心。 而苹果只有一个官网,但是苹果要上传IPA(苹果的安装包)需要使用mac电脑进行上传,而我平时用的win…

vue3(setup语法糖)+typescript+echarts5大屏可视化项目(底部附源码地址)

最近在学习echarts5想结合着自己所学的vue3ts结合起来做个demo, 效果图如下: 登录页 首页: 每个模块支持放大全屏的功能 踩坑: echarts实例化不建议使用ref,echarts内部机制导致的在main.ts中将echarts挂载到app的实例上 let app createApp(App) app.config.globalPrope…

企业战略管理:精要

一、企业战略管理的概念与流派 国内外学者对企业战略和企业战略管理的各种理解— 安索夫:企业在确定战略前,应该先确定自己的经营性质安德鲁斯:企业战略管理是一个决策模式,决定企业的目标,提出实现目标的方针和计划&…

新能源 石油化工 HJL-98/B数字式电流继电器 瞬时动作,过负荷、短路保护 JOSEF约瑟

名称:数字式交流电流继电器,品牌:JOSEF约瑟,型号:HJL-98/B,动作电流:30500mA,工作电压:AC220V/AC380V,安装方式:柜内导轨,零序孔径&am…

基于STM32F103C8T6的物联网温湿度光照烟雾监测系统

1、系统组成:STM32F103C8T6最小系统、S8050三极管、有源高电平触发蜂鸣器、ESP8266_01S模块、DHT11温湿度传感器、0.96OLED显示屏、BH1750光照度传感器、MQ2烟雾浓度传感器、LED灯、碳膜电阻(300欧)、独立按键、排针若干、杜邦线若干、微信小…

使用docker构建并部署MySQL5.7镜像

使用docker构建并部署MySQL5.7镜像 前言一、docker中部署MySQL主要有哪几种方式?二、CentOS 镜像中构建 MySQL 容器1.编写Dockerfile2.初始化MySQL 三、MySQL 官方镜像中构建容器1. 拉取官方镜像2. 运行镜像3. 配置镜像外网访问 四、MySQL 容器初始化脚本1. 将sql文…

一不小心,你就掉进了Spring延迟初始化的坑!

前言 书接上回&#xff0c;之前我们有聊到 Spring 的延迟初始化机制&#xff0c;是什么&#xff0c;有什么作用。今天跟各位大佬分享一下&#xff0c;我在使用 Spring 延迟初始化踩过的一些坑。 List<坑> 坑列表 new ArrayList<>(2); 首先&#xff0c;让我们回顾…