bbot 2.1.2.5223rc0__tar.gz → 2.1.2.5234rc0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of bbot might be problematic. Click here for more details.
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/PKG-INFO +1 -1
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/__init__.py +1 -1
- bbot-2.1.2.5234rc0/bbot/modules/dnsbimi.py +145 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/trufflehog.py +1 -1
- bbot-2.1.2.5234rc0/bbot/test/test_step_2/module_tests/test_module_dnsbimi.py +103 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/pyproject.toml +1 -1
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/LICENSE +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/README.md +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/cli.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/__init__.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/config/__init__.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/config/files.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/config/logger.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/core.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/engine.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/event/__init__.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/event/base.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/event/helpers.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/flags.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/__init__.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/async_helpers.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/bloom.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/cache.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/command.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/depsinstaller/__init__.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/depsinstaller/installer.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/depsinstaller/sudo_askpass.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/diff.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/dns/__init__.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/dns/brute.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/dns/dns.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/dns/engine.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/dns/helpers.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/dns/mock.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/files.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/helper.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/interactsh.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/libmagic.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/misc.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/names_generator.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/ntlm.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/process.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/ratelimiter.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/regex.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/regexes.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/url.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/validators.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/web/__init__.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/web/client.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/web/engine.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/web/ssl_context.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/web/web.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/helpers/wordcloud.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/modules.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/core/shared_deps.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/db/sql/models.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/defaults.yml +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/errors.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/logger.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/__init__.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/ajaxpro.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/anubisdb.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/apkpure.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/azure_realm.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/azure_tenant.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/baddns.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/baddns_direct.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/baddns_zone.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/badsecrets.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/base.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/bevigil.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/binaryedge.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/bucket_amazon.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/bucket_azure.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/bucket_digitalocean.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/bucket_file_enum.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/bucket_firebase.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/bucket_google.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/bufferoverrun.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/builtwith.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/bypass403.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/c99.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/censys.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/certspotter.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/chaos.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/code_repository.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/columbus.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/credshed.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/crt.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/deadly/dastardly.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/deadly/ffuf.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/deadly/nuclei.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/deadly/vhost.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/dehashed.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/digitorus.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/dnsbrute.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/dnsbrute_mutations.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/dnscaa.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/dnscommonsrv.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/dnsdumpster.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/docker_pull.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/dockerhub.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/dotnetnuke.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/emailformat.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/extractous.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/ffuf_shortnames.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/filedownload.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/fingerprintx.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/fullhunt.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/generic_ssrf.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/git.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/git_clone.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/github_codesearch.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/github_org.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/github_workflows.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/gitlab.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/google_playstore.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/gowitness.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/hackertarget.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/host_header.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/httpx.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/hunt.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/hunterio.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/iis_shortnames.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/internal/__init__.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/internal/aggregate.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/internal/base.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/internal/cloudcheck.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/internal/dnsresolve.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/internal/excavate.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/internal/speculate.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/internetdb.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/ip2location.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/ipneighbor.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/ipstack.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/jadx.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/leakix.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/myssl.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/newsletters.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/ntlm.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/oauth.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/otx.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/output/__init__.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/output/asset_inventory.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/output/base.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/output/csv.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/output/discord.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/output/emails.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/output/http.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/output/json.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/output/neo4j.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/output/python.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/output/slack.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/output/splunk.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/output/sqlite.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/output/stdout.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/output/subdomains.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/output/teams.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/output/txt.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/output/web_report.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/output/websocket.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/paramminer_cookies.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/paramminer_getparams.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/paramminer_headers.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/passivetotal.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/pgp.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/portscan.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/postman.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/postman_download.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/rapiddns.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/report/affiliates.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/report/asn.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/report/base.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/robots.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/secretsdb.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/securitytrails.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/securitytxt.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/shodan_dns.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/sitedossier.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/skymem.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/smuggler.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/social.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/sslcert.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/subdomaincenter.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/subdomainradar.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/telerik.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/templates/bucket.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/templates/github.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/templates/postman.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/templates/shodan.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/templates/sql.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/templates/subdomain_enum.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/templates/webhook.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/trickest.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/url_manipulation.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/urlscan.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/viewdns.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/virustotal.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/wafw00f.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/wappalyzer.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/wayback.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/wpscan.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/modules/zoomeye.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/presets/baddns-thorough.yml +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/presets/cloud-enum.yml +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/presets/code-enum.yml +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/presets/email-enum.yml +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/presets/kitchen-sink.yml +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/presets/spider.yml +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/presets/subdomain-enum.yml +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/presets/web/dirbust-heavy.yml +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/presets/web/dirbust-light.yml +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/presets/web/dotnet-audit.yml +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/presets/web/iis-shortnames.yml +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/presets/web/paramminer.yml +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/presets/web-basic.yml +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/presets/web-screenshots.yml +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/presets/web-thorough.yml +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/scanner/__init__.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/scanner/dispatcher.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/scanner/manager.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/scanner/preset/__init__.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/scanner/preset/args.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/scanner/preset/conditions.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/scanner/preset/environ.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/scanner/preset/path.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/scanner/preset/preset.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/scanner/scanner.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/scanner/stats.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/scanner/target.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/scripts/docs.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/__init__.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/bbot_fixtures.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/conftest.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/coverage.cfg +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/owasp_mastg.apk +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/run_tests.sh +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test.conf +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_output.ndjson +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/__init__.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test__module__tests.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test_bloom_filter.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test_cli.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test_command.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test_config.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test_depsinstaller.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test_dns.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test_docs.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test_engine.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test_events.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test_files.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test_helpers.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test_manager_deduplication.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test_manager_scope_accuracy.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test_modules_basic.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test_presets.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test_python_api.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test_regexes.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test_scan.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test_scope.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test_target.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_1/test_web.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/__init__.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/__init__.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/base.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_affiliates.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_aggregate.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_ajaxpro.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_anubisdb.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_apkpure.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_asn.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_asset_inventory.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_azure_realm.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_azure_tenant.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_baddns.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_baddns_direct.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_baddns_zone.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_badsecrets.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_bevigil.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_binaryedge.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_bucket_amazon.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_bucket_azure.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_bucket_digitalocean.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_bucket_file_enum.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_bucket_firebase.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_bucket_google.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_bufferoverrun.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_builtwith.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_bypass403.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_c99.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_censys.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_certspotter.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_chaos.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_cloudcheck.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_code_repository.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_columbus.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_credshed.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_crt.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_csv.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_dastardly.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_dehashed.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_digitorus.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_discord.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_dnsbrute.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_dnsbrute_mutations.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_dnscaa.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_dnscommonsrv.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_dnsdumpster.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_dnsresolve.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_docker_pull.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_dockerhub.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_dotnetnuke.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_emailformat.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_emails.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_excavate.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_extractous.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_ffuf.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_ffuf_shortnames.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_filedownload.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_fingerprintx.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_fullhunt.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_generic_ssrf.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_git.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_git_clone.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_github_codesearch.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_github_org.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_github_workflows.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_gitlab.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_google_playstore.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_gowitness.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_hackertarget.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_host_header.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_http.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_httpx.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_hunt.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_hunterio.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_iis_shortnames.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_internetdb.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_ip2location.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_ipneighbor.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_ipstack.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_jadx.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_json.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_leakix.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_myssl.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_neo4j.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_newsletters.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_ntlm.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_nuclei.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_oauth.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_otx.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_paramminer_cookies.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_paramminer_getparams.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_paramminer_headers.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_passivetotal.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_pgp.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_portscan.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_postman.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_postman_download.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_python.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_rapiddns.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_robots.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_secretsdb.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_securitytrails.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_securitytxt.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_shodan_dns.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_sitedossier.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_skymem.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_slack.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_smuggler.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_social.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_speculate.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_splunk.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_sqlite.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_sslcert.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_stdout.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_subdomaincenter.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_subdomainradar.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_subdomains.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_teams.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_telerik.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_trickest.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_trufflehog.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_txt.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_url_manipulation.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_urlscan.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_vhost.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_viewdns.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_virustotal.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_wafw00f.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_wappalyzer.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_wayback.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_web_report.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_websocket.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_wpscan.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/module_tests/test_module_zoomeye.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/template_tests/__init__.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/test_step_2/template_tests/test_template_subdomain_enum.py +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/testsslcert.pem +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/test/testsslkey.pem +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/wordlists/devops_mutations.txt +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/wordlists/ffuf_shortname_candidates.txt +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/wordlists/ms_on_prem_subdomains.txt +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/wordlists/nameservers.txt +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/wordlists/paramminer_headers.txt +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/wordlists/paramminer_parameters.txt +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/wordlists/raft-small-extensions-lowercase_CLEANED.txt +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/wordlists/top_open_ports_nmap.txt +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/wordlists/valid_url_schemes.txt +0 -0
- {bbot-2.1.2.5223rc0 → bbot-2.1.2.5234rc0}/bbot/wordlists/wordninja_dns.txt.gz +0 -0
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
# bimi.py
|
|
2
|
+
#
|
|
3
|
+
# Checks for and parses common BIMI DNS TXT records, e.g. default._bimi.target.domain
|
|
4
|
+
#
|
|
5
|
+
# Example TXT record: "v=BIMI1; l=https://example.com/brand/logo.svg; a=https://example.com/brand/certificate.pem"
|
|
6
|
+
#
|
|
7
|
+
# BIMI records may contain a link to an SVG format brand authorised image, which may be useful for:
|
|
8
|
+
# 1. Sub-domain or otherwise unknown content hosting locations
|
|
9
|
+
# 2. Brand impersonation
|
|
10
|
+
# 3. May not be formatted/stripped of metadata correctly leading to some (low value probably) information exposure
|
|
11
|
+
#
|
|
12
|
+
# BIMI records may also contain a link to a PEM format X.509 VMC certificate, which may be similarly useful.
|
|
13
|
+
#
|
|
14
|
+
# We simply extract any URL's as URL_UNVERIFIED, no further parsing or download is done by this module in order to remain passive.
|
|
15
|
+
#
|
|
16
|
+
# The domain portion of any URL's is also passively checked and added as appropriate, for additional inspection by other modules.
|
|
17
|
+
#
|
|
18
|
+
# Files may be downloaded by other modules which respond to URL_UNVERIFIED events, if you have configured bbot to do so.
|
|
19
|
+
#
|
|
20
|
+
# NOTE: .svg file extensions are filtered from inclusion by default, modify "url_extension_blacklist" appropriately if you want the .svg image to be considered for download.
|
|
21
|
+
#
|
|
22
|
+
# NOTE: use the "filedownload" module if you to download .svg and .pem files. .pem will be downloaded by defaut, .svg will require a customised configuration for that module.
|
|
23
|
+
#
|
|
24
|
+
# The domain portion of any URL_UNVERIFIED's will be extracted by the various internal modules if .svg is not filtered.
|
|
25
|
+
#
|
|
26
|
+
|
|
27
|
+
from bbot.modules.base import BaseModule
|
|
28
|
+
from bbot.core.helpers.dns.helpers import service_record
|
|
29
|
+
|
|
30
|
+
import re
|
|
31
|
+
|
|
32
|
+
# Handle "v=BIMI1; l=; a=;" == RFC conformant explicit declination to publish, e.g. useful on a sub-domain if you don't want the sub-domain to have a BIMI logo, yet your registered domain does?
|
|
33
|
+
# Handle "v=BIMI1; l=; a=" == RFC non-conformant explicit declination to publish
|
|
34
|
+
# Handle "v=BIMI1; l=;" == RFC non-conformant explicit declination to publish
|
|
35
|
+
# Handle "v=BIMI1; l=" == RFC non-conformant explicit declination to publish
|
|
36
|
+
# Handle "v=BIMI1;" == RFC non-conformant explicit declination to publish
|
|
37
|
+
# Handle "v=BIMI1" == RFC non-conformant explicit declination to publish
|
|
38
|
+
# Handle "v=BIMI1;l=https://bimi.entrust.net/example.com/logo.svg;"
|
|
39
|
+
# Handle "v=BIMI1; l=https://bimi.entrust.net/example.com/logo.svg;"
|
|
40
|
+
# Handle "v=BIMI1;l=https://bimi.entrust.net/example.com/logo.svg;a=https://bimi.entrust.net/example.com/certchain.pem"
|
|
41
|
+
# Handle "v=BIMI1; l=https://bimi.entrust.net/example.com/logo.svg;a=https://bimi.entrust.net/example.com/certchain.pem;"
|
|
42
|
+
_bimi_regex = r"^v=(?P<v>BIMI1);* *(l=(?P<l>https*://[^;]*|)|);*( *a=((?P<a>https://[^;]*|)|);*)*$"
|
|
43
|
+
bimi_regex = re.compile(_bimi_regex, re.I)
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class dnsbimi(BaseModule):
|
|
47
|
+
watched_events = ["DNS_NAME"]
|
|
48
|
+
produced_events = ["URL_UNVERIFIED", "RAW_DNS_RECORD"]
|
|
49
|
+
flags = ["subdomain-enum", "cloud-enum", "passive", "safe"]
|
|
50
|
+
meta = {
|
|
51
|
+
"description": "Check DNS_NAME's for BIMI records to find image and certificate hosting URL's",
|
|
52
|
+
"author": "@colin-stubbs",
|
|
53
|
+
"created_date": "2024-11-15",
|
|
54
|
+
}
|
|
55
|
+
options = {
|
|
56
|
+
"emit_raw_dns_records": False,
|
|
57
|
+
"emit_urls": True,
|
|
58
|
+
"selectors": "default,email,mail,bimi",
|
|
59
|
+
}
|
|
60
|
+
options_desc = {
|
|
61
|
+
"emit_raw_dns_records": "Emit RAW_DNS_RECORD events",
|
|
62
|
+
"emit_urls": "Emit URL_UNVERIFIED events",
|
|
63
|
+
"selectors": "CSV list of BIMI selectors to check",
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
async def setup(self):
|
|
67
|
+
self.emit_raw_dns_records = self.config.get("emit_raw_dns_records", False)
|
|
68
|
+
self.emit_urls = self.config.get("emit_urls", True)
|
|
69
|
+
self._selectors = self.config.get("selectors", "").replace(", ", ",").split(",")
|
|
70
|
+
|
|
71
|
+
return await super().setup()
|
|
72
|
+
|
|
73
|
+
def _incoming_dedup_hash(self, event):
|
|
74
|
+
# dedupe by parent
|
|
75
|
+
parent_domain = self.helpers.parent_domain(event.data)
|
|
76
|
+
return hash(parent_domain), "already processed parent domain"
|
|
77
|
+
|
|
78
|
+
async def filter_event(self, event):
|
|
79
|
+
if "_wildcard" in str(event.host).split("."):
|
|
80
|
+
return False, "event is wildcard"
|
|
81
|
+
|
|
82
|
+
# there's no value in inspecting service records
|
|
83
|
+
if service_record(event.host) == True:
|
|
84
|
+
return False, "service record detected"
|
|
85
|
+
|
|
86
|
+
return True
|
|
87
|
+
|
|
88
|
+
async def inspectBIMI(self, event, domain):
|
|
89
|
+
parent_domain = self.helpers.parent_domain(event.data)
|
|
90
|
+
rdtype = "TXT"
|
|
91
|
+
|
|
92
|
+
for selector in self._selectors:
|
|
93
|
+
tags = ["bimi-record", f"bimi-{selector}"]
|
|
94
|
+
hostname = f"{selector}._bimi.{parent_domain}"
|
|
95
|
+
|
|
96
|
+
r = await self.helpers.resolve_raw(hostname, type=rdtype)
|
|
97
|
+
|
|
98
|
+
if r:
|
|
99
|
+
raw_results, errors = r
|
|
100
|
+
|
|
101
|
+
for answer in raw_results:
|
|
102
|
+
if self.emit_raw_dns_records:
|
|
103
|
+
await self.emit_event(
|
|
104
|
+
{
|
|
105
|
+
"host": hostname,
|
|
106
|
+
"type": rdtype,
|
|
107
|
+
"answer": answer.to_text(),
|
|
108
|
+
},
|
|
109
|
+
"RAW_DNS_RECORD",
|
|
110
|
+
parent=event,
|
|
111
|
+
tags=tags.append(f"{rdtype.lower()}-record"),
|
|
112
|
+
context=f"{rdtype} lookup on {hostname} produced {{event.type}}",
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
# we need to strip surrounding quotes and whitespace, as well as fix TXT data that may have been split across two different rdata's
|
|
116
|
+
# e.g. we will get a single string, but within that string we may have two parts such as:
|
|
117
|
+
# answer = '"part 1 that was really long" "part 2 that did not fit in part 1"'
|
|
118
|
+
s = answer.to_text().strip('"').strip().replace('" "', "")
|
|
119
|
+
|
|
120
|
+
bimi_match = bimi_regex.search(s)
|
|
121
|
+
|
|
122
|
+
if bimi_match and bimi_match.group("v") and "bimi" in bimi_match.group("v").lower():
|
|
123
|
+
if bimi_match.group("l") and bimi_match.group("l") != "":
|
|
124
|
+
if self.emit_urls:
|
|
125
|
+
await self.emit_event(
|
|
126
|
+
bimi_match.group("l"),
|
|
127
|
+
"URL_UNVERIFIED",
|
|
128
|
+
parent=event,
|
|
129
|
+
tags=tags.append("bimi-location"),
|
|
130
|
+
)
|
|
131
|
+
|
|
132
|
+
if bimi_match.group("a") and bimi_match.group("a") != "":
|
|
133
|
+
if self.emit_urls:
|
|
134
|
+
await self.emit_event(
|
|
135
|
+
bimi_match.group("a"),
|
|
136
|
+
"URL_UNVERIFIED",
|
|
137
|
+
parent=event,
|
|
138
|
+
tags=tags.append("bimi-authority"),
|
|
139
|
+
)
|
|
140
|
+
|
|
141
|
+
async def handle_event(self, event):
|
|
142
|
+
await self.inspectBIMI(event, event.host)
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
# EOF
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
from .base import ModuleTestBase
|
|
2
|
+
|
|
3
|
+
raw_bimi_txt_default = (
|
|
4
|
+
'"v=BIMI1;l=https://bimi.test.localdomain/logo.svg; a=https://bimi.test.localdomain/certificate.pem"'
|
|
5
|
+
)
|
|
6
|
+
raw_bimi_txt_nondefault = '"v=BIMI1; l=https://nondefault.thirdparty.tld/brand/logo.svg;a=https://nondefault.thirdparty.tld/brand/certificate.pem;"'
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class TestBIMI(ModuleTestBase):
|
|
10
|
+
targets = ["test.localdomain"]
|
|
11
|
+
modules_overrides = ["dnsbimi", "speculate"]
|
|
12
|
+
config_overrides = {
|
|
13
|
+
"modules": {"dnsbimi": {"emit_raw_dns_records": True, "selectors": "default,nondefault"}},
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
async def setup_after_prep(self, module_test):
|
|
17
|
+
await module_test.mock_dns(
|
|
18
|
+
{
|
|
19
|
+
"test.localdomain": {
|
|
20
|
+
"A": ["127.0.0.11"],
|
|
21
|
+
},
|
|
22
|
+
"bimi.test.localdomain": {
|
|
23
|
+
"A": ["127.0.0.22"],
|
|
24
|
+
},
|
|
25
|
+
"_bimi.test.localdomain": {
|
|
26
|
+
"A": ["127.0.0.33"],
|
|
27
|
+
},
|
|
28
|
+
"default._bimi.test.localdomain": {
|
|
29
|
+
"A": ["127.0.0.44"],
|
|
30
|
+
"TXT": [raw_bimi_txt_default],
|
|
31
|
+
},
|
|
32
|
+
"nondefault._bimi.test.localdomain": {
|
|
33
|
+
"A": ["127.0.0.44"],
|
|
34
|
+
"TXT": [raw_bimi_txt_nondefault],
|
|
35
|
+
},
|
|
36
|
+
"_bimi.default._bimi.test.localdomain": {
|
|
37
|
+
"A": ["127.0.0.44"],
|
|
38
|
+
"TXT": [raw_bimi_txt_default],
|
|
39
|
+
},
|
|
40
|
+
"_bimi.nondefault._bimi.test.localdomain": {
|
|
41
|
+
"A": ["127.0.0.44"],
|
|
42
|
+
"TXT": [raw_bimi_txt_default],
|
|
43
|
+
},
|
|
44
|
+
"default._bimi.default._bimi.test.localdomain": {
|
|
45
|
+
"A": ["127.0.0.44"],
|
|
46
|
+
"TXT": [raw_bimi_txt_default],
|
|
47
|
+
},
|
|
48
|
+
"nondefault._bimi.nondefault._bimi.test.localdomain": {
|
|
49
|
+
"A": ["127.0.0.44"],
|
|
50
|
+
"TXT": [raw_bimi_txt_nondefault],
|
|
51
|
+
},
|
|
52
|
+
}
|
|
53
|
+
)
|
|
54
|
+
|
|
55
|
+
def check(self, module_test, events):
|
|
56
|
+
assert any(
|
|
57
|
+
e.type == "RAW_DNS_RECORD"
|
|
58
|
+
and e.data["host"] == "default._bimi.test.localdomain"
|
|
59
|
+
and e.data["type"] == "TXT"
|
|
60
|
+
and e.data["answer"] == raw_bimi_txt_default
|
|
61
|
+
for e in events
|
|
62
|
+
), "Failed to emit RAW_DNS_RECORD"
|
|
63
|
+
assert any(
|
|
64
|
+
e.type == "RAW_DNS_RECORD"
|
|
65
|
+
and e.data["host"] == "nondefault._bimi.test.localdomain"
|
|
66
|
+
and e.data["type"] == "TXT"
|
|
67
|
+
and e.data["answer"] == raw_bimi_txt_nondefault
|
|
68
|
+
for e in events
|
|
69
|
+
), "Failed to emit RAW_DNS_RECORD"
|
|
70
|
+
|
|
71
|
+
assert any(
|
|
72
|
+
e.type == "DNS_NAME" and e.data == "bimi.test.localdomain" for e in events
|
|
73
|
+
), "Failed to emit DNS_NAME"
|
|
74
|
+
|
|
75
|
+
# This should be filtered by a default BBOT configuration
|
|
76
|
+
assert not any(str(e.data) == "https://nondefault.thirdparty.tld/brand/logo.svg" for e in events)
|
|
77
|
+
|
|
78
|
+
# This should not be filtered by a default BBOT configuration
|
|
79
|
+
assert any(
|
|
80
|
+
e.type == "URL_UNVERIFIED" and e.data == "https://bimi.test.localdomain/certificate.pem" for e in events
|
|
81
|
+
), "Failed to emit URL_UNVERIFIED"
|
|
82
|
+
|
|
83
|
+
# These should be filtered simply due to distance
|
|
84
|
+
assert not any(str(e.data) == "https://nondefault.thirdparty.tld/brand/logo.svg" for e in events)
|
|
85
|
+
assert not any(str(e.data) == "https://nondefault.thirdparty.tld/certificate.pem" for e in events)
|
|
86
|
+
|
|
87
|
+
# These should have been filtered via filter_event()
|
|
88
|
+
assert not any(
|
|
89
|
+
e.type == "RAW_DNS_RECORD" and e.data["host"] == "default._bimi.default._bimi.test.localdomain"
|
|
90
|
+
for e in events
|
|
91
|
+
), "Unwanted recursion occurring"
|
|
92
|
+
assert not any(
|
|
93
|
+
e.type == "RAW_DNS_RECORD" and e.data["host"] == "nondefault._bimi.nondefault._bimi.test.localdomain"
|
|
94
|
+
for e in events
|
|
95
|
+
), "Unwanted recursion occurring"
|
|
96
|
+
assert not any(
|
|
97
|
+
e.type == "RAW_DNS_RECORD" and e.data["host"] == "nondefault._bimi.default._bimi.test.localdomain"
|
|
98
|
+
for e in events
|
|
99
|
+
), "Unwanted recursion occurring"
|
|
100
|
+
assert not any(
|
|
101
|
+
e.type == "RAW_DNS_RECORD" and e.data["host"] == "default._bimi.nondefault._bimi.test.localdomain"
|
|
102
|
+
for e in events
|
|
103
|
+
), "Unwanted recursion occurring"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|