Sessions - mrhenrike/MikrotikAPI-BF GitHub Wiki

Sessions

Language: English Β· PortuguΓͺs (pt-BR)

Persistent sessions allow you to resume interrupted attacks and track progress across large wordlists without repeating work.


Starting a Named Session

python mikrotikapi-bf.py -t 192.168.88.1 -d large_wordlist.txt \
  --session my_attack \
  --progress

This creates a session file at .sessions/my_attack.json and saves progress automatically every 100 attempts.


Resuming an Interrupted Session

If the attack is interrupted (Ctrl+C, connection loss, power failure):

python mikrotikapi-bf.py --resume my_attack

The session file remembers:

  • Target IP and port
  • Combo file path
  • How many combos were tried
  • Which combos were already tested (deduplication set)
  • All successful credentials found so far
  • Start time (for ETA calculation)

Session File Location

.sessions/
  my_attack.json
  pentest_192.168.1.50.json
  client_audit_2026-03.json

Session File Format

{
  "session_name": "my_attack",
  "target": "192.168.88.1",
  "port": 8728,
  "combo_file": "large_wordlist.txt",
  "total_combos": 50000,
  "tried_count": 12400,
  "found": [
    {"user": "admin", "pass": "password123", "services": ["api", "ftp"]}
  ],
  "tried_hashes": ["a1b2c3d4...", "..."],
  "started_at": "2026-03-28T03:00:00Z",
  "last_saved_at": "2026-03-28T04:12:35Z"
}

ETA Calculation

When --progress is enabled, the progress bar shows:

[β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘] 24.8%  12400/50000  2.3 att/s  ETA: 5h 23m 11s

ETA is calculated as:

remaining_combos / current_rate_per_second

The rate is a rolling average of the last 500 attempts, so it adapts to stealth mode delays automatically.


Listing Existing Sessions

python mikrotikapi-bf.py --list-sessions

Output:

my_attack           192.168.88.1  24.8%  started 2026-03-28
pentest_192.168.1   192.168.1.50  100%   COMPLETE (3 found)

Deleting a Session

python mikrotikapi-bf.py --delete-session my_attack

See also: Usage Examples Β· Export