Skip to content

Fix TLD time import crash, incomplete crt.sh/Yandex enum, and AAAA SE results - #579

Open
jandrusk wants to merge 7 commits into
darkoperator:masterfrom
jandrusk:fix/remaining-enum-bugs
Open

Fix TLD time import crash, incomplete crt.sh/Yandex enum, and AAAA SE results#579
jandrusk wants to merge 7 commits into
darkoperator:masterfrom
jandrusk:fix/remaining-enum-bugs

Conversation

@jandrusk

@jandrusk jandrusk commented Aug 5, 2026

Copy link
Copy Markdown

Summary

Fixes several enumeration bugs still present on current master:

  1. Missing import time in cli.pybrute_tlds() calls time.strftime / time.gmtime and crashes with NameError when estimating duration.
  2. Search-engine result processing drops AAAAse_result_process docstring says A/AAAA but only kept A and CNAME.
  3. crt.sh enumeration incomplete — only used common_name, skipped SAN name_value fields, discarded wildcards, and skipped the apex domain. Now parses both fields, de-stars wildcards, and accepts the apex.
  4. Yandex pagination broken — every request hit the same URL; page offsets were never applied. Requests now use p=<page>.

Test plan

  • Unit tests for crt.sh SAN/apex/wildcard parsing (tests/test_crtenum.py)
  • Unit tests for Yandex p= pagination (tests/test_yandexenum.py)
  • AAAA SE results + TLD time import coverage (tests/test_dnsrecon.py, tests/test_cli_regressions.py)
  • Targeted pytest run for the new/changed tests passed locally

Verification

pytest tests/test_crtenum.py tests/test_yandexenum.py tests/test_cli_regressions.py \
  tests/test_dnsrecon.py::test_se_result_process \
  tests/test_dnsrecon.py::test_brute_tlds_uses_time_module_for_duration_estimate -q

Several enumeration paths still produced incomplete or broken results:

- brute_tlds used time.strftime without importing time, crashing TLD mode
- se_result_process dropped AAAA answers despite resolving them via get_ip
- crt.sh parsing only used common_name and discarded wildcards/apex names
- Yandex scraping never advanced pages (same URL every iteration)

Add unit coverage for each fix.
- Import time so TLD brute force duration estimates no longer NameError
- Include AAAA answers in se_result_process (was A/CNAME only)
- Restore test_dnsrecon.py with coverage for both behaviors
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant