Skip to content

Commit 8b60b4b

Browse files
authored
Merge pull request #17 from ShellCode33/develop
Merge develop into master
2 parents 8fab046 + c044d34 commit 8b60b4b

File tree

13 files changed

+40
-28
lines changed

13 files changed

+40
-28
lines changed

credslayer/parsers/ftp.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# coding: utf-8
22

3-
from pyshark.packet.layer import Layer
3+
from pyshark.packet.layers.base import BaseLayer
44

55
from credslayer.core import logger
66
from credslayer.core.session import Session
77

88

9-
def analyse(session: Session, layer: Layer):
9+
def analyse(session: Session, layer: BaseLayer):
1010

1111
current_creds = session.credentials_being_built
1212

credslayer/parsers/http.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import base64
44
from urllib.parse import parse_qs
55

6-
from pyshark.packet.layer import Layer
6+
from pyshark.packet.layers.base import BaseLayer
77

88
from credslayer.core import logger
99
from credslayer.core.session import Session
@@ -26,7 +26,7 @@
2626
'j_password']
2727

2828

29-
def analyse(session: Session, layer: Layer):
29+
def analyse(session: Session, layer: BaseLayer):
3030

3131
current_creds = session.credentials_being_built
3232

credslayer/parsers/imap.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# coding: utf-8
22

3-
from pyshark.packet.layer import Layer
3+
from pyshark.packet.layers.base import BaseLayer
44

55
from credslayer.core import logger
66
from credslayer.core.session import Session
77

88

9-
def analyse(session: Session, layer: Layer):
9+
def analyse(session: Session, layer: BaseLayer):
1010

1111
current_creds = session.credentials_being_built
1212

credslayer/parsers/kerberos.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# coding: utf-8
22

3-
from pyshark.packet.layer import Layer
3+
from pyshark.packet.layers.base import BaseLayer
44

55
from credslayer.core import logger
66
from credslayer.core.session import Session
77

88

9-
def analyse(session: Session, layer: Layer) -> bool:
9+
def analyse(session: Session, layer: BaseLayer) -> bool:
1010
logger.debug("Kerberos analysis...")
1111

1212
return False

credslayer/parsers/ldap.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# coding: utf-8
2-
from pyshark.packet.layer import Layer
2+
from pyshark.packet.layers.base import BaseLayer
33

44
from credslayer.core import logger
55
from credslayer.core.session import Session
66

77

8-
def analyse(session: Session, layer: Layer):
8+
def analyse(session: Session, layer: BaseLayer):
99

1010
current_creds = session.credentials_being_built
1111

credslayer/parsers/mysql.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# coding: utf-8
22

3-
from pyshark.packet.layer import Layer
3+
from pyshark.packet.layers.base import BaseLayer
44

55
from credslayer.core import logger
66
from credslayer.core.session import Session
77

88

9-
def analyse(session: Session, layer: Layer):
9+
def analyse(session: Session, layer: BaseLayer):
1010

1111
current_creds = session.credentials_being_built
1212

credslayer/parsers/ntlmssp.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import base64
44
from typing import Tuple
55

6-
from pyshark.packet.layer import Layer
6+
from pyshark.packet.layers.base import BaseLayer
77

88
from credslayer.core import logger
99
from credslayer.core.session import Session
@@ -30,12 +30,12 @@ def _fix_tshark_widechar_issue(layer) -> Tuple[str, str]:
3030

3131
# Great resource : http://davenport.sourceforge.net/ntlm.html#theNtlmv2Response
3232

33-
def analyse(session: Session, layer: Layer):
33+
def analyse(session: Session, layer: BaseLayer):
3434

3535
current_creds = session.credentials_being_built
3636

3737
if current_creds and hasattr(layer, "nt_status"):
38-
status = int(layer.nt_status)
38+
status = int(layer.nt_status, 16)
3939

4040
if status == 0: # LOGON SUCCESS
4141
logger.found(session, "{} found: {}".format(current_creds.context["version"], current_creds.hash))

credslayer/parsers/pgsql.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# coding: utf-8
22

3-
from pyshark.packet.layer import Layer
3+
from pyshark.packet.layers.base import BaseLayer
44

55
from credslayer.core import logger
66
from credslayer.core.session import Session
77

88

9-
def analyse(session: Session, layer: Layer):
9+
def analyse(session: Session, layer: BaseLayer):
1010

1111
current_creds = session.credentials_being_built
1212

credslayer/parsers/pop.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# coding: utf-8
2-
from pyshark.packet.layer import Layer
2+
from pyshark.packet.layers.base import BaseLayer
33

44
from credslayer.core import utils, logger
55
from credslayer.core.session import Session
66

77

8-
def analyse(session: Session, layer: Layer):
8+
def analyse(session: Session, layer: BaseLayer):
99

1010
current_creds = session.credentials_being_built
1111

credslayer/parsers/smtp.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
from base64 import b64decode
44

5-
from pyshark.packet.layer import Layer
5+
from pyshark.packet.layers.base import BaseLayer
66

77
from credslayer.core import utils, logger
88
from credslayer.core.session import Session
99

1010

11-
def analyse(session: Session, layer: Layer):
11+
def analyse(session: Session, layer: BaseLayer):
1212

1313
current_creds = session.credentials_being_built
1414

credslayer/parsers/snmp.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# coding: utf-8
22

3-
from pyshark.packet.layer import Layer
3+
from pyshark.packet.layers.base import BaseLayer
44

55
from credslayer.core import logger
66
from credslayer.core.session import Session
77

88

9-
def analyse(session: Session, layer: Layer):
9+
def analyse(session: Session, layer: BaseLayer):
1010

1111
current_creds = session.credentials_being_built
1212

credslayer/parsers/telnet.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# coding: utf-8
2-
from pyshark.packet.layer import Layer
2+
from pyshark.packet.layers.base import BaseLayer
33

44
from credslayer.core import logger
55
from credslayer.core.session import Session
@@ -27,7 +27,7 @@ def _is_username_duplicated(username: str) -> bool:
2727
return True
2828

2929

30-
def analyse(session: Session, layer: Layer):
30+
def analyse(session: Session, layer: BaseLayer):
3131

3232
if not hasattr(layer, "data"):
3333
return

tests/tests.py

+15-3
Original file line numberDiff line numberDiff line change
@@ -76,13 +76,25 @@ def test_http_basic_auth(self):
7676
def test_http_post_auth(self):
7777
credentials_list = process_pcap("samples/http-post-auth.pcap").get_list_of_all_credentials()
7878
print(credentials_list)
79-
self.assertTrue(Credentials('toto', 'Str0ngP4ssw0rd') in credentials_list)
79+
self.assertTrue(
80+
Credentials(
81+
'toto',
82+
'Str0ngP4ssw0rd',
83+
context={'Method': 'POST', 'URL': 'http://192.168.56.101:1337/login'}
84+
) in credentials_list
85+
)
8086
self.assertTrue(len(credentials_list) == 1)
8187

8288
def test_http_get_auth(self):
8389
credentials_list = process_pcap("samples/http-get-auth.pcap").get_list_of_all_credentials()
8490
print(credentials_list)
85-
self.assertTrue(Credentials('admin', 'qwerty1234') in credentials_list)
91+
self.assertTrue(
92+
Credentials(
93+
'admin',
94+
'qwerty1234',
95+
context={'Method': 'GET', 'URL': 'http://192.168.56.101:1337/login?login=admin&password=qwerty1234'}
96+
) in credentials_list
97+
)
8698
self.assertTrue(len(credentials_list) == 1)
8799

88100
def test_ldap(self):
@@ -180,7 +192,7 @@ def test_ntlmssp(self):
180192
self.assertTrue(len(remaining_credentials) == 6)
181193
self.assertTrue(Credentials(hash="administrator::example:ea46e3a07ea448d200000000000000000000000000000000:"
182194
"4d626ea83a02eee710571a2b84241788bd21e3a66ddbf4a5"
183-
":CHALLENGE_NOT_FOUND") in remaining_credentials)
195+
":CHALLENGE_NOT_FOUND", context={'version': 'NETNTLMv1'}) in remaining_credentials)
184196

185197

186198
class ManagerTest(unittest.TestCase):

0 commit comments

Comments
 (0)