Skip to content

Commit cdaf2a8

Browse files
committed
Fix Osintracker
1 parent bbfe557 commit cdaf2a8

3 files changed

Lines changed: 31 additions & 31 deletions

File tree

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,17 +74,17 @@ Options:
7474
```bash
7575
Usage: shodan2db.py export [OPTIONS]
7676

77-
Export data from database (HTML report or osinttracker JSON).
77+
Export data from database (HTML report or osintracker JSON).
7878

7979
Options:
8080
-d, --database FILE Path to the SQLite database file. [required]
8181
-o, --output FILE Output path for HTML report file.
8282
-t, --template-file FILE Path to the Jinja2 template file (HTML export
8383
only). [default: templates/report.html]
84-
--osint TEXT Central entity name for osinttracker export
84+
--osint TEXT Central entity name for osintracker export
8585
(default: shodan).
86-
--osint-output TEXT Output path for osinttracker JSON file. [default:
87-
assets_osinttracker.json]
86+
--osint-output TEXT Output path for osintracker JSON file. [default:
87+
assets_osintracker.json]
8888
-v, --verbose Verbose mode.
8989
-h, --help Show this message and exit.
9090
```

plugins/export_osintracker.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env python3
22
"""
3-
Export assets from Shodan2DB SQLite database to osinttracker JSON format.
3+
Export assets from Shodan2DB SQLite database to osintracker JSON format.
44
Creates entities (IPs, domains, hostnames) and relationships between them.
55
66
Format reference: https://wiki.osintracker.com/data/import-export
@@ -17,10 +17,10 @@
1717
import click
1818

1919

20-
class OsintTrackerExporter:
21-
"""Handles exporting Shodan2DB data to osinttracker JSON format."""
20+
class OsintrackerExporter:
21+
"""Handles exporting Shodan2DB data to osintracker JSON format."""
2222

23-
# Entity type IDs from osinttracker instance
23+
# Entity type IDs from osintracker instance
2424
ENTITY_TYPES = {
2525
"ip": "clh6sgxq9tww10buuhzho55jg", # Internet > IP
2626
"hostname": "clh6sdulhtz2s0buj08lo5r40", # Internet > domain name (or create Hostname type)
@@ -120,7 +120,7 @@ def _create_entity(
120120
vuln_count: int,
121121
cve_ids: List[str],
122122
) -> Dict[str, Any]:
123-
"""Create an osinttracker entity."""
123+
"""Create an osintracker entity."""
124124
entity_id = self._get_entity_id(entity_type, value)
125125

126126
# Determine max CVSS for color coding
@@ -197,11 +197,11 @@ def _add_relationship(
197197
return str(uuid.uuid4())
198198

199199
def export_to_json(self, output_file: str) -> None:
200-
"""Export all assets to osinttracker JSON format."""
200+
"""Export all assets to osintracker JSON format."""
201201
if not output_file.endswith(".json"):
202202
output_file = f"{output_file}.json"
203203

204-
self._log(f"Exporting to osinttracker format: {output_file}...")
204+
self._log(f"Exporting to osintracker format: {output_file}...")
205205

206206
try:
207207
with sqlite3.connect(self.database) as conn:
@@ -338,8 +338,8 @@ def export_to_json(self, output_file: str) -> None:
338338
@click.option(
339339
"-o",
340340
"--output",
341-
default="assets_osinttracker.json",
342-
help="Output JSON file path (default: assets_osinttracker.json)",
341+
default="assets_osintracker.json",
342+
help="Output JSON file path (default: assets_osintracker.json)",
343343
)
344344
@click.option(
345345
"-a",
@@ -355,13 +355,13 @@ def export_to_json(self, output_file: str) -> None:
355355
)
356356
def main(database: str, output: str, alias: Optional[str], verbose: bool) -> None:
357357
"""
358-
Export Shodan2DB assets to osinttracker JSON format.
358+
Export Shodan2DB assets to osintracker JSON format.
359359
360360
Generates entities (IPs, hostnames, domains) with relationships.
361-
Compatible with osinttracker import/export format.
361+
Compatible with osintracker import/export format.
362362
"""
363363
try:
364-
exporter = OsintTrackerExporter(database, verbose, alias)
364+
exporter = OsintrackerExporter(database, verbose, alias)
365365
exporter.export_to_json(output)
366366
print(f"[✓] Export completed successfully!")
367367

shodan2db.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
import click
88
from jinja2 import Environment, FileSystemLoader, TemplateError
99

10-
# Import osinttracker exporter module
11-
from plugins.export_osintracker import OsintTrackerExporter
10+
# Import osintracker exporter module
11+
from plugins.export_osintracker import OsintrackerExporter
1212

1313

1414
class Shodan2DB:
@@ -386,25 +386,25 @@ def export(verbose, exportfile, database, template_file):
386386
sys.exit(1)
387387

388388
@staticmethod
389-
def export_osinttracker(verbose, database, output_file, alias):
389+
def export_osintracker(verbose, database, output_file, alias):
390390
"""
391-
Export Shodan2DB data to osinttracker JSON format.
391+
Export Shodan2DB data to osintracker JSON format.
392392
Creates entities (IPs, domains, hostnames) and relationships between them.
393393
"""
394394
# Ensure the database file has the correct extension
395395
if not database.endswith(".db"):
396396
database = f"{database}.db"
397397

398398
if verbose:
399-
print(f"[+] Exporting to osinttracker format...")
399+
print(f"[+] Exporting to osintracker format...")
400400

401401
try:
402402
# Create exporter instance and export
403-
exporter = OsintTrackerExporter(database, verbose, alias)
403+
exporter = OsintrackerExporter(database, verbose, alias)
404404
exporter.export_to_json(output_file)
405405

406406
if verbose:
407-
print(f"[+] osinttracker export completed successfully!")
407+
print(f"[+] osintracker export completed successfully!")
408408

409409
except FileNotFoundError as e:
410410
print(f"[-] Error: {e}", file=sys.stderr)
@@ -455,7 +455,7 @@ def parse(verbose, database, input_file):
455455
# Define the export command with options for database, report file, and verbose mode
456456
@click.command(
457457
name="export",
458-
help="Export data from database (HTML report or osinttracker JSON).",
458+
help="Export data from database (HTML report or osintracker JSON).",
459459
context_settings=dict(help_option_names=["-h", "--help"]),
460460
)
461461
@click.option(
@@ -486,27 +486,27 @@ def parse(verbose, database, input_file):
486486
is_flag=False,
487487
flag_value="shodan",
488488
type=str,
489-
help="Central entity name for osinttracker export (default: shodan).",
489+
help="Central entity name for osintracker export (default: shodan).",
490490
)
491491
@click.option(
492492
"--osint-output",
493-
default="assets_osinttracker.json",
493+
default="assets_osintracker.json",
494494
type=str,
495-
help="Output path for osinttracker JSON file.",
495+
help="Output path for osintracker JSON file.",
496496
show_default=True,
497497
)
498498
@click.option("--verbose", "-v", is_flag=True, help="Verbose mode.")
499499
def export(verbose, database, output, template_file, osint, osint_output):
500500
"""
501501
Export data from the database.
502502
503-
Generates both HTML report and osinttracker JSON format.
503+
Generates both HTML report and osintracker JSON format.
504504
505505
Examples:
506506
Default files: shodan2db.py export -d database.db
507507
Custom HTML path: shodan2db.py export -d database.db -o rapport.html
508508
Custom entity: shodan2db.py export -d database.db --osint "Campaign"
509-
Custom osinttracker output: shodan2db.py export -d database.db --osint-output custom.json
509+
Custom osintracker output: shodan2db.py export -d database.db --osint-output custom.json
510510
"""
511511
# Always generate HTML report
512512
if output is None:
@@ -518,8 +518,8 @@ def export(verbose, database, output, template_file, osint, osint_output):
518518
template_file=template_file,
519519
)
520520

521-
# Always generate osinttracker JSON with the specified entity name
522-
Shodan2DB.export_osinttracker(
521+
# Always generate osintracker JSON with the specified entity name
522+
Shodan2DB.export_osintracker(
523523
verbose=verbose,
524524
database=database,
525525
output_file=osint_output,

0 commit comments

Comments
 (0)