/EHole

EHole(棱洞)3.0 重构版-红队重点攻击系统指纹探测工具

Primary LanguageGoApache License 2.0Apache-2.0

EHole(棱洞)3.0 红队重点攻击系统指纹探测工具

Author language version

[# 00x01] 简介:

     ______    __         ______
    / ____/___/ /___ ____/_  __/__  ____ _____ ___
   / __/ / __  / __ `/ _ \/ / / _ \/ __ `/ __ `__ \
  / /___/ /_/ / /_/ /  __/ / /  __/ /_/ / / / / / /
 /_____/\__,_/\__, /\___/_/  \___/\__,_/_/ /_/ /_/
			 /____/ https://forum.ywhack.com  By:shihuang         

EHole是一款对资产中重点系统指纹识别的工具,在红队作战中,信息收集是必不可少的环节,如何才能从大量的资产中提取有用的系统(如OA、VPN、Weblogic...)。EHole旨在帮助红队人员在信息收集期间能够快速从C段、大量杂乱的资产中精准定位到易被攻击的系统,从而实施进一步攻击。

20210823 Ehole 开源版,本次优化内容如下:

  • 1.支持xlsx导出结果
  • 2.支持自定义语法导出fofa结果
  • 2.支持自适应favicon的路径

感谢 Ehole 开源作者 @shihuang

20210623 EHole(棱洞)3.0版本,更新内容如下:

  • 1.多个CMS指纹识别(如一个URL同时匹配多个CMS指纹则会同时显示);
  • 2.颜色高亮(新增颜色高亮,识别到的系统会以红色进行显示,更易于区分);
  • 3.新增FOFA批量端口提取(如拿到一万甚至十万IP的情况,则可以使用-fall批量从FOFA中提取端口信息);
  • 4.优化多个识别规则,更易于识别重点系统;
  • 5.新增多条指纹,目前能识别大部分常见的系统;
  • 6.优化文件读取,更快速准确的识别内容;
  • 7.FOFA语法搜索优化,使用-fofa参数快速从fofa提取资产进行识别。

[# 00x02] 使用:

配合[红队中易被攻击的一些重点系统漏洞整理]食用效果更佳:https://forum.ywhack.com/bountytips.php?Vulnerability

EHole version: 2.0
Usage: Ehole [command] [-f|-l] [parameter]

Available Commands:
  finger      ehole的指纹识别模块
  fofaext     ehole的fofa提取模块
  help        Help about any command

ehole的指纹识别模块
Usage:
  ehole finger [flags]
Flags:
  -f, --fip string      从fofa提取资产,进行指纹识别,仅仅支持ip或者ip段,例如:192.168.1.1 | 192.168.1.0/24
  -s, --fofa string     从fofa提取资产,进行指纹识别,支持fofa所有语法
  -h, --help            help for finger
  -l, --local string    从本地文件读取资产,进行指纹识别,支持无协议,列如:192.168.1.1:9090 | http://192.168.1.1:9090
  -o, --output string   输出所有结果,当前仅支持json和xlsx后缀的文件。
  -p, --proxy string    指定访问目标时的代理,支持http代理和socks5,例如:http://127.0.0.1:8080、socks5://127.0.0.1:8080
  -t, --thread int      指纹识别线程大小。 (default 100)
  -u, --url string      识别单个目标。

从fofa api提取资产并保存成xlsx,支持大批量ip提取,支持fofa所有语法
Usage:
  ehole fofaext [flags]
Flags:
  -s, --fofa string     从fofa提取资产,支持fofa所有语法,默认保存所有结果。
  -h, --help            help for fofaext
  -l, --ipfile string   从文本获取IP,在fofa搜索,支持大量ip,默认保存所有结果。
  -o, --output string   指定输出文件名和位置,当前仅支持xlsx后缀的文件。 (default "results.xlsx")

EHole(棱洞)2.0提供了两种指纹识别方式,可从本地读取识别,也可以从FOFA进行批量调用API识别(需要FOFA密钥),同时支持结果JSON格式输出。

1.本地识别:

EHole finger -l url.txt   //URL地址需带上协议,每行一个

2.FOFA识别:

注意:从FOFA识别需要配置FOFA 密钥以及邮箱,在config.ini内配置好密钥以及邮箱即可使用。

EHole finger -f 192.168.1.1/24  //支持单IP或IP段

3.结果输出:

EHole finger -l url.txt -o export.json  //结果输出至export.json文件

[# 00x03] 指纹编写:

EHole(棱洞)2.0改变了原有的指纹识别规则,2.0版指纹从外部文件读入,识别方式:

指纹格式:

关键字匹配:
{
		"cms": "seeyon",
		"method": "keyword",
		"location": "body",
		"keyword": ["/seeyon/USER-DATA/IMAGES/LOGIN/login.gif"]
}
faviconhash匹配:
{
		"cms": "CapRover",
		"method": "faviconhash",
		"location": "body",
		"keyword": ["988422585"]
}
  1. cms:系统名称
  2. method:识别方式 (支持三种识别方式,分别为:keyword、faviconhash、regula)
  3. location:位置(指纹识别位置,提供两个位置,一个为body,一个为header)
  4. keyword:关键字(favicon图标hash、正则表达式、关键字)

⚠️注意:keyword支持多关键字匹配,需要所有关键字匹配上才能识别。如:

"keyword": ["sys/ui/extend/theme/default/style/icon.css", "sys/ui/extend/theme/default/style/profile.css"]

[# 00x04] 使用效果:

fofa识别:

-w912

输出效果:

-w1325