All Projects → asaotomo → FofaMap

asaotomo / FofaMap

Licence: Apache-2.0 license
FofaMap是一款基于Python3开发的跨平台FOFA数据采集器,支持网站图标查询、批量查询和自定义查询FOFA数据,能够根据查询结果自动去重并生成对应的Excel表格。另外春节特别版还可以调用Nuclei对目标进行漏洞扫描,让你在挖洞路上快人一步。

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to FofaMap

Blackwidow
A Python based web application scanner to gather OSINT and fuzz for OWASP vulnerabilities on a target website.
Stars: ✭ 887 (+651.69%)
Mutual labels:  spider, scan
excel-to-python-course
Student materials and handouts for Excel to Python course
Stars: ✭ 73 (-38.14%)
Mutual labels:  excel
Z-Spider
一些爬虫开发的技巧和案例
Stars: ✭ 33 (-72.03%)
Mutual labels:  spider
araneid
一个基于Glang语言开发的站群系统(蜘蛛池系统)
Stars: ✭ 25 (-78.81%)
Mutual labels:  spider
k8s-nuclei-templates
Nuclei templates for K8S security scanning
Stars: ✭ 85 (-27.97%)
Mutual labels:  nuclei
lisp-xl
Common Lisp Microsoft XLSX (Microsoft Excel) loader for arbitrarily-sized / big-size files
Stars: ✭ 27 (-77.12%)
Mutual labels:  excel
CXLinkageSheetDemo
一个同时支持横向和纵向滚动的表格框架 CXLinkageSheetView,适用于一些数据展示页面
Stars: ✭ 78 (-33.9%)
Mutual labels:  excel
documentDownloader
download document from book118 for free
Stars: ✭ 72 (-38.98%)
Mutual labels:  spider
V2EX Spider
V2EX爬虫
Stars: ✭ 21 (-82.2%)
Mutual labels:  spider
hfexcel
JSON to Excel in Python. 🐍 Human Friendly excel creation in python. 📄 easy, advanced and smart api. json to excel conversion support.. ❤️
Stars: ✭ 16 (-86.44%)
Mutual labels:  excel
fxl.js
ƛ fxl.js is a data-oriented JavaScript spreadsheet library. It provides a way to build spreadsheets using modular, lego-like blocks.
Stars: ✭ 27 (-77.12%)
Mutual labels:  excel
SpiderDemo
爬虫Demo,基于Python实现
Stars: ✭ 56 (-52.54%)
Mutual labels:  spider
r scan
📷🖨Flutter二维码&条形码扫描插件,支持相机、文件、链接、Uint8List类型扫描
Stars: ✭ 108 (-8.47%)
Mutual labels:  scan
excel-merge
A PHP library to merge two or more Excel files into one
Stars: ✭ 26 (-77.97%)
Mutual labels:  excel
L-Spider
A DHT Spider allows you to sniff the torrents and magnets.You can download them directly.
Stars: ✭ 64 (-45.76%)
Mutual labels:  spider
douyin-api
抖音接口、抖音API、抖音数据爬虫、抖音直播数据、抖音直播Api、抖音视频Api、抖音爬虫、抖音去水印、抖音视频下载、抖音视频解析、抖音直播监控、抖音数据采集
Stars: ✭ 41 (-65.25%)
Mutual labels:  spider
my-nuclei-templates
Some contributions in the nuclei-templates repository
Stars: ✭ 32 (-72.88%)
Mutual labels:  nuclei
zhihu
搜索你的知乎收藏:可以直观地浏览你的所有收藏夹的内容,并进行全文搜索
Stars: ✭ 39 (-66.95%)
Mutual labels:  spider
barcode scan2
[reborned barcode_scan] A flutter plugin for reading 2D barcodes and QR codes.
Stars: ✭ 43 (-63.56%)
Mutual labels:  scan
openharmony-sheet
📊从零开始使用华为鸿蒙 OpenHarmony 开发游戏和表格渲染引擎
Stars: ✭ 132 (+11.86%)
Mutual labels:  excel

FofaMap_V1.1.2 春节特别版【联动 Nuclei】| FofaMap云查询版

image

好消息:FofaMap又可以正常使用了,感谢🙏大家一直以来对FofaMap的支持,我们将继续对FofaMap进行更新和维护。

FofaMap是一款基于Python3开发的跨平台FOFA数据采集器。用户可以通过修改配置文件,定制化的采集FOFA数据,并导出生成对应的Excel表格或TXT扫描目标。

Nuclei是一款基于YAML语法模板的开发的定制化快速漏洞扫描器。它使用Go语言开发,具有很强的可配置性、可扩展性和易用性。

本次我们将Fofamap和Nuclei进行联动,通过Fofamap查询到资产目标后,自动调用Nuclei对发现目标进行漏洞扫描,实现资产探测到漏洞扫描的全流程漏洞发掘工作,极大的提升了白帽子挖掘SRC的效率。

一.安装说明

1.工具使用Python3开发,请确保您的电脑上已经安装了Python3环境。

2.首次使用请使用 python3 -m pip install -r requirements.txt 命令,来安装必要的外部依赖包。

3.fofa.ini为Fofamap的配置文件,可以通过修改配置文件内容来定制化采集FOFA数据。

4.在使用该工具前,请先填写用户信息[userinfo]中的email和key,fofa.ini配置文件说明如下:

[userinfo]#用户信息
#注册和登录时填写的email
email = [email protected]
#会员到个人资料可得到key,为32位的hash值
key = 001xxxxxxxxxxxxxxxxxxxxx8b2dc5

[fields]#查询内容选项
#默认查询内容为:ip、端口、网站标题、国家和城市
fields = ip,port,title,country,city

#fields可选项有:['host', 'title', 'ip', 'domain', 'port', 'country', 'province', 'city', 'country_name', 'header', 'server', 'protocol', 'banner', 'cert', 'isp', 'as_number', 'as_organization', 'latitude', 'longitude', 'structinfo','icp', 'fid', 'cname']


[page]#查询页数
#查询启始页数
start_page = 0
#查询结束页数
end_page = 1

5.不同用户使用Fofamap调用FOFA全网资产收集与检索系统API查询次数如下:

企业会员 免费前100,000条/次

高级会员 免费前10000条/次

普通会员 免费前100条/次

注册用户 1F币(最多10,000条)/次

用户可以根据自己的账号类型设置对应的查询页数。

6.项目文件结构:

├── README.md ##使用说明
├── fofa.ini ##fofa配置文件
├── fofa.py ##fofa api调用类
├── fofamap.py ##fofamap主程序
├── nuclei ##nuclei主程序,若nuclei主程序有更新,可去https://github.com/projectdiscovery/nuclei/releases下载替换
│   ├── linux ##linux版主程序
│   │   ├── nuclei_386
│   │   ├── nuclei_amd
│   │   ├── nuclei_arm
│   │   └── nuclei_armv6
│   ├── macos ##macos版主程序
│   │   ├── nuclei_amd
│   │   └── nuclei_arm
│   └── windows ##windows版主程序
│       ├── nuclei_386.exe
│       └── nuclei_amd.exe
├── nuclei.py ##nuclei api调用类
├── requirements.txt ##依赖包要求

7.适配情况:目前FofaMap春节特别版以及适配了macOS、Windows、Kali Linux、Ubuntu等操作系统。

二.使用方法

1.-q 使用FOFA查询语句查询数据

关于命令说明:

如果用户想要使用fofa联合查询语句,例如:app="grafana" && country="US"

Linux和macOS用户直接使用python3 fofamap.py -q 'app="grafana" && country="US"'即可成功查询。

Windows用户因为系统原因,需要使用python3 fofamap.py -q "app=\"grafana\" && country=\"CN\""系统才可成功识别,即Windows用户需要对查询命令内部的"使用\进行转义,否则系统识别错误。

$ python3 fofamap.py -q 'title="Apache APISIX Dashboard"'

image

2.-o 自定义输出文件名[默认为fofa.xlsx]

$ python3 fofamap.py -q 'title="Apache APISIX Dashboard"' -o 结果.xlsx

image

输出的结果.xlsx内容如下:

image

3.-ico 使用网站图标Hash值进行查询

FofaMap V1.1.2新版支持网站图标查询【仅支持Fofa高级会员及以上用户】。

用户可通过填入任意一网站地址,Fofamap会自动获取该网站的favicon.ico图标文件,并计算其hash值。

$ python3 fofamap.py -ico 网站url

例如我们查询含有必应(bing)图标的网站,python3 fofamap.py -ico https://www.bing.com

image

4.-bq 批量查询数据

FofaMap V1.1.2新版支持批量查询,用户可新建一个记事本文件,如bat.txt,然后将准备查询的fofa语句写入其中,运行以下命令即可进行批量查询。

$ python3 fofamap.py -bq bat.txt

bat.txt文件内容:

domain="youku.com"   
server=="Microsoft-IIS/7.0" 
ip="211.45.30.16/24"
icp="京ICP备10036305号"

img

查询完成后,系统会自动根据任务顺序为每个任务生成一个Excel版的查询结果文件。

如下:

img

5.-s 输出扫描格式

使用输出扫描格式功能时,系统只会获取目标host字段,并自动做去重处理,输出结果同时会自动保存为txt文件,方便后面nuclei进行目标调用扫描。

$ python3 fofamap.py -q 'title="Apache APISIX Dashboard"' -s  

image

6.使用 -s -n 调用nuclei对查询到的资产进行漏洞扫描

python3 fofamap.py -q 'title="Apache APISIX Dashboard"' -s  -n

image

FofaMap支持全功能扫描和自定义扫描两种模式

全功能扫描: 根据提示输入“N”,对目标进行全扫描,默认内置全部PoC。

image

自定义扫描: 根据提示输入“Y”,启动自定义扫描,通过设置过滤器对目标进行自定义扫描,只使用指定的PoC。

FofaMap支持三个基本过滤器来自定义扫描方式。

1.标签(-tags)根据模板中可用的标签字段进行筛选。如:cev、cms、tech等

2.严重级别(-severity)根据模板中可用的严重级别字段进行筛选。如:critical、high、medium等

3.作者(-author)根据模板中可用的作者字段进行筛选。如:geeknik、pdteam、pikpikcu等

4.自定义 (customize)用户可以根据需求使用nuclei的其它高级命令对目标进行扫描。如:-tags cve -severity critical,high -author geeknik

例如:我们使用自定义扫描的tags过滤器,tags的内容为tech,那么fofamap只会调用nuclei的tech-detect模板对网站进行检测,扫描结果为网站所使用的中间件、数据库、操作系统版本等系统。

image

更多Nuceli的用法可以参考这里

另外FofaMap会对扫描后的结果进行统计,并将结果保存在scan_result.txt中。

image

scan_result.txt文件内容:

image

在获得scan_result.txt后系统会提取scan_result.txt中的IP地址和域名,并调用fofa api去查询其其域名和备案信息,辅助用户了解资产归属情况。

image

7.通过修改配置文件,控制输出内容

我们可以通过修改fofa.ini配置文件中的fields值来控制工具输出的顺序与字段。 例如:我们将fields = ip,port,title,country,city改为fields = protocol,ip,port,title,icpimage

接着执行以下命令

$ python3 fofamap.py -q 'app="discuz"'   

输出内容就会变为协议、IP地址、端口、网站标题、ICP备案号。

image


本工具仅提供给安全测试人员进行安全自查使用 用户滥用造成的一切后果与作者无关 使用者请务必遵守当地法律 本程序不得用于商业用途,仅限学习交流


FofaMap由Hx0战队开发维护

image

扫描关注战队公众号,获取最新动态

image

【知识星球】福利大放送

image


更新日志 V1.1.2 春节特别版

[+] 增加网站图标查询功能,该功能仅支持高级会员及以上用户使用。

[+] 增加查询数据自动去重功能。(特别感谢用户jackjwang提出的问题)

[+] 增加备案查询结果自动去重功能。

[+] 修复当查询字段(fields)只有一个时报错的bug。

更新日志 V1.1.1 春节特别版

[+] 增加批量查询功能。

[+] 增加fofa备用节点,提高可用性。

更新日志 V1.1.0 春节特别版

[+] 增加与nuclei联动,用户在查询到资产后可使用nuclei进行漏洞扫描。

[+] 增加扫描结果分析统计。

[+] 增加对nuclei扫描出的资产进行域名查询。

更新日志 V1.0.1

[+] 优化代码逻辑,修复已经BUG。

[+] 优化输出样式,命令行输出结果将以表格形式展示。

[+] 扫描模式输出结果将自动进行去重处理,并会自动将结果保存为txt文档。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].