File tree 13 files changed +40
-28
lines changed
13 files changed +40
-28
lines changed Original file line number Diff line number Diff line change 1
1
# coding: utf-8
2
2
3
- from pyshark .packet .layer import Layer
3
+ from pyshark .packet .layers . base import BaseLayer
4
4
5
5
from credslayer .core import logger
6
6
from credslayer .core .session import Session
7
7
8
8
9
- def analyse (session : Session , layer : Layer ):
9
+ def analyse (session : Session , layer : BaseLayer ):
10
10
11
11
current_creds = session .credentials_being_built
12
12
Original file line number Diff line number Diff line change 3
3
import base64
4
4
from urllib .parse import parse_qs
5
5
6
- from pyshark .packet .layer import Layer
6
+ from pyshark .packet .layers . base import BaseLayer
7
7
8
8
from credslayer .core import logger
9
9
from credslayer .core .session import Session
26
26
'j_password' ]
27
27
28
28
29
- def analyse (session : Session , layer : Layer ):
29
+ def analyse (session : Session , layer : BaseLayer ):
30
30
31
31
current_creds = session .credentials_being_built
32
32
Original file line number Diff line number Diff line change 1
1
# coding: utf-8
2
2
3
- from pyshark .packet .layer import Layer
3
+ from pyshark .packet .layers . base import BaseLayer
4
4
5
5
from credslayer .core import logger
6
6
from credslayer .core .session import Session
7
7
8
8
9
- def analyse (session : Session , layer : Layer ):
9
+ def analyse (session : Session , layer : BaseLayer ):
10
10
11
11
current_creds = session .credentials_being_built
12
12
Original file line number Diff line number Diff line change 1
1
# coding: utf-8
2
2
3
- from pyshark .packet .layer import Layer
3
+ from pyshark .packet .layers . base import BaseLayer
4
4
5
5
from credslayer .core import logger
6
6
from credslayer .core .session import Session
7
7
8
8
9
- def analyse (session : Session , layer : Layer ) -> bool :
9
+ def analyse (session : Session , layer : BaseLayer ) -> bool :
10
10
logger .debug ("Kerberos analysis..." )
11
11
12
12
return False
Original file line number Diff line number Diff line change 1
1
# coding: utf-8
2
- from pyshark .packet .layer import Layer
2
+ from pyshark .packet .layers . base import BaseLayer
3
3
4
4
from credslayer .core import logger
5
5
from credslayer .core .session import Session
6
6
7
7
8
- def analyse (session : Session , layer : Layer ):
8
+ def analyse (session : Session , layer : BaseLayer ):
9
9
10
10
current_creds = session .credentials_being_built
11
11
Original file line number Diff line number Diff line change 1
1
# coding: utf-8
2
2
3
- from pyshark .packet .layer import Layer
3
+ from pyshark .packet .layers . base import BaseLayer
4
4
5
5
from credslayer .core import logger
6
6
from credslayer .core .session import Session
7
7
8
8
9
- def analyse (session : Session , layer : Layer ):
9
+ def analyse (session : Session , layer : BaseLayer ):
10
10
11
11
current_creds = session .credentials_being_built
12
12
Original file line number Diff line number Diff line change 3
3
import base64
4
4
from typing import Tuple
5
5
6
- from pyshark .packet .layer import Layer
6
+ from pyshark .packet .layers . base import BaseLayer
7
7
8
8
from credslayer .core import logger
9
9
from credslayer .core .session import Session
@@ -30,12 +30,12 @@ def _fix_tshark_widechar_issue(layer) -> Tuple[str, str]:
30
30
31
31
# Great resource : http://davenport.sourceforge.net/ntlm.html#theNtlmv2Response
32
32
33
- def analyse (session : Session , layer : Layer ):
33
+ def analyse (session : Session , layer : BaseLayer ):
34
34
35
35
current_creds = session .credentials_being_built
36
36
37
37
if current_creds and hasattr (layer , "nt_status" ):
38
- status = int (layer .nt_status )
38
+ status = int (layer .nt_status , 16 )
39
39
40
40
if status == 0 : # LOGON SUCCESS
41
41
logger .found (session , "{} found: {}" .format (current_creds .context ["version" ], current_creds .hash ))
Original file line number Diff line number Diff line change 1
1
# coding: utf-8
2
2
3
- from pyshark .packet .layer import Layer
3
+ from pyshark .packet .layers . base import BaseLayer
4
4
5
5
from credslayer .core import logger
6
6
from credslayer .core .session import Session
7
7
8
8
9
- def analyse (session : Session , layer : Layer ):
9
+ def analyse (session : Session , layer : BaseLayer ):
10
10
11
11
current_creds = session .credentials_being_built
12
12
Original file line number Diff line number Diff line change 1
1
# coding: utf-8
2
- from pyshark .packet .layer import Layer
2
+ from pyshark .packet .layers . base import BaseLayer
3
3
4
4
from credslayer .core import utils , logger
5
5
from credslayer .core .session import Session
6
6
7
7
8
- def analyse (session : Session , layer : Layer ):
8
+ def analyse (session : Session , layer : BaseLayer ):
9
9
10
10
current_creds = session .credentials_being_built
11
11
Original file line number Diff line number Diff line change 2
2
3
3
from base64 import b64decode
4
4
5
- from pyshark .packet .layer import Layer
5
+ from pyshark .packet .layers . base import BaseLayer
6
6
7
7
from credslayer .core import utils , logger
8
8
from credslayer .core .session import Session
9
9
10
10
11
- def analyse (session : Session , layer : Layer ):
11
+ def analyse (session : Session , layer : BaseLayer ):
12
12
13
13
current_creds = session .credentials_being_built
14
14
Original file line number Diff line number Diff line change 1
1
# coding: utf-8
2
2
3
- from pyshark .packet .layer import Layer
3
+ from pyshark .packet .layers . base import BaseLayer
4
4
5
5
from credslayer .core import logger
6
6
from credslayer .core .session import Session
7
7
8
8
9
- def analyse (session : Session , layer : Layer ):
9
+ def analyse (session : Session , layer : BaseLayer ):
10
10
11
11
current_creds = session .credentials_being_built
12
12
Original file line number Diff line number Diff line change 1
1
# coding: utf-8
2
- from pyshark .packet .layer import Layer
2
+ from pyshark .packet .layers . base import BaseLayer
3
3
4
4
from credslayer .core import logger
5
5
from credslayer .core .session import Session
@@ -27,7 +27,7 @@ def _is_username_duplicated(username: str) -> bool:
27
27
return True
28
28
29
29
30
- def analyse (session : Session , layer : Layer ):
30
+ def analyse (session : Session , layer : BaseLayer ):
31
31
32
32
if not hasattr (layer , "data" ):
33
33
return
Original file line number Diff line number Diff line change @@ -76,13 +76,25 @@ def test_http_basic_auth(self):
76
76
def test_http_post_auth (self ):
77
77
credentials_list = process_pcap ("samples/http-post-auth.pcap" ).get_list_of_all_credentials ()
78
78
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
+ )
80
86
self .assertTrue (len (credentials_list ) == 1 )
81
87
82
88
def test_http_get_auth (self ):
83
89
credentials_list = process_pcap ("samples/http-get-auth.pcap" ).get_list_of_all_credentials ()
84
90
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
+ )
86
98
self .assertTrue (len (credentials_list ) == 1 )
87
99
88
100
def test_ldap (self ):
@@ -180,7 +192,7 @@ def test_ntlmssp(self):
180
192
self .assertTrue (len (remaining_credentials ) == 6 )
181
193
self .assertTrue (Credentials (hash = "administrator::example:ea46e3a07ea448d200000000000000000000000000000000:"
182
194
"4d626ea83a02eee710571a2b84241788bd21e3a66ddbf4a5"
183
- ":CHALLENGE_NOT_FOUND" ) in remaining_credentials )
195
+ ":CHALLENGE_NOT_FOUND" , context = { 'version' : 'NETNTLMv1' } ) in remaining_credentials )
184
196
185
197
186
198
class ManagerTest (unittest .TestCase ):
You can’t perform that action at this time.
0 commit comments