之前在测试DNS域传送漏洞时记录的工具使用记录:
一些参考链接:
通过theHarvester这个工具,和baidu.com、google.com等搜索引擎,可以收集一些公司的员工信息。
#用Nmap扫描的时候发现有个插件也起到了类似的作用:Nmap scripts(http-email-harvest)
实际测试了上面的文章中提到的theHarvest和Metasploit中的那个Ruby脚本,但是都没用了现在(我之前也弄过一次也没什么效果,难道是Google屏蔽了还是公司网址上没有什么Email信息了?)
不过可以试试Nmap:
root@xxx:~ # nmap -sV -p 80 -T4 –script http*,default targetIP/targetWebsite
———————
刚刚又发现了一个DNS信息搜集的工具,还是在线的:
Sitedossier – profiles for millions of sites on the web http://www.sitedossier.com/
- 工具:fierce
性质跟dnsmap/dnsenum差不多,就是一子域名扫描、信息搜集工具(但不知道怎么的,很多的工具现在基本没什么实际效用,难道是Google这些把这个都屏蔽掉了?)
网址:Fierce Domain Scan http://ha.ckers.org/fierce/
- 工具:dnsmap
网址:http://code.google.com/p/dnsmap/
- 工具:dnsenum
网址:http://code.google.com/p/dnsenum/
刚才分别在Kali Linux上都使用了一下这3款DNS信息搜集的工具,个人使用感受如下:
dnsenum这个速度最快,而且也有个分类,这个使用起来还不错(但是速度是不是太快了?导致我对全面性和准确性都有些怀疑了);
dnsmap和fierce这两个都很慢,不过慢的好处就是搜集到的东西多,在使用的方便程度上面,我还是觉得dnsmap这要比fierce要好,一个是直接,再一个就是fierce这还需要同时提供hosts.txt文件,略显麻烦。(PS:fierce这个工具在碰到比较少见的域名时,那速度真的不是一般的慢,而且连个进度都没有,让人等的揪心啊!PS2:才发现,原来fierce可以指定thread选项以提高速度)
—————–测试如下——————
root@xxx:~# dnsenum baidu.com
dnsenum.pl VERSION:1.2.2
……
root@xxx:~# dnsmap baidu.com
dnsmap 0.30 – DNS Network Mapper by pagvac (gnucitizen.org)
[+] searching (sub)domains for baidu.com using built-in wordlist
[+] using maximum random delay of 10 millisecond(s) between requests
a.baidu.com
IP address #1: 123.125.114.38
ab.baidu.com
IP address #1: 10.26.209.25
[+] warning: internal IP address disclosed
accounts.baidu.com
IP address #1: 10.11.252.74
[+] warning: internal IP address disclosed #dnsmap还会检测内部IP地址是否存在泄漏的问题
ad.baidu.com
IP address #1: 202.108.23.200
………………
250 (sub)domains and 290 IP address(es) found #dnsmap是最慢的,不过检查出来的东西是最多的,而且在最后会给出一些扫描信息出来
[+] 89 internal IP address(es) disclosed
[+] completion time: 1298 second(s)
root@xxx:~/Desktop# ./fierce.pl baidu.com #还得加上个“-dns”选项
You have to use the -dns switch with a domain after it.
Type: perl fierce.pl -h for help
Exiting…
root@xxx:~/Desktop# ./fierce.pl -dns baidu.com
DNS Servers for baidu.com:
ns3.baidu.com
ns7.baidu.com
ns2.baidu.com
ns4.baidu.com
dns.baidu.com
Trying zone transfer first…
Testing ns3.baidu.com
Request timed out or transfer not allowed.
Testing ns7.baidu.com
Request timed out or transfer not allowed.
Testing ns2.baidu.com
Request timed out or transfer not allowed.
Testing ns4.baidu.com
Request timed out or transfer not allowed.
Testing dns.baidu.com
Request timed out or transfer not allowed.
Unsuccessful in zone transfer (it was worth a shot) #首先,fierce会尝试域传送漏洞的检测
Okay, trying the good old fashioned way… brute force
Checking for wildcard DNS… #尝试DNS的通配符检测
Nope. Good.
Now performing 2280 test(s)… #尝试次数和字典文件有关
10.11.252.74 accounts.baidu.com
180.76.2.25 antivirus.baidu.com
……
…………Found 118 entries.…………
—————–
决定以后就使用dnsmap作为这方面的主力工具了!
/usr/share/dnsmap/wordlist_TLAs.txt #17576行(就是从aaa-zzz)
root@xxx:~# find / -name “*dnsmap*”
……
/usr/share/wordlists/dnsmap.txt
……
注意一下Kali Linux下的这个文件夹:/usr/share/wordlists
root@xxx:/usr/share/wordlists# ll
总用量 52128
drwxr-xr-x 2 root root 4096 9月 29 14:19 .
drwxr-xr-x 464 root root 16384 11月 17 18:57 ..
lrwxrwxrwx 1 root root 25 9月 29 14:19 dirb -> /usr/share/dirb/wordlists
lrwxrwxrwx 1 root root 30 9月 29 14:19 dirbuster -> /usr/share/dirbuster/wordlists
lrwxrwxrwx 1 root root 35 9月 29 14:19 dnsmap.txt -> /usr/share/dnsmap/wordlist_TLAs.txt
lrwxrwxrwx 1 root root 41 9月 29 14:19 fasttrack.txt -> /usr/share/set/src/fasttrack/wordlist.txt
lrwxrwxrwx 1 root root 45 9月 29 14:19 fern-wifi -> /usr/share/fern-wifi-cracker/extras/wordlists
lrwxrwxrwx 1 root root 46 9月 29 14:19 metasploit -> /usr/share/metasploit-framework/data/wordlists
lrwxrwxrwx 1 root root 51 9月 29 14:19 metasploit-jtr -> /usr/share/metasploit-framework/data/john/wordlists
lrwxrwxrwx 1 root root 39 9月 29 14:19 metasploit-pro -> /opt/metasploit/apps/pro/data/wordlists
lrwxrwxrwx 1 root root 41 9月 29 14:19 nmap.lst -> /usr/share/nmap/nselib/data/passwords.lst
-rw-r–r– 1 root root 53357341 3月 3 2013 rockyou.txt.gz
lrwxrwxrwx 1 root root 34 9月 29 14:19 sqlmap.txt -> /usr/share/sqlmap/txt/wordlist.txt
lrwxrwxrwx 1 root root 57 9月 29 14:19 termineter.txt -> /usr/share/termineter/framework/data/smeter_passwords.txt
lrwxrwxrwx 1 root root 57 9月 29 14:19 w3af.txt -> /usr/share/w3af/core/controllers/bruteforce/passwords.txt
lrwxrwxrwx 1 root root 29 9月 29 14:19 webslayer -> /usr/share/webslayer/wordlist
lrwxrwxrwx 1 root root 25 9月 29 14:19 wfuzz -> /usr/share/wfuzz/wordlist
lrwxrwxrwx 1 root root 53 9月 29 14:19 wfuzz.txt -> /usr/share/golismero/wordlist/wfuzz/Discovery/all.txt
可以看到该文件夹下包含了很多Kali Linux下的暴力破解工具等的字典文件的软链接。(其中还包括我之前没有使用过的dirbuster/fasttrack/wfuzz/webslayer等工具)
然后,我查看之前使用fierce工具在使用的时候自带的hosts.txt文件,其中共包含2280行,不再是从aaa-zzz的简单字符枚举了,加上了一些数字和常见的子域名前缀,可以找到dnsmap找不到的一些自定义子域名信息。
对了,在Metasploit框架中,也有不少DNS信息搜集工具(search dns 光是信息搜集脚本就有5个),可以尝试一下!
《 “DNS枚举-Email信息搜集” 》 有 8 条评论
利用scapy 造了一个Passive DNS Collector 工具——pdns_sniff
https://github.com/coffeehb/tools/tree/master/pdns_sniff
https://github.com/gamelinux/passivedns
https://meetings.apnic.net/__data/assets/pdf_file/0017/45521/05-Merike-Kaeo-Passive-DNS.pdf
基于Passive DNS的恶意域名识别研究
http://kthinker.com/post/detection-of-malicious-domains-based-on-passive-dns-analysis
http://www.xml-data.org/BJDXXBZRB/html/2016-3-396.htm
在事件响应中使用被动DNS
http://bobao.360.cn/learning/detail/2766.html
PassiveDNS概述
https://www.tianjianbo.com/2016/10/06/introduction-of-passivedns.html
建立你自己的Passive DNS收集系统
http://www.freebuf.com/articles/network/103815.html
[渗透测试]”安全线“大型目标渗透-01信息搜集
https://xianzhi.aliyun.com/forum/read/1675.html
Anubis – 子域名枚举及信息收集工具
https://github.com/jonluca/Anubis
通过 Dnstap 来改进 DNS 日志记录
https://www.vanimpe.eu/2018/12/27/dnstap-for-improved-dns-logging-on-ubuntu/
WordPress 技巧:自动隐藏邮件地址防止垃圾邮件
https://blog.wpjam.com/m/automatically-hide-email-adresses-from-spambots/
`
通过正则提取内容中的邮件地址,然后使用 WordPress 的 antispambot 函数隐藏 email 地址。
使用方法还是将代码复制到当前主题的 functions.php 文件中即可。
`
WordPress 技巧:防止博客内容中的 Email 地址被收集
https://blog.wpjam.com/m/antispambot-shortcode/
https://blog.wpjam.com/function_reference/antispambot/
红蓝对抗之域名搜集方法总结
https://security.tencent.com/index.php/blog/msg/161
`
# 前言
在历次HW、红蓝对抗、渗透测试项目中,外网的信息收集是至关重要的一个环节,外网打点信息收集全面了,可能会有四两拨千斤效果,直接突破外网边界进入内网。
最近我们三人加入腾讯蓝军学习渗透技巧,导师让我们对域名资产收集方式做一次全面梳理研究。子域名是域名信息收集的一个重要部分,在防御措施严密情况下我们无法直接拿下主域名,那么就可以采用迂回战术拿下子域名,然后无限靠近主域名。
一、方法原理介绍
1、利用证书透明度收集子域
2、常规检查收集子域
2.1 域传送
2.2 站点配置文件
2.3 检查内容安全策略
2.4 利用DNS查询收集子域
3、利用DNS数据集收集子域
4、利用威胁情报平台数据收集子域
5、利用搜索引擎发现子域
(1) 谷歌搜索语法—site
(2) Site:x.x.x. *(目标IP)
6、域名备案搜集资产
7、whois查询和关联查询
1) 查询whois
2) 反查whois
8、域名爆破
二、优秀开源工具
三、各工具效果对比
按照上图,单从数据层面上看,四款工具中OneForAll的表现比较突出,而李劼杰的subdomainBrute表现也算优异,可访问子域名数的百分比和时间都很优秀,美中不足的就是爆出的子域名相对较少。
四、子域名收集常见问题
1、DNS缓存问题
2、“死板”的字典
五、动态字典
1、 权值更新
2、词语删除
3、字典更新
六、总结
1、除了使用爆破工具外,子域名收集的方法还有很多。比如域传送漏洞、DNS查询等常规手段,还有利用证书透明度、DNS数据集、威胁情报平台、搜索引擎、域名备案和whois查询。综合来看,在这些方法中威胁情报平台效果最好,证书透明度和DNS数据集次之。
2、在本篇文章中我们还对业内较为优秀的几款工具作了研究、对比。在对tencent.com的子域名收集测试中,subfinder和OneForAll的表现较为突出。
3、子域名收集存在的一些主要问题是域名泛解析、不同线路解析出不同IP、子域名爆破时字典的效率不高等。
4、针对字典的问题,我们提出了一种字典自动更新的方案。
网上关于子域名收集的方法、工具都很多,但实际运用时结果都不够理想、全面。要想获得一份高效、有价值的子域名列表,需要我们结合不同的方法,合理地运用工具进行收集。
为了方便在实战环境中使用,我们将大部分常用的方法都梳理整合到了这篇文章中。作为学习的记录,本文可能存在些许纰漏,如有错误,欢迎指正。希望大家与我们一起,探索更多更高效子域名收集方法,共同学习共同进步。
`
从代码角度看各类子域名收集工具
https://paper.seebug.org/1292/
`
开源的域名收集工具有很多,本文会从代码的角度去看各类开源的域名收集工具的技术特点,以及各有哪些优缺点,来帮助大家,在合适的时候选择合适的利用工具。
这里选取了常用和知名的工具,包括subDomainBrute,Sublist3r,ESD,OneForAll,dnsprobe,subfinder,shuffledns,massdns
subDomainBrute
– Dns server test
– 泛域名
Sublist3r
ESD
– 支持泛解析域名
– 更快的速度
– 更全的字典
– 更多的收集渠道
– DNS服务器
– 域传输漏洞实现
– HTTPS证书透明度获取子域名
– 纯socket实现的check dns server
– 基于文本相似度过滤泛解析域名
– 其他
OneForAll
– 被动搜索
– 泛解析处理
– 爆破流程
– 域名接管
– 指纹识别
– 其他
dnsprobe
subfinder
shuffledns
massdns
# 总结
* subDomainBrute老牌DNS爆破工具,使用让人感觉很稳很友好,依赖较少,很好安装。
* ESD 域名收集方法很多,对接的web接口比较少,支持python调用,用于集成到扫描器应该不错。
* OneForAll依赖较多,功能比较全面,但功能还是有些欠缺,有些地方效率考虑的不够好。适合对一个新的域名爆破,结果比较多。
对于子域名收集,我推荐的组合是 subfinder 和 dnsprobe ,它们都是go语言,直接下载二进制就能跑,subfinder用于收集网上接口(但接口似乎没有OneForAll多),dnsprobe用于爆破/验证域名。
`
HW实战:浅谈信息搜集中的自动化数据分析
https://mp.weixin.qq.com/s/EkoiH28DBzHlKRR15CE8Rw
`
Part 1. WHAT
现今很多信息搜集类工具或者文章基本停留在信息搜集的前期阶段,很多文章或者工具都在着重于拓宽信息搜集的渠道,从搜索引擎、被动DNS到爆破字典的丰富性等等,少有提到在获得这些信息之后是否需要处理以及如何处理。此外,也存在部分渗透测试人员每次信息搜集的时候把结果放到文本文件中,更有甚者每次渗透测试几乎都要进行一次全新的信息搜集过程。这种方式弊端非常明显,一是造成了比较大的时间消耗,二是搜集信息的二次利用非常繁琐,不够自动化,后期还需要大量的人工介入分析。
为了解决以上两个问题,自然而然就存在了信息搜集的后期阶段,也就是本文题目所要讨论的——信息搜集中的自动化数据分析。
提到信息搜集其实大家都不陌生,但是或许有人会有疑问信息搜集中的数据分析是什么?在讲数据分析之前我们思考一个比较常见的问题,有哪些方式来确定两个域名是同一个公司的资产,读者在公布答案之前可以先思考下这个问题,下面说下笔者的思考:
1.ICP备案信息
2.WHOIS联系信息
3.证书信息
4.DNS解析信息
5.WHOIS-NAMESERVER信息
6.网页响应信息
1-4相对比较好理解,这里具体说下5和6,由于很多大公司采用自建DNS,所以其域名基本都会指向自建DNS NAMESERVER,这个特征可以作为是否为同公司资产的标准之一,具体可以看下图qq.com的whois;网页响应信息这里则可以通过CSP的头,网页相似度、引入静态资源的域名、网站的配置文件等。通过上述这6种方式来确定是否同公司的过程就是一个数据分析的过程,我们同时也可以发现这个确认方式是可逆的,也就是说当我们知道其中一个域名,想要知道该公司其他域名的时候,那么以上方式仍然奏效。
Part 2. WHY?
要问为什么要做自动化数据分析,那么首先要知道自动化数据分析的目的。我理解的数据分析主要包括两个目的,一是扩而充之,二是去伪存真。这两个其实都是比较好理解的,扩而充之和信息搜集的原则基本一致,主要是尽可能多而全的搜集到目标信息,而去伪存真则是确认目标信息,去除无关噪音信息,以免伤及无辜的同时也避免给自己带来一些不必要的麻烦。
我们先来聊聊扩而充之的问题,针对外部测试人员来说,渗透测试目标的资产主要包括域名、IP。当然严格意义上来说也可以包含安装包之类的客户端等。不过如果是针对的线上系统的测试,那么最主要的资产其实就是域名和IP,获得了更多的域名和IP,那么则相当于获得了更多的资产。
假如小A要向TSRC提交漏洞,如何搜集更多腾讯相关的资产呢?很多文章都会讲到子域名爆破、端口扫描等,但是爆破哪些域名?这些域名是否足够完整?获取端口信息的IP是否足够完整呢?回答这些疑问就是数据分析要做的。所以回到刚才上文提到的是否同资产的问题,如果小A在确认qq.com的域名隶属于腾讯之后,通过上述的模型关系则可以发现qq.com之外的更多兄弟域名,当然这只是数据分析的一小部分,数据分析的功能还包括获取更多的子域名、确定哪些域名是未启用状态、确定哪些域名是公共服务域名等,这也就是去伪存真的过程。
简单来说,信息搜集中的数据分析就是发现更多诸如上述的关联关系,并且在信息搜集中去通过自动化方式去构建它,从而提升我们信息搜集的广度和质量。
`