自动学习用于 DNS 发现的正则表达式

作者:Sec-Labs | 发布时间:

Project REGULATOR:自动学习用于 DNS 发现的正则表达式

我做这个很有趣,我希望这个项目会改变你看到子域枚举的方式。这里探索的方法非常有效和高效。

话虽如此,这不是灵丹妙药。并非每个 DNS 区域都使用此方法表现良好。当主机名中没有潜在的文本结构(即它们看似随机)或您的观察数据有限时,它会失败。

dank该项目的开发主要是为了通过( https://github.com/cramppet/dank ) 库展示常规语言排名的力量。我想表明排名和使用正则表达式作为模糊测试模板的概念可以很好地工作。

有关更多信息,请参阅此处的博客文章:https ://cramppet.github.io/regulator/index.html

项目地址

https://github.com/cramppet/regulator

安装

  1. pip3 install -r requirements.txt

用法

  1. 运行您选择的子域枚举工具

  2. 将找到的主机名提供给 REGULATOR:python3 main.py <example.com> <hosts-file> <output-file>

  3. 使用学习的规则生成蛮力猜测:make_brute_list.sh

例子

  1. python3 main.py adobe.com adobe adobe.rules

  2. make_brute_list.sh adobe.rules adobe.brute

  3. puredns resolve adobe.brute --write adobe.valid

请注意,发现的主机将与您的原始输入数据重叠。您可以使用以下方法进行重复数据删除:

  1. sort -u adobe.valid > 1 && mv 1 adobe.valid

  2. sort -u adobe > 1 && mv 1 adobe

  3. comm -23 adobe.valid adobe > adobe.final

标签:工具分享, dns枚举