freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Amass:一款深度子域名枚举工具
2018-07-09 15:00:17

1.png今天给大家介绍的是一款名叫Amass的深度子域名枚举工具,该工具采用Go语言开发,它可以通过遍历等形式爬取数据源和Web文档,或利用IP地址来搜索相关的网块和ASN,并利用所有收集到的信息来构建目标网络拓扑。

2.png如何安装

预编译

获取Amass的预编译版本:【点我获取

如果你的操作系统环境支持Snap,你可以点击【这里】或在命令行中使用下列命令完成安装:

$sudo snap install amass

如果你想使用snap来获取amass的最新版本(非稳定版),你可以输入下列命令:

$sudo snap install --edge amass

获取源码

如果你想自己构建最新版本源码,请确保你的设备配置好了Go >= 1.10的开发环境,更多信息请参考Golang官网。

1.   下载amass

$ goget -u github.com/caffix/amass

2.   字典文件路径如下:

$ ls $GOPATH/src/github.com/caffix/amass/wordlists/

工具使用

以下命令可以进行反向DNS查询和名称变更:

$amass -d example.com

如果你只需要amass使用被动数据源并且不对域名进行解析的话,使用下列命令:

$amass -nodns -d example.com

下面给出的是amass的常用样例:

$amass -v -ip -brute -min-for-recursive 3 -d example.com
[Google]www.example.com
[VirusTotal]ns.example.com
...
13139names discovered - archive: 171, cert: 2671, scrape: 6290, brute: 991, dns:250, alt: 2766

添加需要枚举的额外域名:

$amass -d example1.com,example2.com -d example3.com

下面命令可让amass发送所有的DNS和基础设施枚举数据到Neo4j高性能图形数据库:

$amass -neo4j neo4j:DoNotUseThisPassword@localhost:7687 -d example.com

网络/基础设施选项

注意:如果你使用下列选项,amass将会尝试访问目标基础设施中所有的IP地址,并从TLS证书中获取更多信息。下面给出的所有选项都需要指定“net”子参数。

搜索目标ASN托管的所有域名:

$amass net -asn 13374,14618

查询目标CIDR:

$amass net -cidr 192.184.113.0/24,104.154.0.0/15

指定IP地址范围:

$amass net -addr 192.168.1.44,192.168.2.1-64

默认配置下,443端口是默认的证书检测端口,但可以使用下列命令修改:

$amass net -cidr 192.168.1.0/24 -p 80,443,8080

整合Amass代码

如果你想在自己的Go代码中使用amass数据包,请确保设置好了正确的伪随机数生成器:

import(

    "fmt"

    "math/rand"

    "time"

    "github.com/caffix/amass/amass"

)

funcmain() {

    output := make(chan *amass.AmassOutput)

    go func() {

        for result := range output {

            fmt.Println(result.Name)

        }

    }()

    // Seed the default pseudo-random numbergenerator

    rand.Seed(time.Now().UTC().UnixNano())

    // Setup the most basic amass configuration

    config :=amass.CustomConfig(&amass.AmassConfig{Output: output})

   config.AddDomains([]string{"example.com"})

    // Begin the enumeration process

    amass.StartEnumeration(config)

}

设置Amass和Maltego

3.png4.png

5.png

 * 参考来源:amass,FB小编Alpha_h4ck编译,转载请注明来自FreeBuf.COM

# 域名 # Amass
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录