【网安神器篇】——系统指纹探测工具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是什么 二.游戏代码效果呈现 三.主代...
Dify 文本语意识别与智能补全实战指南
1. 认识Dify平台与文本语意识别 第一次接触Dify时,我就被它的"零代码"特性惊艳到了。这个平台把复杂的AI能力封装成了像搭积木一样简单的模块,特别是它的文本语意识别功能,能准确理解用户输入的半句话甚至几个关键词。比如用户输入…...
SEO_为什么你的网站需要SEO?关键原因解析
<h3 id"seoseo">SEO:为什么你的网站需要SEO?关键原因解析</h3> <p>在当今数字化时代,拥有一个网站是企业或个人展示品牌、产品和服务的重要途径。仅仅拥有一个网站并不足以吸引足够的访问量和客户。这时,SEO&…...
WebGLInput:重构Unity WebGL输入体验的革命性方案
WebGLInput:重构Unity WebGL输入体验的革命性方案 【免费下载链接】WebGLInput IME for Unity WebGL 项目地址: https://gitcode.com/gh_mirrors/we/WebGLInput 在Unity WebGL开发中,输入法支持一直是开发者面临的核心挑战之一。WebGLInput项目通…...
从KITTI到TUM:利用evo工具链实现轨迹真值的格式转换与可视化分析
1. 理解KITTI与TUM轨迹格式的本质差异 第一次接触SLAM评估时,我被各种轨迹格式搞得头晕眼花。KITTI和TUM这两种最常见的格式,就像两个说着不同方言的技术专家。KITTI格式简单粗暴,直接记录12个数字代表相机的位姿变换矩阵(去掉最后…...
树莓派5跑n8n稳吗?实测Docker部署性能与避坑指南(Ubuntu 24.04 + 安全加固)
树莓派5实战:n8n工作流自动化平台的Docker部署与性能调优指南 在物联网与自动化技术蓬勃发展的今天,如何以最低成本构建稳定可靠的工作流自动化系统成为许多开发者和企业关注的重点。树莓派5凭借其出色的性价比和低功耗特性,配合Docker容器化…...
C++ sort函数进阶指南:如何优雅地自定义结构体排序规则
C sort函数进阶指南:如何优雅地自定义结构体排序规则 在C开发中,数据排序是一个永恒的话题。当我们需要处理复杂数据结构时,标准库提供的默认排序方式往往无法满足需求。这时,掌握sort函数的高级用法就显得尤为重要。本文将深入探…...
收藏!2026非科班/转行小白必看:3步切入AI大模型,月薪30w+实战路径
2026年的职场赛道,AI大模型依旧是绝对的“黄金风口”。 最新行业报告显示,AI相关岗位需求逆势增长37%,薪资领跑全行业,大厂校招起薪普遍突破25k。但一个残酷的现实是: 太多非科班、半路转行的程序员,还在门…...
PyTorch 2.8镜像多场景落地:在线教育平台个性化习题生成引擎部署
PyTorch 2.8镜像多场景落地:在线教育平台个性化习题生成引擎部署 1. 教育行业的AI转型机遇 在线教育行业正面临个性化学习的迫切需求。传统题库系统存在内容同质化、更新成本高、难以匹配学生个体差异等问题。基于PyTorch 2.8构建的个性化习题生成引擎,…...
深度学习项目训练环境多场景落地:中小企业AI研发团队低成本GPU训练环境方案
深度学习项目训练环境多场景落地:中小企业AI研发团队低成本GPU训练环境方案 1. 环境准备与快速上手 对于中小企业的AI研发团队来说,搭建一个稳定可靠的深度学习训练环境往往是个头疼的问题。硬件成本高、环境配置复杂、依赖库冲突等问题经常让团队望而…...
Cadence原理图网表导入Allegro PCB的5个关键步骤与避坑指南(2024最新版)
Cadence原理图网表导入Allegro PCB的5个关键步骤与避坑指南(2024最新版) 在电子设计自动化(EDA)领域,Cadence和Allegro的协同工作流程是硬件工程师日常开发的核心环节。网表作为连接原理图设计与PCB布局的桥梁…...
