日常渗透刷洞的一些小工具

news2024/9/27 15:32:57

SecurityServiceBox:一个Windows平台下既可以满足安服仔日常渗透工作也可以批量刷洞的工具盒子

0x00 更新·题外话—终端选取

在盒子的tools当中,很多工具运行都是带有颜色标识的,例如nuclei, vulmap,原生的cmd终端虽然方便快捷,但因为平台环境的不同导致运行时颜色选项显示成一堆杂乱的字符,十分影响观感。所以说下题外话供参考。

自从微软更新了Windows Terminal之后,将其替换默认cmd都是最好的选择,但是很可惜替换默认的功能仅适用于Win11和Win10的特定版本,而不满足的版本无法通过Terminal的设置替换默认cmd。

所以只能退而求其次,选用cmder工具。

通过管理员设置Cmder.exe /REGISTER ALL注册,可以达到右键打开的功能,如下:

替换后的效果:

 此时运行只需要在Cmder对话框切换,不需要再使用Windows的任务栏一个一个打开看。

当然,终端cmd仅是为了美化,看起来好看一些,除Cmder之外还有很多更好用的代替工具,娱乐之余,仅供参考。

0x01 前言

作为一个安服仔,日常渗透中,不同阶段所使用的工具是不同的,除开自动化一条龙的脚本之外,很多时候是需要反复的进入不同的文件夹运行不同的命令,每次使用工具的时候命令可能也是一样的,那么是否有种方式将常用的工具,常用的命令集成在一起,渗透的时候仅需给定目标,就可以调用工具自动执行命令。之前流行过的GUI_Tools是一个,有了图形化页面,点击即可运行,但是一个是在Windows环境下界面实在不敢恭维,一个是无法更好的交互(或者也许我没找到交互的方式)。后来无意间发现了阿浪师傅写的一个自用的命令行调用工具,也就是Wanli的初始版本。最开始也在公众号文章说过,最初的设定是“把常用的工具给做了一个调用整合到一个程序内,功能拓展比较方便,目前是根据自己的一些习惯写的,比如目录扫描、子域名爆破+验证、漏洞扫描”。就相当于一个快捷启动工具,与GUI_Tools不同的是,Wanli可以更好的交互,执行自定义的命令。当然,并无比较的意思,两个师傅的工具都有在用(手动狗头 :)。

Wanli的项目地址:https://github.com/ExpLangcn/WanLi‣

与最初的版本不同,最新的Wanli定位发生了变化,由自用的调度工具变为了偏向红队的收集漏扫一体化工具,效果同样顶呱呱。本篇文章依据Wanli的初始版本。

0x02 运行截图

运行主界面:

基于Win环境下运行cmd /k 即可新开cmd窗口,除collect_subdomain之外,其余工具均可无需等待当前命令执行结束直接执行下一条命令。且支持TAB键关键字自动补全。

动态截图:

 命令执行结束后,在results文件夹下可查看输出的报告(Finger扫描的结果在tools/collect/finger/output文件夹内)

0x03 集合

目前为止,工具集合了常见的域名收集、目录扫描、ip扫描、指纹扫描、PoC验证等常用工具,具体如下:

域名收集:

  • subfinder:subfinder(github.com)

  • ksubdomain:knownsec/ksubdomain: 无状态子域名爆破工具 (github.com)

指纹扫描:

  • Finger:EASY233/Finger: 一款红队在大量的资产中存活探测与重点攻击系统指纹探测工具 (github.com)

ip扫描:

  • smap:s0md3v/Smap: a drop-in replacement for Nmap powered by shodan.io (github.com)

  • fscan:shadow1ng/fscan: 一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。(github.com)

  • goon: (github.com)

目录扫描:

  • dirsearch:maurosoria/dirsearch: Web path scanner (github.com)

  • ffuf:ffuf/ffuf: Fast web fuzzer written in Go (github.com)

PoC扫描:

  • afrog:zan8in/afrog: 一个挖洞工具 - A tool for finding vulnerabilities (github.com)

  • autoxray:内置,xray basic爬虫模式自动批量扫描

  • nuclei:projectdiscovery/nuclei: Fast and customizable vulnerability scanner based on simple YAML based DSL. (github.com)

  • pocsearch:内置,搜索CVE编号漏洞的poc/exp在Github的地址

  • rad:chaitin/rad (github.com)

  • vulmap:zhzyker/vulmap: Vulmap 是一款 web 漏洞扫描和验证工具, 可对 webapps 进行漏洞扫描, 并且具备漏洞验证功能 (github.com)

  • xrad:内置,xray和rad联动扫描

中间件检测利用:

  • Shiro: https://github.com/j1anFen/shiro_attack

  • Struts2

  • ThinkPHP

  • Weblogic:https://github.com/21superman/weblogic_exploit

  • 通达OA

socks5代理:

  • RotateProxy:akkuman/rotateproxy: 利用fofa搜索socks5开放代理进行代理池轮切的工具 (github.com)

其他工具:

  • AppInfoScanner:https://github.com/kelvinBen/AppInfoScanner

  • frida-skeleton:https://github.com/Margular/frida-skeleton

  • Packer-Fuzzer:https://github.com/rtcatc/Packer-Fuzzer

0x04 定位

如前言中所说,此框架仅仅是把渗透的常用工具集成进来,作为一个快速启动,并将输出统一到同一项目文件夹下,方便安全测试人员快速高效展开渗透测试。所以定位就是渗透盒子,辅助工具。但通过将subfinder、ksubdomain、finger整合,通过一条命令也可做到资产收集验证指纹扫描,结合PoC扫描验证也可进行批量刷洞。

0x05 安装

拉取项目

依赖于Py3.6以上版本

git clone https://github.com/givemefivw/SecurityServiceBox.gitcd SecurityServiceBoxpip install -r requirements.txtpython main.py

下载工具

考虑到安全性,项目里面未存放tools,需自行将工具下载至本地,若是信得过,可直接下载网盘

下载链接:https://pan.baidu.com/s/1gGRa9qmRMLkWUSYokUE6zw?pwd=7nf8 提取码: 7nf8

0x06 增删改查

得益于阿浪师傅的框架,仅需四步即可实现工具的增删改查:

Step 1 下载所需工具

将工具下载至项目的tools文件夹下,可根据工具的功能进行分类,例如以下pocScan文件夹下存放的是nuclei、vulmap等poc扫描工具:

Step 2 添加config参数

修改config/config.py中,将新增的工具的路径添加进去,除python环境的绝对路径之外,其余工具推荐使用相对路径,由于是Win环境,在添加exe工具时,需要使用\\\\符号防止转义:

Step 3 注册参数

例如想添加pocscan_nuclei扫描,那么我们只需在main.py里面添加如下代码:

pocscan_nuclei_parser = Cmd2ArgumentParser()    pocscan_nuclei_parser.add_argument("-u", nargs='?', help="扫描单个目标")    pocscan_nuclei_parser.add_argument("-f", nargs='?', help="指定文本进行批量漏洞扫描")    pocscan_nuclei_parser.add_argument("-p", nargs='?', help="设置socks代理进行批量漏洞扫描")    @cmd2.with_argparser(pocscan_nuclei_parser)

此时即可完成参数的注册及帮助信息。

Step 4 添加命令

lib/cmd/wanli.py文件中,定义预期执行的命令,例如添加nuclei批量扫描,通过system函数,调用config文件中定义的路径中的工具,执行拼接好的完整命令,增加或修改如下代码:​​​​​​​​​​​​​​

@staticmethod    def nuclei_file(file):        system(config.config.pocscan_nuclei + " -ut && " + config.config.pocscan_nuclei + " -update")        system(r"start cmd /k " + config.config.pocscan_nuclei + r" -l " + file +               " -s medium,high,critical -rate-limit 100 -bulk-size 25 "               "-concurrency 25 -stats -si 300 -retries 3")

 此时就完成了一个工具执行的添加

Step 5 引用命令

最后一步,在main.py函数里面,添加调用:​​​​​​​

def do_pocscan_nuclei(self, args):        '''nuclei进行漏洞扫描'''        if args.u:            url = args.u            lib.cmd.wanli.PocScan.nuclei_single(url)        if args.f:            file = args.f            lib.cmd.wanli.PocScan.nuclei_file(file)        if args.p:日常渗透刷洞的一些小工具​​​​​​​            proxy = args.p            lib.cmd.wanli.PocScan.nuclei_proxy(proxy)

至此,新的集合添加完毕,只需运行main.py,在控制台输入pocscan_nuclei -f url.txt接着回车,就可以调用nuclei执行完整的命令。

工具获取 (见项目地址):

日常渗透刷洞的一些小工具icon-default.png?t=MBR7https://mp.weixin.qq.com/s/DatpsdvuYWBizeFiv8-8vw

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

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

相关文章

MD5有哪些特性,常用的MD5加密真的安全吗

在密码学中,MD5是比较常用的算法之一。大家都知道MD5曾一度被认为十分安全,并且在国内外得到广泛适用。然而,王小云教授的研究证明利用MD5算法的磕碰能够严重威胁信息体系安全,因此引发了密码学界的轩然大波。那么,关于…

为什么JDK中String类的indexof不使用KMP或者Boyer-Moore等时间复杂度低的算法编辑器

indexOf底层使用的方法是典型的BF算法。 1、KMP算法 由来 外国人: Knuth,Morris和Pratt发明了这个算法,然后取它三个的首字母进行了命名。所以叫做KMP。 KMP真的很难理解,建议多看几遍 B站代码随想录,文章也的再好 …

【蓝桥杯备赛系列 | 真题 | 简单题】2014年第五届真题-分糖果

🤵‍♂️ 个人主页: 计算机魔术师 👨‍💻 作者简介:CSDN内容合伙人,全栈领域优质创作者。 蓝桥杯竞赛专栏 | 简单题系列 (一) 作者: 计算机魔术师 版本: 1.0 &#xff08…

【博客597】iptables如何借助连续内存块通过xt_table结构管理流量规则

iptables如何借助连续内存块通过xt_table结构管理流量规则 1、iptables 分为两部分: 用户空间的 iptables 命令向用户提供访问内核 iptables 模块的管理界面。内核空间的 iptables 模块在内存中维护规则表,实现表的创建及注册。 2、iptables如何管理众…

第十二章 数据库设计

前言 本文章为看视频所写。 视频链接:168. 14.1 数据库设计前言_哔哩哔哩_bilibili 目录 前言 章节提要 一、数据库设计过程 二、E-R模型 三、答题技巧 四、案例分析 1、案例1 二、案例2 章节提要 一、数据库设计过程 ER模型:是实体联系模型&#x…

第一章 数据结构绪论

数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间关系和操作等相关问题的学科。程序设计数据结构算法数据:是描述客观事物的符号,是计算机中可…

2.2、进程的状态与转换

整体框架 1、三种基本状态 进程是程序的一次执行。在这个执行过程中,有时进程正在被 CPU 处理,有时又需要等待 CPU 服务, 可见进程的状态是会有各种变化。 为了方便对各个进程的管理,操作系统需要将进程合理地划分为几种状态 ①…

随机梯度下降法的数学基础

梯度是微积分中的基本概念,也是机器学习解优化问题经常使用的数学工具(梯度下降算法)。因此,有必要从头理解梯度的来源和意义。本文从导数开始讲起,讲述了导数、偏导数、方向导数和梯度的定义、意义和数学公式&#xf…

SpringBoot-自动配置-切换内置web服务器

SpringBoot-自动配置-切换内置web服务器 介绍 SpringBoot的web环境中默认使用tomcat作为内置服务器其实SpringBoot提供了4种内置服务器供我们选择分别为:Jetty,Netty,Tomcat,Undertow我们可以很方便的进行切换 实例演示 在pom文件…

简单了解操作系统、进程内存管理

目录 前言: 一、操作系统: 操作系统的定位: 应用程序: 系统调用: 操作系统内核: 驱动程序: 硬件设备: 二、进程: 什么是进程? 进程的描述与组…

自定义类型,结构体、枚举、联合(C语言)

目录 结构体 结构体的基础知识: 结构体的声明: 特殊声明: 结构体的自引用 结构体变量的定义和初始化 结构体内存对齐: 修改默认对齐数: 结构体传参 结构体的柔型数组 柔型数组的书写 柔性数组的特点 柔性数组的使用 柔…

【Java寒假打卡】JavaWeb-Tomcat

【Java寒假打卡】JavaWeb-Tomcat服务器Tomcat下载和安装Tomcat的目录结构基本使用控制台乱码的问题IDEA集成TomcatJavaWeb项目的目录结构Tomcat-idea发布项目Tomcat-WAR包发布项目Tomcat配置文件的介绍Tomcat配置虚拟目录Tomcat配置虚拟主机服务器 Tomcat下载和安装 将下载好的…

干货 | 数据安全和个人信息保护审计的方法研究

以下内容整理自清华大学《数智安全与标准化》课程大作业期末报告同学的汇报内容。第一部分:概述我们的研究核心是个人信息保护合规审计,具体指个人信息处理活动是否遵守我国相关法律法规的监督性审计。在个保法出台后,我国形成了以内部审计为…

我用ChatGPT写神经网络:一字不改,结果竟很好用

自从去年底推出以来,对话式 AI 模型 ChatGPT 火遍了整个社区。 ChatGPT 的确是一个了不起的工具,就像一个「潘多拉魔盒」。一旦找到正确的打开方式,你或许会发现,自己再也离不开它了。 作为一个全能选手,人们给 Chat…

Fedora 38发布Budgie与Sway定制版

导读两款新的 Fedora 定制版将在 Fedora 38 发布时首次亮相。我们期待着它们在 Fedora 37 时出现,但在 Fedora 38 中终于来了! 早在 2022 年 5 月,Budgie 项目的主要开发者 Joshua Strobl ​​宣布​​,Budgie 已被提交到 Fedora…

第五届字节跳动青训营 前端进阶学习笔记(四)TypeScript入门

文章目录前言TypeScript概要1.什么是TypeScript2.TypeScript基本语法基础数据类型对象类型函数类型函数重载数组类型补充类型泛型约束和泛型默认参数类型别名和类型断言高级类型1.联合类型2.交叉类型3.类型守卫类型谓词总结前言 课程重点: TypeScript概要TypeScri…

Kubernets核心介绍及实战

1、资源创建方式 命令行YAML 2、Namespace 名称空间用来隔离资源 “namespace"通常被翻译为「命名空间」,听起来好像比较抽象,其实重点是在这个"space”。它和描述进程的虚拟地址空间的address space一样,都是提供一种独占的视角…

linux引导和启动程序

1.BIOS/Bootloader: 一上电,硬件强制让cpu的cs:ip寄存器指向bios程序的位置,从bios程序开始执行,由pc机的BIOS (0xFFFFO是BIOs存储的总线地址)把bootsect从某个固定的地址拿到了内存中的某个固定地址(0x90…

SpringAMQP快速入门

介绍Spring AMQP 项目将核心 Spring 概念应用于基于 AMQP 的消息传递解决方案的开发它提供了一个“模板”作为发送和接收消息的高级抽象它还通过“侦听器容器”为消息驱动的 POJO 提供支持这些库促进了 AMQP 资源的管理,同时促进了依赖注入和声明性配置的使用包含两…

纷享销客华为云CXO思享会华东系列活动成功举办!

3天,3座城市,5家标杆企业,11位不同领域的专家,超百位企业家云集。1月10日-13日,纷享销客与华为云联合举办的“数字创新 高效增长”CXO思享会华东系列活动成功举办。全国各地超百名企业家齐聚华东参与本次思享会&#x…