Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
408 commits
Select commit Hold shift + click to select a range
5146587
update flags
TheTechromancer Jan 30, 2023
4b17bdb
update fingerprintx
TheTechromancer Jan 30, 2023
16ca548
Merge pull request #252 from blacklanternsecurity/update-readme
TheTechromancer Jan 30, 2023
3b14462
fix tests
TheTechromancer Jan 30, 2023
8ccbcfc
fixed tests again
TheTechromancer Jan 30, 2023
46a03cc
Merge pull request #253 from blacklanternsecurity/fingerprintx
TheTechromancer Jan 30, 2023
3c4a1c3
removed debugging message
TheTechromancer Jan 30, 2023
6f658b8
Merge pull request #254 from blacklanternsecurity/fingerprintx
TheTechromancer Jan 31, 2023
a2c00dd
robots.py initial
liquidsec Feb 1, 2023
215dc4b
clean up comments
liquidsec Feb 1, 2023
4b62a6f
add cloud provider IP detection via cdncheck, rename gcp --> google, …
TheTechromancer Jan 10, 2023
96f7a2e
added subdomain enumeration filter
TheTechromancer Jan 10, 2023
95be0d9
Revert "Cloud IP Detection"
TheTechromancer Jan 10, 2023
a335cb6
add cloud provider IP detection via cdncheck, rename gcp --> google, …
TheTechromancer Jan 10, 2023
1aeb773
added subdomain enumeration filter
TheTechromancer Jan 10, 2023
2db70c3
Revert "Cloud IP Detection"
TheTechromancer Jan 10, 2023
61b47c5
Merge branch 'dev' into robots
liquidsec Feb 1, 2023
d46262c
conflict merge
liquidsec Feb 1, 2023
89c6003
black
liquidsec Feb 1, 2023
30a41d7
blackpocalypse, apparently
liquidsec Feb 1, 2023
708e525
removing test file
liquidsec Feb 1, 2023
a16d5c3
blackpocalypse
liquidsec Feb 1, 2023
8669b0a
blackpocalypse
liquidsec Feb 1, 2023
3d74377
Merge pull request #258 from blacklanternsecurity/blackpocalypse
liquidsec Feb 1, 2023
68c89a4
fix conflict
liquidsec Feb 1, 2023
abbcc2b
merge conflict
liquidsec Feb 1, 2023
befefe1
fixing stuff from merge
liquidsec Feb 1, 2023
99d4902
more black
liquidsec Feb 1, 2023
31284b8
replaced sleep statements with threading.Condition()
TheTechromancer Feb 1, 2023
69727e9
fixed lint
TheTechromancer Feb 1, 2023
6b32c6c
fix ipstack
TheTechromancer Feb 1, 2023
60311ad
Merge pull request #259 from blacklanternsecurity/no-sleep
TheTechromancer Feb 1, 2023
0dcb5df
Merge pull request #260 from blacklanternsecurity/ipstack-fix
TheTechromancer Feb 1, 2023
c3c95ee
Merge pull request #257 from blacklanternsecurity/robots
liquidsec Feb 1, 2023
f0515f6
let there be punycode support?
TheTechromancer Feb 1, 2023
fe49d2d
preventing errors with when requests returns None
liquidsec Feb 1, 2023
2d228e3
Merge pull request #262 from blacklanternsecurity/robots
liquidsec Feb 1, 2023
41175ac
fixed url parsing
TheTechromancer Feb 2, 2023
43225b3
excavate non-http urls
TheTechromancer Feb 2, 2023
95c00ed
fix circular import error
TheTechromancer Feb 2, 2023
8e0e22b
fix fingerprintx tests
TheTechromancer Feb 2, 2023
6cdc0f1
sort asset inventory
TheTechromancer Feb 2, 2023
1c608d4
skip common non-ssl ports by default
TheTechromancer Feb 2, 2023
9512d55
fixed tests
TheTechromancer Feb 2, 2023
af69799
dedupe technology events by host+port+tech
TheTechromancer Feb 2, 2023
9fdfca6
updated protocol event in tests
TheTechromancer Feb 2, 2023
93efded
Merge pull request #268 from blacklanternsecurity/dedupe-technologies-2
TheTechromancer Feb 3, 2023
f2dd4cc
Merge pull request #266 from blacklanternsecurity/sslcert-skip-port-80
TheTechromancer Feb 3, 2023
6cc1419
Merge pull request #265 from blacklanternsecurity/sort-asset-inventory
TheTechromancer Feb 3, 2023
4c9419f
Merge pull request #264 from blacklanternsecurity/excavate-non-http-urls
TheTechromancer Feb 3, 2023
f1540e8
Merge pull request #261 from blacklanternsecurity/punycode-support
TheTechromancer Feb 3, 2023
8884f49
publish dev versions to pypi as release candidates
TheTechromancer Feb 3, 2023
2f272ad
add os platform + architecture detection, update package manage cache
TheTechromancer Feb 3, 2023
757fcbf
don't sudo brew, install python3-apt as core dependency
TheTechromancer Feb 3, 2023
f9506fa
Merge pull request #271 from blacklanternsecurity/pypi-publish-dev
TheTechromancer Feb 4, 2023
867845c
output to TXT, CSV, and JSON by default
TheTechromancer Feb 6, 2023
885edc3
by default, only display in-scope events
TheTechromancer Feb 6, 2023
a1ab106
fix massdns build for macos, add new human-friendly os platform helper
TheTechromancer Feb 6, 2023
38c67e2
update status message
TheTechromancer Feb 6, 2023
8ee0e75
updated readme, improved dns_resolution behavior
TheTechromancer Feb 7, 2023
125a9ae
Merge pull request #274 from blacklanternsecurity/default-output-modules
TheTechromancer Feb 7, 2023
c8f7aa1
add extra condition for installing python3-apt
TheTechromancer Feb 7, 2023
1f65fba
updated GIF
TheTechromancer Feb 7, 2023
1958db6
updated readme example for python API
TheTechromancer Feb 7, 2023
81f8019
Merge pull request #272 from blacklanternsecurity/multiple-platform-b…
TheTechromancer Feb 7, 2023
a9e2196
enter toggles log verbosity level
TheTechromancer Feb 7, 2023
7edd86e
Merge pull request #280 from blacklanternsecurity/enter-toggles-verbo…
TheTechromancer Feb 7, 2023
a14635c
Merge pull request #275 from blacklanternsecurity/default-report-dist…
TheTechromancer Feb 8, 2023
e7bf1e3
adding web_report
liquidsec Feb 7, 2023
cdffd0a
accidentally removed line
liquidsec Feb 7, 2023
800cf1a
fixing test
liquidsec Feb 7, 2023
e4b1b24
fixing import
liquidsec Feb 8, 2023
3342805
switch markdown module
liquidsec Feb 8, 2023
9a1eed3
Merge branch 'dev' into web_report
liquidsec Feb 8, 2023
a5d1096
black
liquidsec Feb 8, 2023
232e81c
remove debug statement, tests adjustment
liquidsec Feb 8, 2023
5da29d1
bug-fix and description adjustment
liquidsec Feb 8, 2023
a8bc444
Merge pull request #281 from blacklanternsecurity/web_report
liquidsec Feb 8, 2023
1691db2
Merge pull request #283 from blacklanternsecurity/badsecrets_bugfix2
liquidsec Feb 8, 2023
c735962
made canary messages less noisy
liquidsec Feb 9, 2023
c480524
pin min version and remove from web-basic
liquidsec Feb 9, 2023
2f091a7
Merge pull request #287 from blacklanternsecurity/badsecrets_adjust
liquidsec Feb 9, 2023
9ea339a
bugfix for another rare edgecase
liquidsec Feb 10, 2023
8aebff8
Merge pull request #288 from blacklanternsecurity/badsecrets_adjust
liquidsec Feb 10, 2023
e3806b9
Merge pull request #289 from blacklanternsecurity/brute_modules_tweak
liquidsec Feb 10, 2023
42402b1
add 'functionality' regexes
liquidsec Feb 10, 2023
f2bc525
fix python3-apt bug
TheTechromancer Feb 10, 2023
d2994c3
Merge pull request #290 from blacklanternsecurity/excavate_functionality
liquidsec Feb 10, 2023
5435e51
Merge pull request #292 from blacklanternsecurity/python3-apt-fix
liquidsec Feb 10, 2023
aa2a52c
subdomain hijacking update
TheTechromancer Feb 10, 2023
ff9ddce
package management tweaks
TheTechromancer Feb 10, 2023
ccf027b
fixed dns resolution distance bug
TheTechromancer Feb 13, 2023
e3ee970
Merge pull request #296 from blacklanternsecurity/fix-dns-distance-bug
TheTechromancer Feb 13, 2023
a17d89c
Merge pull request #293 from blacklanternsecurity/subdomain-hijacking…
TheTechromancer Feb 13, 2023
84fc272
fixed excavate bugs, wrote tests
TheTechromancer Feb 13, 2023
88ac9d2
Merge pull request #297 from blacklanternsecurity/fix-excavate-bugs
TheTechromancer Feb 13, 2023
9b4ff77
small improvements to dns resolution, request helper
TheTechromancer Feb 13, 2023
0a33341
updated ansible
TheTechromancer Feb 13, 2023
76442c4
change start function call to fix scanner in gui
batgoose Feb 13, 2023
386bf5a
dns parallelization, thread pool debugging, lower http timeout
TheTechromancer Feb 14, 2023
812cbc1
fix threadpool bug
TheTechromancer Feb 14, 2023
b58ea4e
Merge pull request #299 from blacklanternsecurity/fix-start-scanner-f…
TheTechromancer Feb 14, 2023
e875709
update cloudcheck
TheTechromancer Feb 14, 2023
f8df617
updated cloudcheck version
TheTechromancer Feb 14, 2023
54c55ff
add module option to abort after http failures
TheTechromancer Feb 15, 2023
39e795e
wafw00f module
liquidsec Feb 15, 2023
5c66a41
adding wafw00f reference URL
liquidsec Feb 15, 2023
f7a524d
improved wildcard detection accuracy, performance
TheTechromancer Feb 15, 2023
9939285
add in scope only flag
liquidsec Feb 15, 2023
4f185e7
names
liquidsec Feb 15, 2023
70613db
fixed pretty major dns bug
TheTechromancer Feb 15, 2023
558999f
additional tests ( ͡~ ͜ʖ ͡°)
liquidsec Feb 15, 2023
28c6127
allow for better thread pool debugging
TheTechromancer Feb 15, 2023
0a75c6b
Merge pull request #303 from blacklanternsecurity/wafw00f
liquidsec Feb 15, 2023
8a2d737
catch keyboardinterrupts
TheTechromancer Feb 15, 2023
47425e3
slew threading dragons?
TheTechromancer Feb 16, 2023
c0e6351
subdomain enum optimizations
TheTechromancer Feb 16, 2023
874d614
optimized sslcert
TheTechromancer Feb 16, 2023
d390104
better debugging on thread pools
TheTechromancer Feb 16, 2023
fbe14a5
better debugging on thread pools
TheTechromancer Feb 16, 2023
160166f
fix crobat bug
TheTechromancer Feb 16, 2023
efdbc67
thread pool debugging
TheTechromancer Feb 16, 2023
43587df
performance boost, improve filter_event timing
TheTechromancer Feb 16, 2023
b96b912
sort work items by running time
TheTechromancer Feb 16, 2023
f78283f
threading dragons
TheTechromancer Feb 16, 2023
4fdca2b
threading kwargs debug
TheTechromancer Feb 16, 2023
e90b170
lower priority on dns events
TheTechromancer Feb 17, 2023
051a6c7
don't wrap dns thread pool
TheTechromancer Feb 17, 2023
2499be9
flake8
TheTechromancer Feb 17, 2023
60f0b4d
fixed tests
TheTechromancer Feb 17, 2023
c21fec3
fix tests again
TheTechromancer Feb 17, 2023
ff1b17c
improved event tests
TheTechromancer Feb 17, 2023
ae96dcd
fix tests
TheTechromancer Feb 17, 2023
5c34284
removed secrets module
TheTechromancer Feb 17, 2023
c0d55fe
web_report but fix and change to output module cli behavior
liquidsec Feb 17, 2023
629c7ef
ASN module tests
TheTechromancer Feb 17, 2023
94c31e4
fixed conflict
TheTechromancer Feb 17, 2023
664669b
Merge pull request #305 from blacklanternsecurity/web_report
liquidsec Feb 17, 2023
081e9bf
improving iis_shortname detection
liquidsec Feb 20, 2023
9ee9cbe
fixing false positive bug
liquidsec Feb 20, 2023
836914c
removing unneccessary header kwargs
liquidsec Feb 21, 2023
caf7fa1
adding dir filter to iis_shortnames, making ignoring redirects defaul…
liquidsec Feb 21, 2023
d4764a4
added node_count, added directory_confirm check
liquidsec Feb 21, 2023
6337225
updated asn tests
TheTechromancer Feb 21, 2023
2082b16
better debug logging, max node limit
liquidsec Feb 21, 2023
32842af
fix http retries bug
TheTechromancer Feb 21, 2023
eaae47d
bug fix with directory shortnames
liquidsec Feb 21, 2023
0834fff
revise massdns canary logic
TheTechromancer Feb 21, 2023
9e571f5
Merge pull request #307 from blacklanternsecurity/iis_shortnames_bett…
liquidsec Feb 21, 2023
eb2bb3c
Merge pull request #306 from blacklanternsecurity/asn-tests
TheTechromancer Feb 22, 2023
3b43c07
adding common prefix finder functionality
liquidsec Feb 22, 2023
7432436
fixed bug with wordlist lines option
liquidsec Feb 23, 2023
50989f8
reduced deplicate scans caused by case sensitivity
liquidsec Feb 23, 2023
505bab8
fix bug where config secrets were improperly filtered
TheTechromancer Feb 23, 2023
2bb6c56
fixed shortname file behavior, wordlist adjustments
liquidsec Feb 24, 2023
dd3bec6
adjust defaults
liquidsec Feb 24, 2023
b32fdf2
pleasing the test gods
liquidsec Feb 24, 2023
b354fb8
silly checks to make the tests happy + safeguards to stop loading ent…
liquidsec Feb 24, 2023
2a5150d
flake8
liquidsec Feb 24, 2023
7764632
ffuf test
liquidsec Feb 24, 2023
4a3a7e8
removing debug statements
liquidsec Feb 24, 2023
fa3bea1
Merge pull request #309 from blacklanternsecurity/fix-config-secrets-bug
TheTechromancer Feb 24, 2023
14869b4
disabled wildcard rejection for crt module, removed crobat, sublist3r…
TheTechromancer Feb 24, 2023
e460b39
Merge pull request #298 from blacklanternsecurity/misc-performance-op…
TheTechromancer Feb 24, 2023
8809299
don't create config files on import
TheTechromancer Feb 27, 2023
8c7f6a4
cleaned up wordlist
liquidsec Feb 27, 2023
a6e339a
added delimeter detection, made advanced modes optional
liquidsec Feb 28, 2023
8128b8c
Offload nameserver validation to https://github.com/blacklanternsecur…
TheTechromancer Mar 2, 2023
84eec41
abort if not enough nameservers
TheTechromancer Mar 2, 2023
1bc0efc
nevermind
TheTechromancer Mar 2, 2023
b219c59
fix tests
TheTechromancer Mar 2, 2023
2f2f83e
Added source module to subdomain hijack finding description
TheTechromancer Mar 2, 2023
52ecab5
adjusting tests
liquidsec Mar 2, 2023
8d170da
adding option description
liquidsec Mar 2, 2023
26c7220
tag urls with http title, add event tag sanitization
TheTechromancer Mar 2, 2023
f0e4471
added setter
TheTechromancer Mar 2, 2023
8963a74
Merge pull request #319 from blacklanternsecurity/subdomain-hijacking…
TheTechromancer Mar 2, 2023
a63e7fc
Merge pull request #314 from blacklanternsecurity/no-state-change-on-…
TheTechromancer Mar 2, 2023
a27741c
Merge pull request #318 from blacklanternsecurity/offload-nameserver-…
TheTechromancer Mar 2, 2023
90d859f
fixed requests race condition
TheTechromancer Mar 2, 2023
a815e9e
iis_shortnames test
liquidsec Mar 4, 2023
6dca16f
ffuf_shortnames tests
liquidsec Mar 4, 2023
43ec2d1
making ffuf_test use test wordlist
liquidsec Mar 4, 2023
a7e33f9
adding ffuf_shortnames directory test
liquidsec Mar 4, 2023
4f3c848
more test coverage
liquidsec Mar 4, 2023
0953239
moooore test coverage
liquidsec Mar 4, 2023
066dfe6
Merge pull request #311 from blacklanternsecurity/ffuf_shortnames_pre…
liquidsec Mar 5, 2023
1e6a3f1
Merge branch 'dev' into shortname_module_tests
liquidsec Mar 5, 2023
01bf29f
black
liquidsec Mar 5, 2023
e76e48c
Merge pull request #325 from blacklanternsecurity/shortname_module_tests
liquidsec Mar 5, 2023
1c4f5d0
fix session bug
TheTechromancer Mar 6, 2023
7c8281f
Merge pull request #321 from blacklanternsecurity/requests-race-condi…
TheTechromancer Mar 6, 2023
ed19372
fix event emission bug
TheTechromancer Mar 6, 2023
d14d049
remove python3-apt install
TheTechromancer Mar 6, 2023
fea42e8
fix KeyError with set.remove()
TheTechromancer Mar 6, 2023
0e33bb8
remove unnecessary batch submission delay
TheTechromancer Mar 6, 2023
82a7942
Merge pull request #327 from blacklanternsecurity/wayback-bugfix
TheTechromancer Mar 6, 2023
1a5b45f
Merge pull request #320 from blacklanternsecurity/tag-url-events-with…
TheTechromancer Mar 6, 2023
80c1f9d
remove batch_idle
TheTechromancer Mar 6, 2023
7108870
only exclude SANs, not common name
TheTechromancer Mar 6, 2023
c2bb5d5
fix DNS thread submission bug
TheTechromancer Mar 6, 2023
248f6f5
flake8 fix
TheTechromancer Mar 6, 2023
fb8d6c6
fixed hanging bug, bumped nuclei version
TheTechromancer Mar 7, 2023
8f2f812
fix event emission bug
TheTechromancer Mar 6, 2023
8d4e974
remove python3-apt install
TheTechromancer Mar 6, 2023
e66a214
tag urls with http title, add event tag sanitization
TheTechromancer Mar 2, 2023
8c3b06d
added setter
TheTechromancer Mar 2, 2023
1a4d048
fix KeyError with set.remove()
TheTechromancer Mar 6, 2023
34986ba
tweak httpx tagging
TheTechromancer Mar 7, 2023
f4b4b33
made speculate ports a configurable option
liquidsec Mar 7, 2023
6c0f506
removing duplicate line
liquidsec Mar 7, 2023
7fda79c
fixed bug in bugfix
TheTechromancer Mar 7, 2023
92ba636
Merge pull request #335 from blacklanternsecurity/speculate_port_options
liquidsec Mar 7, 2023
a8c1b60
add require_api_key() helper
TheTechromancer Mar 7, 2023
69e6f67
add auth_secret property in base module class
TheTechromancer Mar 7, 2023
d1f77dc
resolve conflict
TheTechromancer Mar 7, 2023
372a4ea
Merge pull request #330 from blacklanternsecurity/batch-delay-perf
TheTechromancer Mar 7, 2023
257ed7e
adding nuclei tests
liquidsec Mar 8, 2023
4c5fccc
deleting duplicate setting
liquidsec Mar 8, 2023
d9300bf
Merge branch 'nuclei_tests' into nuclei-bugfix
liquidsec Mar 8, 2023
1595480
updating to reflect nuclei flag name change
liquidsec Mar 8, 2023
8a0812f
updating nuclei tests
liquidsec Mar 8, 2023
1b79d96
beautifulsoup4 --> bs4
TheTechromancer Mar 8, 2023
abae6a9
Merge pull request #332 from blacklanternsecurity/nuclei-bugfix
TheTechromancer Mar 8, 2023
1f98575
updated readme, reworked event.always_in_scope --> event.always_emit
TheTechromancer Mar 8, 2023
3f43384
updated readme
TheTechromancer Mar 8, 2023
535828e
Merge pull request #338 from blacklanternsecurity/update-readme
TheTechromancer Mar 8, 2023
1ffb0f2
bump pypi versions
TheTechromancer Mar 8, 2023
4d86aa4
websocket --> websocket-client
TheTechromancer Mar 8, 2023
49a9692
adding additional scope tests
liquidsec Mar 8, 2023
f20e6ca
flake8
liquidsec Mar 8, 2023
ebb8807
narrowing import scope
liquidsec Mar 8, 2023
cee62f6
Merge pull request #341 from blacklanternsecurity/scope_tests
liquidsec Mar 9, 2023
e2fd6b4
Merge pull request #340 from blacklanternsecurity/bump-version
TheTechromancer Mar 9, 2023
58926ab
small bug fix and tests for url_manipulation
liquidsec Mar 9, 2023
bb40832
typo
liquidsec Mar 9, 2023
0312783
removing debugging
liquidsec Mar 9, 2023
1ea47f2
Merge pull request #345 from blacklanternsecurity/url_manipulation_bu…
liquidsec Mar 9, 2023
65193ca
reworked tags, removed unnecessary session caching
TheTechromancer Mar 9, 2023
147c122
fix small bug in module recommendation feature
TheTechromancer Mar 9, 2023
c4fb234
more work on tags
TheTechromancer Mar 9, 2023
d8ee0d5
web-thorough tag
TheTechromancer Mar 9, 2023
cc42580
fix tests
TheTechromancer Mar 9, 2023
b270117
fix tests again
TheTechromancer Mar 9, 2023
2e96a13
fix tests, again
TheTechromancer Mar 10, 2023
4960a3d
update readme
TheTechromancer Mar 10, 2023
d7e8da6
update readme
TheTechromancer Mar 10, 2023
3dcce74
update readme
TheTechromancer Mar 10, 2023
253f15e
bug fix for the paramminer modules and additional tests
liquidsec Mar 10, 2023
9388361
Merge pull request #349 from blacklanternsecurity/flag-organization
TheTechromancer Mar 10, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
blackpocalypse
  • Loading branch information
liquidsec committed Feb 1, 2023
commit a16d5c39fc1435a2379c342bbd833080d496bd5c
2 changes: 0 additions & 2 deletions bbot/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,10 @@


def main():

err = False
scan_name = ""

try:

if len(sys.argv) == 1:
parser.print_help()
sys.exit(1)
Expand Down
1 change: 0 additions & 1 deletion bbot/core/configurator/files.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ def _get_config(filename, name="config", notify=True):


def get_config():

return OmegaConf.merge(
_get_config(defaults_filename, name="defaults"),
_get_config(config_filename, name="config"),
Expand Down
2 changes: 0 additions & 2 deletions bbot/core/event/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@


class BaseEvent:

# Exclude from output modules
_omit = False
# Disables certain data validations
Expand All @@ -51,7 +50,6 @@ def __init__(
_dummy=False,
_internal=None,
):

self._id = None
self._hash = None
self.__host = None
Expand Down
1 change: 0 additions & 1 deletion bbot/core/helpers/cloud/aws.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@


class AWS(BaseCloudProvider):

domains = [
"amazon-dss.com",
"amazonaws.com",
Expand Down
1 change: 0 additions & 1 deletion bbot/core/helpers/cloud/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@


class BaseCloudProvider:

domains = []
regexes = {}

Expand Down
3 changes: 0 additions & 3 deletions bbot/core/helpers/diff.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@

class HttpCompare:
def __init__(self, baseline_url, parent_helper, method="GET", allow_redirects=False):

self.parent_helper = parent_helper
self.baseline_url = baseline_url

Expand Down Expand Up @@ -77,7 +76,6 @@ def gen_cache_buster(self):
return {self.parent_helper.rand_string(6): "1"}

def compare_headers(self, headers_1, headers_2):

differing_headers = []

for i, headers in enumerate((headers_1, headers_2)):
Expand All @@ -99,7 +97,6 @@ def compare_headers(self, headers_1, headers_2):
return differing_headers

def compare_body(self, content_1, content_2):

if content_1 == content_2:
return True

Expand Down
6 changes: 2 additions & 4 deletions bbot/core/helpers/dns.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ class DNSHelper:
all_rdtypes = ["A", "AAAA", "SRV", "MX", "NS", "SOA", "CNAME", "TXT"]

def __init__(self, parent_helper):

self.parent_helper = parent_helper
try:
self.resolver = dns.resolver.Resolver()
Expand Down Expand Up @@ -92,7 +91,7 @@ def resolve(self, query, **kwargs):
"""
results = set()
raw_results, errors = self.resolve_raw(query, **kwargs)
for (rdtype, answers) in raw_results:
for rdtype, answers in raw_results:
for answer in answers:
for _, t in self.extract_targets(answer):
results.add(t)
Expand Down Expand Up @@ -580,7 +579,7 @@ def is_wildcard(self, query, ips=None):
self.debug(f"Failed to resolve {query} ({rdtype}) during wildcard detection")
result[rdtype] = (None, parent)
continue
for (rdtype, answers) in raw_results:
for rdtype, answers in raw_results:
for answer in answers:
for _, t in self.extract_targets(answer):
query_ips.add(t)
Expand Down Expand Up @@ -624,7 +623,6 @@ def is_wildcard_domain(self, domain, retries=5):
# have we checked this host before?
host_hash = hash(host)
with self._wildcard_lock.get_lock(host_hash):

# if we've seen this host before
if host_hash in self._wildcard_cache:
wildcard_domain_results[host] = self._wildcard_cache[host_hash]
Expand Down
1 change: 0 additions & 1 deletion bbot/core/helpers/helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ def interactsh(self):
return Interactsh(self)

def http_compare(self, url, allow_redirects=False):

return HttpCompare(url, self, allow_redirects=allow_redirects)

def temp_filename(self):
Expand Down
4 changes: 0 additions & 4 deletions bbot/core/helpers/interactsh.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ def __init__(self, parent_helper):
self._thread = None

def register(self, callback=None):

rsa = RSA.generate(1024)

self.public_key = rsa.publickey().exportKey()
Expand Down Expand Up @@ -84,7 +83,6 @@ def register(self, callback=None):
return self.domain

def deregister(self):

if not self.server or not self.correlation_id or not self.secret:
raise InteractshError(f"Missing required information to deregister")

Expand All @@ -99,7 +97,6 @@ def deregister(self):
raise InteractshError(f"Failed to de-register with interactsh server {self.server}")

def poll(self):

if not self.server or not self.correlation_id or not self.secret:
raise InteractshError(f"Missing required information to poll")

Expand All @@ -116,7 +113,6 @@ def poll(self):
aes_key = r.json()["aes_key"]

for data in data_list:

decrypted_data = self.decrypt(aes_key, data)
yield decrypted_data

Expand Down
2 changes: 0 additions & 2 deletions bbot/core/helpers/web.py
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,6 @@ def api_page_iter(self, url, page_size=100, json=True, **requests_kwargs):


def curl(self, *args, **kwargs):

url = kwargs.get("url", "")

if not url:
Expand Down Expand Up @@ -248,7 +247,6 @@ def curl(self, *args, **kwargs):

cookies = kwargs.get("cookies", "")
if cookies:

curl_command.append("-b")
cookies_str = ""
for k, v in cookies.items():
Expand Down
1 change: 0 additions & 1 deletion bbot/core/logger/logger.py
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,6 @@ def log_worker_setup(logging_queue):


def log_listener_setup(logging_queue):

log_dir = Path(config["home"]) / "logs"
if not mkdir(log_dir, raise_error=False):
error_and_exit(f"Failure creating or error writing to BBOT logs directory ({log_dir})")
Expand Down
1 change: 0 additions & 1 deletion bbot/modules/anubisdb.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@


class anubisdb(crobat):

flags = ["subdomain-enum", "passive", "safe"]
watched_events = ["DNS_NAME"]
produced_events = ["DNS_NAME"]
Expand Down
1 change: 0 additions & 1 deletion bbot/modules/badsecrets.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@


class badsecrets(BaseModule):

watched_events = ["HTTP_RESPONSE"]
produced_events = ["FINDING", "VULNERABILITY"]
flags = ["active", "safe", "web-basic"]
Expand Down
2 changes: 0 additions & 2 deletions bbot/modules/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@


class BaseModule:

# Event types to watch
watched_events = []
# Event types to produce
Expand Down Expand Up @@ -260,7 +259,6 @@ def start(self):
self.thread.start()

def _setup(self):

status_codes = {False: "hard-fail", None: "soft-fail", True: "success"}

status = False
Expand Down
1 change: 0 additions & 1 deletion bbot/modules/builtwith.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@


class builtwith(shodan_dns):

watched_events = ["DNS_NAME"]
produced_events = ["DNS_NAME"]
flags = ["affiliates", "subdomain-enum", "passive", "safe"]
Expand Down
4 changes: 0 additions & 4 deletions bbot/modules/bypass403.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,23 +70,20 @@


class bypass403(BaseModule):

watched_events = ["URL"]
produced_events = ["FINDING"]
flags = ["active", "aggressive", "web-advanced"]
meta = {"description": "Check 403 pages for common bypasses"}
in_scope_only = True

def handle_event(self, event):

try:
compare_helper = self.helpers.http_compare(event.data, allow_redirects=True)
except HttpCompareError as e:
self.debug(e)
return

for sig in signatures:

sig = self.format_signature(sig, event)
if sig[2] != None:
headers = dict(sig[2])
Expand All @@ -98,7 +95,6 @@ def handle_event(self, event):

if match == False:
if str(subject_response.status_code)[0] != "4":

if sig[2]:
added_header_tuple = next(iter(sig[2].items()))
reported_signature = f"Added Header: {added_header_tuple[0]}: {added_header_tuple[1]}"
Expand Down
2 changes: 0 additions & 2 deletions bbot/modules/cookie_brute.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,12 @@ class cookie_brute(header_brute):
compare_mode = "cookie"

def check_batch(self, compare_helper, url, cookie_list):

if self.scan.stopping:
raise ScanCancelledError()
cookies = {p: self.rand_string(14) for p in cookie_list}
return compare_helper.compare(url, cookies=cookies)

def gen_count_args(self, url):

cookie_count = 40
while 1:
if cookie_count < 0:
Expand Down
1 change: 0 additions & 1 deletion bbot/modules/crt.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@


class crt(crobat):

flags = ["subdomain-enum", "passive", "safe"]
watched_events = ["DNS_NAME"]
produced_events = ["DNS_NAME"]
Expand Down
3 changes: 0 additions & 3 deletions bbot/modules/deadly/ffuf.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@


class ffuf(BaseModule):

watched_events = ["URL"]
produced_events = ["URL_UNVERIFIED"]
flags = ["brute-force", "aggressive", "active", "web-advanced"]
Expand Down Expand Up @@ -48,7 +47,6 @@ class ffuf(BaseModule):
in_scope_only = True

def setup(self):

self.sanity_canary = "".join(random.choice(string.ascii_lowercase) for i in range(10))
wordlist_url = self.config.get("wordlist", "")
self.wordlist = self.helpers.wordlist(wordlist_url)
Expand All @@ -74,7 +72,6 @@ def handle_event(self, event):
self.emit_event(r["url"], "URL_UNVERIFIED", source=event, tags=[f"status-{r['status']}"])

def execute_ffuf(self, tempfile, event, url, suffix=""):

ffuf_exts = [""]

if self.extensions:
Expand Down
5 changes: 0 additions & 5 deletions bbot/modules/deadly/nuclei.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@


class nuclei(BaseModule):

watched_events = ["URL", "TECHNOLOGY"]
produced_events = ["FINDING", "VULNERABILITY"]
flags = ["active", "aggressive", "web-advanced"]
Expand Down Expand Up @@ -49,7 +48,6 @@ class nuclei(BaseModule):
in_scope_only = True

def setup(self):

# attempt to update nuclei templates
self.nuclei_templates_dir = self.helpers.tools_dir / "nuclei-templates"
self.info("Updating Nuclei templates")
Expand Down Expand Up @@ -121,7 +119,6 @@ def setup(self):
return True

def handle_batch(self, *events):

nuclei_input = [str(e.data) for e in events]
for severity, template, host, name, extracted_results in self.execute_nuclei(nuclei_input):
source_event = self.correlate_event(events, host)
Expand Down Expand Up @@ -161,7 +158,6 @@ def correlate_event(self, events, host):
self.warning("Failed to correlate nuclei result with event")

def execute_nuclei(self, nuclei_input):

command = [
"nuclei",
"-json",
Expand Down Expand Up @@ -297,7 +293,6 @@ def find_collapsable_templates(self):
if yf:
for paths in self.get_yaml_request_attr(yf, "path"):
if set(paths).issubset(self.budget_paths):

headers = self.get_yaml_request_attr(yf, "headers")
for header in headers:
if header:
Expand Down
1 change: 0 additions & 1 deletion bbot/modules/deadly/vhost.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@


class vhost(BaseModule):

watched_events = ["URL"]
produced_events = ["VHOST", "DNS_NAME"]
flags = ["active", "brute-force", "aggressive", "slow", "web-advanced"]
Expand Down
1 change: 0 additions & 1 deletion bbot/modules/dnszonetransfer.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@


class dnszonetransfer(BaseModule):

flags = ["subdomain-enum", "active", "safe"]
watched_events = ["DNS_NAME"]
produced_events = ["DNS_NAME"]
Expand Down
6 changes: 0 additions & 6 deletions bbot/modules/ffuf_shortnames.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@


class ffuf_shortnames(ffuf):

watched_events = ["URL_HINT"]
produced_events = ["URL_UNVERIFIED"]
flags = ["brute-force", "aggressive", "active", "web-advanced", "iis-shortnames"]
Expand Down Expand Up @@ -59,7 +58,6 @@ def setup(self):
return True

def handle_event(self, event):

filename_hint = re.sub(r"~\d", "", event.parsed.path.rsplit(".", 1)[0].split("/")[-1]).lower()

if len(filename_hint) == 6:
Expand All @@ -72,12 +70,10 @@ def handle_event(self, event):
tempfile_len = 1

if tempfile_len > 0:

root_stub = "/".join(event.parsed.path.split("/")[:-1])
root_url = f"{event.parsed.scheme}://{event.parsed.netloc}{root_stub}/"

if "shortname-file" in event.tags:

used_extensions = []
extension_hint = event.parsed.path.rsplit(".", 1)[1].lower().strip()

Expand All @@ -88,11 +84,9 @@ def handle_event(self, event):
used_extensions.append(l.strip())

for ext in used_extensions:

for r in self.execute_ffuf(tempfile, event, root_url, suffix=f".{ext}"):
self.emit_event(r["url"], "URL_UNVERIFIED", source=event, tags=[f"status-{r['status']}"])

elif "shortname-directory" in event.tags:

for r in self.execute_ffuf(tempfile, event, root_url):
self.emit_event(r["url"], "URL_UNVERIFIED", source=event, tags=[f"status-{r['status']}"])
Loading