Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
15 changes: 3 additions & 12 deletions bbot/modules/leakix.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,8 @@ class leakix(subdomain_enum_apikey):
flags = ["safe", "subdomain-enum", "passive"]

class Config(BaseModuleConfig):
api_key: str = Field("", description="LeakIX API Key", sensitive=True)
api_key: str = Field("", description="LeakIX API Key", sensitive=True, mandatory=True)

# NOTE: API key is not required (but having one will get you more results)
meta = {
"description": "Query leakix.net for subdomains",
"created_date": "2022-07-11",
Expand All @@ -20,17 +19,9 @@ class Config(BaseModuleConfig):
base_url = "https://leakix.net"
ping_url = f"{base_url}/host/1.1.1.1"

async def setup(self):
ret = await super(subdomain_enum_apikey, self).setup()
self.api_key = self.config.get("api_key", "")
if self.api_key:
return await self.require_api_key()
return ret

def prepare_api_request(self, url, kwargs):
if self.api_key:
kwargs["headers"]["api-key"] = self.api_key
kwargs["headers"]["Accept"] = "application/json"
kwargs["headers"]["api-key"] = self.api_key
kwargs["headers"]["Accept"] = "application/json"
return url, kwargs

async def request_url(self, query):
Expand Down
3 changes: 1 addition & 2 deletions bbot/modules/subdomainradar.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,7 @@ async def setup(self):
return True

def prepare_api_request(self, url, kwargs):
if self.api_key:
kwargs["headers"] = {"Authorization": f"Bearer {self.api_key}"}
kwargs["headers"] = {"Authorization": f"Bearer {self.api_key}"}
return url, kwargs

async def handle_event(self, event):
Expand Down
23 changes: 0 additions & 23 deletions bbot/test/test_step_2/module_tests/test_module_leakix.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,26 +24,3 @@ async def setup_before_prep(self, module_test):

def check(self, module_test, events):
assert any(e.data == "asdf.blacklanternsecurity.com" for e in events), "Failed to detect subdomain"


class TestLeakIX_NoAPIKey(ModuleTestBase):
modules_overrides = ["leakix"]

async def setup_before_prep(self, module_test):
module_test.blasthttp_mock.add_response(
url="https://leakix.net/host/1.1.1.1",
json={"title": "Not Found", "description": "Host not found"},
)
module_test.blasthttp_mock.add_response(
url="https://leakix.net/api/subdomains/blacklanternsecurity.com",
json=[
{
"subdomain": "asdf.blacklanternsecurity.com",
"distinct_ips": 3,
"last_seen": "2023-04-02T09:38:30.02Z",
},
],
)

def check(self, module_test, events):
assert any(e.data == "asdf.blacklanternsecurity.com" for e in events), "Failed to detect subdomain"
Loading