bbot 2.3.2.5958rc0__py3-none-any.whl → 2.3.2.5971rc0__py3-none-any.whl

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/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
1
  # version placeholder (replaced by poetry-dynamic-versioning)
2
- __version__ = "v2.3.2.5958rc"
2
+ __version__ = "v2.3.2.5971rc"
3
3
 
4
4
  from .scanner import Scanner, Preset
@@ -176,6 +176,7 @@ def clean_url(url: str, url_querystring_remove=True):
176
176
  scheme = parsed.scheme
177
177
  except ValueError:
178
178
  scheme = "https"
179
+ port = None
179
180
  with suppress(Exception):
180
181
  port = parsed.port
181
182
  if port is None:
@@ -1,9 +1,12 @@
1
1
  from bbot.modules.base import BaseModule
2
2
 
3
3
 
4
- class internetdb(BaseModule):
4
+ class shodan_idb(BaseModule):
5
5
  """
6
6
  Query IP in Shodan InternetDB, returning open ports, discovered technologies, and findings/vulnerabilities
7
+
8
+ InternetDB is especially nice because it doesn't require an API key
9
+
7
10
  API reference: https://internetdb.shodan.io/docs
8
11
 
9
12
  Example API response:
@@ -43,22 +46,15 @@ class internetdb(BaseModule):
43
46
  "created_date": "2023-12-22",
44
47
  "author": "@TheTechromancer",
45
48
  }
46
- options = {"show_open_ports": False}
47
- options_desc = {
48
- "show_open_ports": "Display OPEN_TCP_PORT events in output, even if they didn't lead to an interesting discovery"
49
- }
50
49
 
51
50
  # we get lots of 404s, that's normal
52
51
  _api_failure_abort_threshold = 9999999999
53
52
 
53
+ # there aren't any rate limits to speak of, so our outgoing queue can be pretty big
54
54
  _qsize = 500
55
55
 
56
56
  base_url = "https://internetdb.shodan.io"
57
57
 
58
- async def setup(self):
59
- self.show_open_ports = self.config.get("show_open_ports", False)
60
- return True
61
-
62
58
  def _incoming_dedup_hash(self, event):
63
59
  return hash(self.get_ip(event))
64
60
 
@@ -115,7 +111,6 @@ class internetdb(BaseModule):
115
111
  self.helpers.make_netloc(event.data, port),
116
112
  "OPEN_TCP_PORT",
117
113
  parent=event,
118
- internal=(not self.show_open_ports),
119
114
  context=f'{{module}} queried Shodan\'s InternetDB API for "{query_host}" and found {{event.type}}: {{event.data}}',
120
115
  )
121
116
  vulns = data.get("vulns", [])
@@ -14,7 +14,7 @@ class trufflehog(BaseModule):
14
14
  }
15
15
 
16
16
  options = {
17
- "version": "3.88.12",
17
+ "version": "3.88.13",
18
18
  "config": "",
19
19
  "only_verified": True,
20
20
  "concurrency": 8,
@@ -1,7 +1,7 @@
1
1
  from .base import ModuleTestBase
2
2
 
3
3
 
4
- class TestInternetDB(ModuleTestBase):
4
+ class TestShodan_IDB(ModuleTestBase):
5
5
  config_overrides = {"dns": {"minimal": False}}
6
6
 
7
7
  async def setup_before_prep(self, module_test):
@@ -36,15 +36,21 @@ class TestInternetDB(ModuleTestBase):
36
36
  )
37
37
 
38
38
  def check(self, module_test, events):
39
- assert 5 == len([e for e in events if str(e.module) == "internetdb"])
39
+ assert 8 == len([e for e in events if str(e.module) == "shodan_idb"])
40
40
  assert 1 == len(
41
41
  [e for e in events if e.type == "DNS_NAME" and e.data == "autodiscover.blacklanternsecurity.com"]
42
42
  )
43
43
  assert 1 == len([e for e in events if e.type == "DNS_NAME" and e.data == "mail.blacklanternsecurity.com"])
44
- assert 0 == len([e for e in events if e.type == "OPEN_TCP_PORT"])
45
- assert 1 == len([e for e in events if e.type == "FINDING" and str(e.module) == "internetdb"])
44
+ assert 3 == len(
45
+ [
46
+ e
47
+ for e in events
48
+ if e.type == "OPEN_TCP_PORT" and e.host == "blacklanternsecurity.com" and str(e.module) == "shodan_idb"
49
+ ]
50
+ )
51
+ assert 1 == len([e for e in events if e.type == "FINDING" and str(e.module) == "shodan_idb"])
46
52
  assert 1 == len([e for e in events if e.type == "FINDING" and "CVE-2021-26857" in e.data["description"]])
47
- assert 2 == len([e for e in events if e.type == "TECHNOLOGY" and str(e.module) == "internetdb"])
53
+ assert 2 == len([e for e in events if e.type == "TECHNOLOGY" and str(e.module) == "shodan_idb"])
48
54
  assert 1 == len(
49
55
  [
50
56
  e
@@ -24,7 +24,7 @@ class TestSpeculate_Subdirectories(ModuleTestBase):
24
24
 
25
25
  class TestSpeculate_OpenPorts(ModuleTestBase):
26
26
  targets = ["evilcorp.com"]
27
- modules_overrides = ["speculate", "certspotter", "internetdb"]
27
+ modules_overrides = ["speculate", "certspotter", "shodan_idb"]
28
28
  config_overrides = {"speculate": True}
29
29
 
30
30
  async def setup_before_prep(self, module_test):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: bbot
3
- Version: 2.3.2.5958rc0
3
+ Version: 2.3.2.5971rc0
4
4
  Summary: OSINT automation for hackers.
5
5
  License: GPL-3.0
6
6
  Keywords: python,cli,automation,osint,threat-intel,intelligence,neo4j,scanner,python-library,hacking,recursion,pentesting,recon,command-line-tool,bugbounty,subdomains,security-tools,subdomain-scanner,osint-framework,attack-surface,subdomain-enumeration,osint-tool
@@ -1,4 +1,4 @@
1
- bbot/__init__.py,sha256=zs6Wq8dI1ItOD6H659-keQl5C_cvZ-SbzZvFI_4h338,130
1
+ bbot/__init__.py,sha256=brIz_vgPHtSVd67lHIPvtsErBbhN6H4GNIASGndem-A,130
2
2
  bbot/cli.py,sha256=H7L3yIoYuSpkrf1K1qqiBMQBTyt8UI9FfConpjqr7KI,11029
3
3
  bbot/core/__init__.py,sha256=l255GJE_DvUnWvrRb0J5lG-iMztJ8zVvoweDOfegGtI,46
4
4
  bbot/core/config/__init__.py,sha256=zYNw2Me6tsEr8hOOkLb4BQ97GB7Kis2k--G81S8vofU,342
@@ -37,7 +37,7 @@ bbot/core/helpers/ratelimiter.py,sha256=fQp5mKfqfCkDkZzgntDu4NWlRsWSMCto0V8vaV8-
37
37
  bbot/core/helpers/regex.py,sha256=YCyvK78piK8p4YMTPH9hD1mILkZtPzLC0lNRf0vsj9g,4371
38
38
  bbot/core/helpers/regexes.py,sha256=whzgjomHsXVvKtvXLS037EMPxT9RSOxdWukpUHY8Pfc,5818
39
39
  bbot/core/helpers/url.py,sha256=1NDrvirODzzD6Mcssu-4WDNerMeMdekHCFzhRCS0m3g,5947
40
- bbot/core/helpers/validators.py,sha256=RBRCWpU-tKvcThx-KnEePpWTjsIxfQ_CrPEUBmiqPF0,9695
40
+ bbot/core/helpers/validators.py,sha256=-WBYvjlwi5SsVtn_LankKGI8vaBza2NqvM1lGbVmiN4,9711
41
41
  bbot/core/helpers/web/__init__.py,sha256=pIEkL3DhjaGTSmZ7D3yKKYwWpntoLRILekV2wWsbsws,27
42
42
  bbot/core/helpers/web/client.py,sha256=12lKbyWJQpVKBnKGCuMNNUn47ifs1fsB02nebceX75Y,3591
43
43
  bbot/core/helpers/web/engine.py,sha256=mzXpYmlB1pvNSXs8FuliGMv7myUwAcQWTtnMHqblMHA,8875
@@ -126,7 +126,6 @@ bbot/modules/internal/dnsresolve.py,sha256=1fwWChIGpSEIIkswueiIhEwIahQ7YngZ-njFK
126
126
  bbot/modules/internal/excavate.py,sha256=D5IDS6IQIRS5v5q3IbpDnL7k6MyGtV02zx6HUm1ZbHE,51983
127
127
  bbot/modules/internal/speculate.py,sha256=NolqW2s8tokibc6gVM960KlrABkjhLB-7YlCdVx4O9s,9223
128
128
  bbot/modules/internal/unarchive.py,sha256=X5lG8lh8vbwWNhQDCEADAHBZVcror5EZDLTUnvcuAuM,3723
129
- bbot/modules/internetdb.py,sha256=Edg0Z84dH8dPTZMd7RlzvYBYNq8JHs_ns_ldnFxwRKo,5415
130
129
  bbot/modules/ip2location.py,sha256=yGivX9fzvwvLpnqmYCP2a8SPjTarzrZxfRluog-nkME,2628
131
130
  bbot/modules/ipneighbor.py,sha256=b_0IhorihFLtXJZEz57EGXjXW30gIOEzzVgz2GFvM3A,1591
132
131
  bbot/modules/ipstack.py,sha256=j_S8WMNqQuSQgBT7AX4tO70fgbWuRYrpsS3tVsu_hn4,2200
@@ -177,6 +176,7 @@ bbot/modules/robots.py,sha256=LGG6ixsxrlaCk-mi4Lp6kB2RB1v-25NhTAQxdQEtH8s,2172
177
176
  bbot/modules/securitytrails.py,sha256=5Jk_HTQP8FRq6A30sN19FU79uLJt7aiOsI2dxNkLDcM,1148
178
177
  bbot/modules/securitytxt.py,sha256=nwaTOnRAl2NWcEc3i_I9agB56QjqK8dHqiKRHPPkCPE,4558
179
178
  bbot/modules/shodan_dns.py,sha256=ETOyUhCiAETlGUAQhvAP47oEEPYss7fm_F_CAeCQyoI,842
179
+ bbot/modules/shodan_idb.py,sha256=kyPbGI68BrLgCab_T5emKXBoyD2OVn59K0J1V6CNR4s,5213
180
180
  bbot/modules/sitedossier.py,sha256=MR9fSkgE_3YGsUe7M-TyJ2GdpBtF3oLKDl9agAwzw5U,2284
181
181
  bbot/modules/skymem.py,sha256=ZrxWcePFTCiDkFeAc3YLegFG-Tgw4C9af_JHiVonk84,1930
182
182
  bbot/modules/smuggler.py,sha256=v8NCRgzd7wpEFZJUTAArG04bN8nNTGiHxYpGBapzi14,1580
@@ -193,7 +193,7 @@ bbot/modules/templates/sql.py,sha256=o-CdyyoJvHJdJBKkj3CIGXYxUta4w2AB_2Vr-k7cDDU
193
193
  bbot/modules/templates/subdomain_enum.py,sha256=epyKSly08jqaINV_AMMWbNafIeQjJqvd3aj63KD0Mck,8402
194
194
  bbot/modules/templates/webhook.py,sha256=0N7LorCxT0sVmT2XgrV81ubdcdPVW8s2X__BrKC2AcM,3313
195
195
  bbot/modules/trickest.py,sha256=MRgLW0YiDWzlWdAjyqfPPLFb-a51r-Ffn_dphiJI_gA,1550
196
- bbot/modules/trufflehog.py,sha256=tcVsyk4Bs__B_Nof4FNRWcRlSVZQgaDd7DtHdvTOMwU,8743
196
+ bbot/modules/trufflehog.py,sha256=LYYISw4IcX20kTW1gEO7RsVGbJYe5Fqg1aXlTyqact4,8743
197
197
  bbot/modules/url_manipulation.py,sha256=4J3oFkqTSJPPmbKEKAHJg2Q2w4QNKtQhiN03ZJq5VtI,4326
198
198
  bbot/modules/urlscan.py,sha256=-w_3Bm6smyG2GLQyIbnMUkKmeQVauo-V6F4_kJDYG7s,3740
199
199
  bbot/modules/viewdns.py,sha256=2SjNZNjQL1tko58tPAjP-CGYDmP-zZ1HpY-vACGa9UI,2595
@@ -348,7 +348,6 @@ bbot/test/test_step_2/module_tests/test_module_httpx.py,sha256=kUSJd0eu-e7rj1hna
348
348
  bbot/test/test_step_2/module_tests/test_module_hunt.py,sha256=xSnPevrLgFe-umWjvF-X8hOavZCn1s1sClXKM3WBLpE,744
349
349
  bbot/test/test_step_2/module_tests/test_module_hunterio.py,sha256=s0ENxJzLuUu7MD-_-H0ClpLqPuhsQbX-3IgTuiHR5Xs,6982
350
350
  bbot/test/test_step_2/module_tests/test_module_iis_shortnames.py,sha256=JJUoLvw4CqP_iBUlkhnsNjn1wVEYKCBgAldOmm9Vv80,2913
351
- bbot/test/test_step_2/module_tests/test_module_internetdb.py,sha256=3FRiC2ktEC7udvai_WbPOP0jI5j2RBCRQbDz8ccjSqo,2240
352
351
  bbot/test/test_step_2/module_tests/test_module_ip2location.py,sha256=VRuXQelBc3hTNXiAJZD0ow5R4t6L8xAi_tS62TFLJKA,1123
353
352
  bbot/test/test_step_2/module_tests/test_module_ipneighbor.py,sha256=Bc5xaiIpleC7j5Lz2Y8S9i6PHETOg4KmwiLNJ9HeMx8,608
354
353
  bbot/test/test_step_2/module_tests/test_module_ipstack.py,sha256=BgCeE9Bef2RM6akluq0XVzr4G23kpP0Nqfydm_RoTXU,2767
@@ -380,12 +379,13 @@ bbot/test/test_step_2/module_tests/test_module_robots.py,sha256=8rRw4GpGE6tN_W3o
380
379
  bbot/test/test_step_2/module_tests/test_module_securitytrails.py,sha256=NB8_PhWN1-2s8wporRjI6rrQeQW4inoz4Z_mBhhycXo,758
381
380
  bbot/test/test_step_2/module_tests/test_module_securitytxt.py,sha256=ZGl1iZVVE_JfqC_AAYSLLdXGOu57rCM1rnCYlRNxrM0,2390
382
381
  bbot/test/test_step_2/module_tests/test_module_shodan_dns.py,sha256=9DpFizZguP2aFCKI1HgXzxy3sB_afA03pzIx0BDfgqg,1515
382
+ bbot/test/test_step_2/module_tests/test_module_shodan_idb.py,sha256=rfDkPGfFt3EWKZZsKVJL6NTMzEoRGsHDwJpbMAzdCas,2399
383
383
  bbot/test/test_step_2/module_tests/test_module_sitedossier.py,sha256=jwAP1RYWYLkEQDYX7YTOuU_rhPoJAriwrj1JYkdt-Vk,6582
384
384
  bbot/test/test_step_2/module_tests/test_module_skymem.py,sha256=VaRhEmrZ0auKmxExeuYmzryXpZ0h78AqSVozkqJ5dXo,2321
385
385
  bbot/test/test_step_2/module_tests/test_module_slack.py,sha256=oJvUzSowPAhpbMFnzl-iS3XvLQBxCaO_vofhu_bgR4w,317
386
386
  bbot/test/test_step_2/module_tests/test_module_smuggler.py,sha256=Kppv1r7ykaHeLDjAAXxiLPYA7Mo9QrQK3bfdYMVlmk4,2293
387
387
  bbot/test/test_step_2/module_tests/test_module_social.py,sha256=McjY8g97HbZm5xnarW924pGytwwGGnzA6MfD0HmBPMU,2050
388
- bbot/test/test_step_2/module_tests/test_module_speculate.py,sha256=7EKoSu5bvOhFi5CbM1cdcNUpeh_KOrARrFd0twg6k3s,3059
388
+ bbot/test/test_step_2/module_tests/test_module_speculate.py,sha256=BozxKWHwdO5-kXhu7vjWyHL-Y_FjkbCwlkvdS2FeHq8,3059
389
389
  bbot/test/test_step_2/module_tests/test_module_splunk.py,sha256=u6cNNWzMSweiqABroFFZ810JvzORf7Sli_K9xWK46Ek,1859
390
390
  bbot/test/test_step_2/module_tests/test_module_sqlite.py,sha256=mpplbL84zPuH4WJgbmm698gFTJewi1Qw_e4AG_ZOTfE,829
391
391
  bbot/test/test_step_2/module_tests/test_module_sslcert.py,sha256=XeiV9eQZNnA5oALCVnP7bEs3m9kMaVwEtg-hvYfgi3Y,711
@@ -425,8 +425,8 @@ bbot/wordlists/raft-small-extensions-lowercase_CLEANED.txt,sha256=ZSIVebs7ptMvHx
425
425
  bbot/wordlists/top_open_ports_nmap.txt,sha256=LmdFYkfapSxn1pVuQC2LkOIY2hMLgG-Xts7DVtYzweM,42727
426
426
  bbot/wordlists/valid_url_schemes.txt,sha256=0B_VAr9Dv7aYhwi6JSBDU-3M76vNtzN0qEC_RNLo7HE,3310
427
427
  bbot/wordlists/wordninja_dns.txt.gz,sha256=DYHvvfW0TvzrVwyprqODAk4tGOxv5ezNmCPSdPuDUnQ,570241
428
- bbot-2.3.2.5958rc0.dist-info/LICENSE,sha256=GzeCzK17hhQQDNow0_r0L8OfLpeTKQjFQwBQU7ZUymg,32473
429
- bbot-2.3.2.5958rc0.dist-info/METADATA,sha256=lep2AMvMwyENAV8jiAp_X5sSGF8fCbGHXPaRSUp8yFU,18218
430
- bbot-2.3.2.5958rc0.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
431
- bbot-2.3.2.5958rc0.dist-info/entry_points.txt,sha256=cWjvcU_lLrzzJgjcjF7yeGuRA_eDS8pQ-kmPUAyOBfo,38
432
- bbot-2.3.2.5958rc0.dist-info/RECORD,,
428
+ bbot-2.3.2.5971rc0.dist-info/LICENSE,sha256=GzeCzK17hhQQDNow0_r0L8OfLpeTKQjFQwBQU7ZUymg,32473
429
+ bbot-2.3.2.5971rc0.dist-info/METADATA,sha256=Gwi-qFLjEPcRZt427vezJRVHuu0zBTzi9_-Vf4In8j8,18218
430
+ bbot-2.3.2.5971rc0.dist-info/WHEEL,sha256=XbeZDeTWKc1w7CSIyre5aMDU_-PohRwTQceYnisIYYY,88
431
+ bbot-2.3.2.5971rc0.dist-info/entry_points.txt,sha256=cWjvcU_lLrzzJgjcjF7yeGuRA_eDS8pQ-kmPUAyOBfo,38
432
+ bbot-2.3.2.5971rc0.dist-info/RECORD,,