dismap 快速资产发现和识别工具

VSole2022-06-29 22:48:00

About dismap

Dismap 定位是一个适用于内外网的资产发现和识别工具;其特色功能在于快速识别 Web 指纹信息,定位资产类型。辅助红队快速定位目标资产信息,辅助蓝队发现疑似脆弱点。

Dismap 拥有完善的指纹规则库,可轻松自定义新识别规则。

识别结果可直接丢给 Vulmap(>=0.8) 进行漏洞扫描实现简易联动。

项目地址:

https://github.com/zhzyker/dismap

工具最初定位为内网工具,自我感触在大型攻防活动中,经常由于精力有限略过内网网站,而靠内网数据库、弱口令、FTP、SMB 之类的目标来刷分,但多数内网往往分数达不到自己预期,故思理论上内网网站脆弱性肯定比外网高,实际上确不怎么打,还是内网精力分配的差异,又思搞一个快速识别网段(内网)所有 Web 资产类型出来的工具,岂不就能针对性逮好打的拿分了~

后续因测试需求经常在互联网(外网)中扫描识别测试,惊奇的发现这玩意扫整个外网网段时效果远远高于自己预期,往往一个 C 段 200 左右个存活 IP 几个 Tomcat、多少 Shiro、一堆 Spring、一些 Struts2 的网站清清楚楚摆在眼前,偶尔在蹦出来一堆其他 Web 应用,简直不要太快乐。

授权问题仅贴自己搭建环境的效果图:

Get & Run

下载链接:

https://github.com/zhzyker/dismap/releases

默认编译了以下支持的系统类型:

dismap-darwin-amd64  6.66 MB

dismap-darwin-arm64  6.48 MB

dismap-linux-amd64  6.78 MB

dismap-linux-x86  6.02 MB

dismap-windows-amd64.exe  6.77 MB

dismap-windows-x86.exe  6.07 MB

运行:
# Linux and MacOS
zhzyker@debian:~$ chmod +x dismap
zhzyker@debian:~$ ./dismap -h
# Windows
C:\Users\zhzyker\Desktop> dismap.exe -h

Optons

功能和参数使用解读视频(Bilibili):

https://www.bilibili.com/video/BV13L411b79E

常规参数:


-file string
    Select a URL file for batch identification
    # 从文件中读取 Url 进行批量识别
-ip string
    Network segment [e.g. -ip 192.168.1.0/24 or -ip 192.168.1.1-10]
    # 指定一个网段,格式示例: 192.168.1.1/24  192.168.1.1-100  192.168.1.1-192.168.1.254
-np
    Not use ICMP/PING to detect surviving hosts
    # 不进行主机存活检测,跳过存活检测直接识别 Url
-output string
    Save the scan results to the specified file (default "output.txt")
    # 自定义识别结果输出文件,默认追加到 output.txt 中
-port string
    Custom scan ports [e.g. -port 80,443 or -port 1-65535]
    # 自定义需要扫描的 Web 端口,默认端口在 /config/config.go 中
-thread int
    Number of concurrent threads, (adapted to two network segments 2x254) (default 508)
    # 多线程数量,默认508(两个C段的数量),线程越高存活和识别丢失率可能越高,不建议超过2000
-timeout int
    Response timeout time, the default is 5 seconds (default 5)
    # 主机存活探测和 Http 超时时间,默认均为5秒
-url string
    Specify a target URL [e.g. -url https://example.com]
    # 识别单个 Url 时用该选项指定

RuleLab

规则库大致格式:


Rule:
  Name: name /* 定义规则名称 */
  Type: header|body|ico  /* 支持识别的类型, header、body、ico 任意组合, ico 为单独请求 favicon.ico 并计算 MD5*/
  Mode: and|or /* 类型的判断逻辑关系 */
  Rule
    InBody: str  /* 需要指定响应 Body 中存在 str 则命中 */
    InHeader: str  /* 需要指定响应 Hedaer 中存在 str 则命中 */
    InIcoMd5: str_md5  /* favicon.ico 的 MD5 值 */
  Http:
    ReqMethod: GET|POST  /* 自定义请求方法,目前支持 GET 和 POST */
    ReqPath: str  /* 自定义请求 Web 路径 */
    ReqHeader: []str  /* 自定义 Http 请求的 Header */
    ReqBody: str  /* 自定义 POST 请求时的 Body */

简单示例:


# 即在响应Body中检查是否存在字符
{"Apahce Flink", "body", "", InStr{"()", "", ""}, ReqHttp{"", "", nil, ""}},
# 自定义请求访问/myportal/control/main,判断自定义请求的结果中是否存在指定的 header 字符和 body 字符。可以发现均支持正则表达式
{"Apache OFBiz", "body|header", "or", InStr{"(Apache OFBiz|apache.ofbiz)", "(Set-Cookie: OFBiz.Visitor=(.*))", ""}, ReqHttp{"GET", "/myportal/control/main", nil, ""}},

对于规则库的详细说明见 Github

Linkage

目前开源的两款工具(dismap v0.1 and vulmap >=0.8 )可进行简易联动使用,即把识别结果直接丢给漏洞扫描。

Dismap 默认会将扫描结果追加保存到 output.txt ,大致这个样子:


######          dismap 0.1 output file          ######
###### asset discovery and identification tools ######
######   by:https://github.com/zhzyker/dismap   ######
[+] [200] [Apache Struts2] { http://192.168.43.134:8080/struts2-showcase-2.3.12/showcase.action } [Struts2 Showcase]
[+] [404] [Weblogic] { http://192.168.43.134:7001 } [None]
[-] [404] { http://192.168.43.134:8080/fast/ } [HTTP Status 404 – Not Found]
[+] [200] [Apache Tomcat] { http://192.168.43.134:8080 } [Apache Tomcat/8.5.56]
[+] [200] [Apache Shiro] { http://192.168.43.134:8080/samples-web-1.2.4/login.jsp } [None]

Vulmap 可以直接用 -f 选项指定该文件:

urlhttps
本作品采用《CC 协议》,转载必须注明作者和本文链接
红蓝对抗—蓝队手册
2022-03-18 14:22:22
红蓝对抗的主要目的在于,提高公司安全成熟度及其检测和响应攻击的能力。
APP时,发现该应用程序允许用户直接从 http/https URL打开 pdf 的功能,此功能会受到路径遍历漏洞影响。Abode Reader 还使用 了Google Play 核心库进行动态代码加载,使用路径遍历错误和动态代码加载,从而实现远程代码执行,该漏洞的CVE编号为CVE-2021-40724。
大家好,在本文中,我将分享我在2个TikTok资产发现的XSS漏洞。当我决定在TikTok 程序中寻找漏洞 时,我花了1个月的时间寻找这个XSS。当我在TikTok 卖家账户上创建产品时,这个 XSS 发现开始了我在卖家账户的产品名称中插入了 XSS payload。
NeuVector的安装部署
2022-02-27 07:16:17
这可能是云原生安全圈最大的事儿,NeuVector被开源了, 以下是安装部署记录, 用helm安装,还得是v2版本, wget https://get.helm.sh/helm-v2.17.0-linux-amd64.tar.gz, tar -zxvf helm-v2.17.0-linux-amd64.tar.gz, 安装tiller,vim helm-rbac.yaml, apiVe
Interactsh搭建DNSLog服务
2021-12-07 20:15:00
origin-url这个参数是给前端验证用的,同源策略,建议设置成*,这样的话本地也能用。
Metasploit 总结
2020-08-24 11:30:35
此功能当前是选择加入的。此模块利用CVE-2020-9496,并利用未经验证的XML-RPC接口中的Java反序列化方法。最新的OFBiz版本修复了此漏洞。PR #13998 从 adfoster-R7 大大提高Metasploit工具的速度RPC调用。PR #13961 从dwelch-R7 增加了一个新RHOST_HTTP_URL的选择,它允许用户设定值RHOSTS,RPORT以及SSL通过指定单个URL。来自wvu-r7的 PR #14002修复了payload中的回归问题,在该回归中,空白坏字符没有被编码掉。PR #13974从dwelch-R7修正了一个错误认证lib/metasploit/framework/login_scanner/winrm造成的故障与没有接受的“基本”身份验证服务器模块。
用于红队快速收集顶级域名或者ip相关关联的资产
声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部
在一次测试中,遇到一个可以利用 XSS 的点,但是存在 BIG-IP ASM 防火墙,导致无法直接利用,在大神的帮助下完成了利用。随后经过自己的努力,也找到了一种绕过方式。0x01 XSS 漏洞发现测试中发现一个接口,参数 PAGEURL 可控,且输入的内容会原样响应在返回包中,如图:响应包如图:测试常规 payload 被 WAF 拦截,如图:响应包:可以看到被 WAF 拦截。
【$6000】绕过Apple SSO
2022-04-19 13:04:03
声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由用户承担全部
VSole
网络安全专家