【网安神器篇】——系统指纹探测工具finger
作者名:白昼安全
主页面链接: 主页传送门
创作初心: 以后赚大钱
座右铭: 不要让时代的悲哀成为你的悲哀
专研方向: web安全,后渗透技术
每日鸡汤: 我不想停下,因为这次出发的感觉太好了
一、介绍
Finger定位于一款红队在大量的资产中存活探测与重点攻击系统指纹探测工具。在面临大量资产时候Finger可以快速从中查找出重点攻击系统协助我们快速展开渗透。
早有前辈贡献出优秀的作品[EHole(棱洞)2.0 重构版-红队重点攻击系统指纹探测工具 但是现在也没有师傅维护了,而且由于fofa的域名更换,导致ehole完全不能用,需要重新编译,所以作者就决定使用其指纹库自行开发一个趁手的工具。
二、下载
GIthub项目地址如下
https://github.com/EASY233/Finger
Finger使用python3.7开发全平台支持,可以使用下面命令下载使用:
下载步骤:(存在git的前提下使用)
git clone https://github.com/EASY233/Finger.gitpip3 install -r requirements.txtpython3 Finger.py -h
注意:finger这个工具使用了mmh3库,但是这个库只支持3.7到3.9的python版本安装,而且已经很久没人维护了
如果你的python版本不是3.7到3.9,那么安装依赖时就会报如下的错误
error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": http://landinghub.visualstudio.com/visual-cpp-build-tools
提示你缺少c++的编译程序,此时只要去下载一个visual studio2015,安装的时候添加c++组件就可以了,visual studio 2019我试的时候也可以,其他的版本就不太清楚,安装后再去执行如下
pip3 install mmh3
就可以成功安装了
三、使用
Finger追求极简命令参数只有以下几个:
-u 对单个URL进行指纹识别
-f 对指定文件中的url进行批量指纹识别
-i 对ip进行fofa数据查询采集其web资产
-if 对指定文件中的ip批量调用fofa进行数据查询采集其web资产
-fofa 调用fofa api进行资产收集
-quake 调用360 quake进行资产收集
-o 指定输出方式默认不选择的话是xlsx格式,支持json,xls。
Finger支持的URL格式有:www.baidu.com , 127.0.0.1,http://www.baidu.com。 但是前两种不推荐使用Finger会在URL处理阶段自动为其添加http://和https://
Finger支持的IP格式有单个IP格式192.168.10.1,IP段192.168.10.1/24,某一小段IP192.168.10.10-192.168.10.50满足日常使用的所有需求。Finger会首先通过Fofa采集IP的web资产,然后对其进行存活探测以及系统指纹探测。
四、配置
默认线程数为30实际需要修改可以在config/config.py中进行修改,调用api查询功能需要从配置文件修改为自已对应的 api信息。
# 设置线程数,默认30
threads = 30
# 设置Fofa key信息
Fofa_email = ""
Fofa_key = ""
# 普通会员API查询数据是前100,高级会员是前10000条根据自已的实际情况进行调整。
Fofa_Size = 100
# 设置360quake key信息,每月能免费查询3000条记录
QuakeKey = ""
# 是否选择在线跟新指纹库,默认为True每次程序都会检查一遍指纹库是否是最新
FingerPrint_Update = True
五、演示
我这里是已经配置了fofa的key,所以使用如下命令就可以使用fofa服务了
python3 Finger.py -fofa
会提示你输入关键词信息,也就是上面支持的单个ip,一小段ip,ip段,输入之后就会开始探测,如下
探测资产结束后会默认把结果保存到xlsx文档中,如下
来看看保存下来的xlsx文件的内容,如下
可以看到finger帮我们把目标涉及的域名,站点标题,cms系统,服务,返回码,ip地址,判断是否存在cdn,基本的一个目标ip地址,对我们红队的快速资产整理有很大的帮助
我们根据识别到的cms去找对应的漏洞即可,首先就是去网上到这个cms的一些纰漏出来的poc,或者github上看有没有对应的exp工具
这个工具在我平时的edusrc挖掘和src项目挖掘中有很大的作用,写这篇博客也是想将这个工具推荐给大家
相关文章:
【网安神器篇】——系统指纹探测工具finger
作者名:白昼安全主页面链接: 主页传送门创作初心: 以后赚大钱座右铭: 不要让时代的悲哀成为你的悲哀专研方向: web安全,后渗透技术每日鸡汤: 我不想停下,因为这次出发的感觉太好了一…...
Prometheus离线tar包安装
Prometheus离线tar包安装实验环境一、部署前操作二、Master2.1下载2.2解压2.3更改服务目录名称2.4创建系统服务启动文件2.5配置修改2.6启动并设置开机自启2.7访问2.8添加node节点2.8.1 添加方法2.8.2修改Prometheus配置(Master)————————————…...
PostgreSQL查询引擎——SELECT STATEMENTS SelectStmt
SelectStmt: select_no_parens %prec UMINUS| select_with_parens %prec UMINUS select_with_parens:( select_no_parens ) { $$ $2; }| ( select_with_parens ) { $$ $2; } 该规则返回单个SelectStmt节点或它们的树,表示集合操作树(set-operation tree…...
零信任-易安联零信任介绍(11)
目录 易安联零信任公司介绍 易安联零信任发展路线 易安联零信任产品介绍 易安联零信任架构 易安联零信任解决方案 易安联零信任发展展望 易安联零信任公司介绍 易安联是一家专业从事网络信息安全产品研发与销售,是行业内领先的“零信任”解决方案提供商&…...
C++ STL——map和set的使用
文章目录1. 关联式容器1.1 键值对1.2 树形结构的关联式容器2. set2.1 set的介绍2.2 set的插入2.3 set的删除和查找2.4 lower_bound和upper_bound3. multiset3.1 count4. map4.1 map的介绍4.2 map的插入4.3 map的遍历4.4 map的[ ]5. multimap1. 关联式容器 我们之前学的vector、…...
【Python】thread使用
目录1、Condition条件变量使用2、event通信3、Semaphore信号量使用4、setDaemon设置守护线程5、threadPool_map使用6、threadPool使用7、threadingTimer1、Condition条件变量使用 # encoding:utf-8 Condition 提供了一种多线程通信机制, 假如线程 1 需要数据&#…...
计网传输层协议:UDP和TCP
文章目录一. 应用层和传输层的联系二. UDP协议三. TCP协议1. TCP报头介绍2. TCP实现可靠传输的核心机制2.1 确认应答2.2 超时重传3. 连接管理(三次握手, 四次挥手)3.1 建立连接(三次握手)3.2 断开连接(四次挥手)4. 滑动窗口5. 流量控制6.拥塞控制7. 延时应答8. 捎带应答9. 面向…...
一文讲明TCP网络编程、Socket套接字的讲解使用、网络编程案例
文章目录1 Socket讲解2 基于Socket的TCP编程3 客户端Socket的工作过程包含以下四个基本的步骤3.1 客户端创建Socket对象4 服务器程序的工作过程包含以下四个基本的步骤:4.1 服务器建立ServerSocket对象5 案例实现 客户端和服务端通信5.1 代码实现5.2 实现结果6 更多…...
Java中print和println的区别
1 问题在最开始学习Java的时候学到soutenter键可以输出结果,显示的是System.out.println();而在Python中是直接使用print。那么在Java中print和println有什么区别?2 方法Print输出会自动将括号中的内容转换成字符串输出,如果括号中…...
RocketMq使用规范(纯技术和实战建议)
概述: 使用规范主要从,生产、可靠性、和消费为轴线定义使用规范;kafka使用核心:削峰、解耦、向下游并行广播通知(无可靠性保证)和分布式事务,本规范仅从削峰、解耦、向下游并行广播通知论述&am…...
matlab离散系统仿真分析——电机
目录 1.电机模型 2.数字PID控制 3.MATLAB数字仿真分析 3.1matlab程序 3.2 仿真结果 4. SIMULINK仿真分析 4.1simulink模型 4.2仿真结果 1.电机模型 即: 其中:J 0.0067;B 0.10 2.数字PID控制 首先我们来看一下连续PID࿱…...
一文学会进程控制
目录进程的诞生fork函数fork的本质fork的常规用法fork调用失败的原因进程的死亡进程退出的场景常见的进程退出方法正常终止(代码跑完)echo $?main函数返回调用exit调用_exitexit和_exit的区别进程等待进程等待的重要性进程等待的函数waitwaitpid进程退出…...
5.2 BGP水平分割
5.2.2实验2:BGP水平分割 1. 实验目的 熟悉BGP水平分割的应用场景掌握BGP水平分割的配置方法 2. 实验拓扑 实验拓扑如图5-2所示: 图5-2:BGP水平分割 3. 实验步骤 (1)配置IP地址 R1的配置 <Huawei>…...
华为OD机试 - TLV 编码 | 备考思路,刷题要点,答疑 【新解法】
最近更新的博客 【新解法】华为OD机试 - 关联子串 | 备考思路,刷题要点,答疑,od Base 提供【新解法】华为OD机试 - 停车场最大距离 | 备考思路,刷题要点,答疑,od Base 提供【新解法】华为OD机试 - 任务调度 | 备考思路,刷题要点,答疑,od Base 提供【新解法】华为OD机试…...
【C语言每日一题】——猜名次
【C语言每日一题】——猜名次😎前言🙌猜名次🙌解题思路分享:😍解题源码分享:😍总结撒花💞😎博客昵称:博客小梦 😊最喜欢的座右铭:全神…...
Agilent E4982A、Keysight E4982A、LCR 表,1 MHz 至 3 GHz
Agilent E4982A、Keysight E4982A、HP E4982A LCR 表,1 MHz 至 3 GHz 产品概览 KEYSIGHT E4982A(安捷伦) Keysight E4982A LCR 表为需要高频(1 MHz 至 3 GHz)阻抗测试的无源元件制造行业提供一流的性能,…...
SAP 系统的配置传输
在SAP项目的实施过程中,经常会遇到关于配置传输的问题。即我们在某个client下面做系统配置,配好了之后再传到其他系统之中。 配置传输分为两种情况:同服务器配置传输,异服务器配置传输。同服务器配置传输: 在DEV配置cl…...
华为OD机试 - 喊七(Python)
喊七 题目 喊 7,是一个传统的聚会游戏, N 个人围成一圈,按顺时针从1 - 7编号, 编号为1的人从1开始喊数, 下一个人喊得数字是上一个人喊得数字+1, 但是当将要喊出数字7的倍数或者含有7的话, 不能喊出,而是要喊过。 假定N个人都没有失误。 当喊道数字k时, 可以统计每…...
Docker下快速搭建RabbitMQ单例及集群
引子生命在于折腾,为上数据实时化用到了消息传送的内容,当时也和总公司人员商量选型,kafka不能区分分公司就暂定用了RbtMQ刚好个人也在研究容器及分布式部署相关内容就在docker上实践单机 docker(要想快 先看问题 避免踩坑&#x…...
python代码写开心消消乐
♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放,树高千尺,落叶归根人生不易,人间真情 目录 一.python是什么 二.游戏代码效果呈现 三.主代...
【郭东白架构课 模块一:生存法则】09|法则四:为什么要顺应技术的生命周期?
你好,我是郭东白。今天我们来讲架构师的第四条生存法则,那就是尊重技术的生命周期。 人类的各种活动都要遵循事物的客观生命周期。不论是农业社会种田打渔,还是资本社会投资创业,行动太早或太晚,都会颗粒无收。技术也…...
Linux之进程控制
一.进程创建 1.1 fork函数 我们创建进程的方式有./xxx和fork()两种 在linux中fork函数时非常重要的函数,它从已存在进程中创建一个新进程。新进程为子进程,而原进程为父进程。 #include <unistd.h> pid_t fork(void); 返回值:自进程…...
SpringBoot社区版专业版带你配置热部署
💟💟前言 友友们大家好,我是你们的小王同学😗😗 今天给大家打来的是 SpringBoot社区版专业版带你配置热部署 希望能给大家带来有用的知识 觉得小王写的不错的话麻烦动动小手 点赞👍 收藏⭐ 评论…...
影响AFE采样精度的因素有哪些?
**AFE(Analog Front End)**是模拟前端电路的缩写,它是模拟信号传感器和数字信号处理器之间的连接点。AFE采样精度是指模拟信号被数字化后的准确度,对于很多电子设备来说,这是一个至关重要的性能指标。本文将介绍影响AF…...
mysqlbackup备份报error:redo log was overwritten
问题原因 备份时redo log被覆盖 解决方案 方法1:增加innodb_log_file_size、innodb_log_files_in_group大小,需要重启数据库 vi my.cnf innodb_log_file_size 2G innodb_log_files_in_group 4 方法2: 动态配置redo log archive,不需要重启…...
Android支持库
# 支持库 注意:Android 9.0(API 级别 28)发布后,新版支持库 AndroidX 也随之诞生,它属于 Jetpack。除了现有的支持库,AndroidX 库还包含最新的 Jetpack 组件。 您可以继续使用此支持库以往的工件(这里指的是版本 27 及更早版本,且已打包为 android.support.*)在 Googl…...
Vue:filters过滤器
日期、时间格式化是Vue前端项目中较为常遇到的一个需求点,此处,围绕Vue的过滤器来介绍如何更为优雅的解决此类需求。 过滤器filters使用注意点 Vue允许开发者自定义过滤器,可以实现一些常见的文本格式化等需求。 使用时要注意的点在于&#…...
Windows环境下安装和配置Gradle
1. 概述 Gradle是Google公司基于JVM开发的一款项目构建工具,支持Maven,JCenter多种第三方仓库,支持传递性依赖管理,使用更加简洁和支持多种语言的build脚步文件,更多详情可以参阅Gradle官网 2. 下载 由于Gradle与S…...
数据结构时间空间复杂度笔记
🕺作者: 迷茫的启明星 本篇内容:数据结构时间空间复杂度笔记 😘欢迎关注:👍点赞🙌收藏✍️留言 🏇家人们,码字不易,你的👍点赞🙌收藏❤…...
基于注意力的知识蒸馏Attention Transfer原理与代码解析
paper:Paying More Attention to Attention: Improving the Performance of Convolutional Neural Networks via Attention Transfercode:https://github.com/megvii-research/mdistiller/blob/master/mdistiller/distillers/AT.py背景一个流行的假设是存…...
有域名有空间如何做网站/网站建设优化
近期客服遇到一个问题,说看不到千牛聊天记录了,本来聊过的客户,打开对话框聊天记录显示的是空白的,点击历史聊天记录也是空白的。问我应该怎么解决,我梳理了一下解决的方法,希望能对大家有帮助。如图&#…...
良精网站管理系统/盛大游戏优化大师
文件 > 首选项 > 用户代码片段 > 新建全局代码片段/或文件夹代码片段:vue-html.code-snippets 再将出现的部分替换为下面的片段 {"vue htm": {"scope": "html","prefix": "vuehtml","body":…...
可以做公司网站/创建网站
题目链接 题目大意 一个人要睡n次,一天有h个小时,可以选择睡a[ i ]个小时或者a[ i ]-1个小时,起来之后又马上睡。 如果起来的时间在L和R中间(闭区间),则答案加1,求最大的答案。 题目思路 显…...
西安做网站的公司电话/深圳优化公司哪家好
同步发表:http://blog.hacktons.cn/2017/12/13/shell-func-return/ 背景 通过shell编程,写一些工具批处理的时候,经常需要自定义函数。更复杂点的情况下,可能有需要返回一个值。 由于在shell的世界中,并不像其他编程语…...
wordpress 网站图标设置方法/网络推广如何收费
注:可以通过 yum grouplist 来查看可能批量安装哪些列表从Windows转到Linux下面,一个不习惯的地方就是在图形界面下安装和删除软件的时候非常缓慢。但是如果你掌握了用yum的命令行模式进行 配置程序,你肯定会从心底喜欢上这个强大的工具。因为…...
滕州网站建设制作/最近国家新闻
01 设置导航首页 不修改Welcode页,只修改导航首页。 src\chrome\browser\ui\startup\startup_tab_provider.cc StartupTabs StartupTabProviderImpl::GetNewTabPageTabsForState(const SessionStartupPref& pref) {StartupTabs tabs;if (pref.type ! SessionS…...