Skip to content

Commit

Permalink
Merge pull request #17 from ShellCode33/develop
Browse files Browse the repository at this point in the history
Merge develop into master
  • Loading branch information
ShellCode33 authored Nov 3, 2022
2 parents 8fab046 + c044d34 commit 8b60b4b
Show file tree
Hide file tree
Showing 13 changed files with 40 additions and 28 deletions.
4 changes: 2 additions & 2 deletions credslayer/parsers/ftp.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# coding: utf-8

from pyshark.packet.layer import Layer
from pyshark.packet.layers.base import BaseLayer

from credslayer.core import logger
from credslayer.core.session import Session


def analyse(session: Session, layer: Layer):
def analyse(session: Session, layer: BaseLayer):

current_creds = session.credentials_being_built

Expand Down
4 changes: 2 additions & 2 deletions credslayer/parsers/http.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import base64
from urllib.parse import parse_qs

from pyshark.packet.layer import Layer
from pyshark.packet.layers.base import BaseLayer

from credslayer.core import logger
from credslayer.core.session import Session
Expand All @@ -26,7 +26,7 @@
'j_password']


def analyse(session: Session, layer: Layer):
def analyse(session: Session, layer: BaseLayer):

current_creds = session.credentials_being_built

Expand Down
4 changes: 2 additions & 2 deletions credslayer/parsers/imap.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# coding: utf-8

from pyshark.packet.layer import Layer
from pyshark.packet.layers.base import BaseLayer

from credslayer.core import logger
from credslayer.core.session import Session


def analyse(session: Session, layer: Layer):
def analyse(session: Session, layer: BaseLayer):

current_creds = session.credentials_being_built

Expand Down
4 changes: 2 additions & 2 deletions credslayer/parsers/kerberos.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# coding: utf-8

from pyshark.packet.layer import Layer
from pyshark.packet.layers.base import BaseLayer

from credslayer.core import logger
from credslayer.core.session import Session


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

return False
4 changes: 2 additions & 2 deletions credslayer/parsers/ldap.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# coding: utf-8
from pyshark.packet.layer import Layer
from pyshark.packet.layers.base import BaseLayer

from credslayer.core import logger
from credslayer.core.session import Session


def analyse(session: Session, layer: Layer):
def analyse(session: Session, layer: BaseLayer):

current_creds = session.credentials_being_built

Expand Down
4 changes: 2 additions & 2 deletions credslayer/parsers/mysql.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# coding: utf-8

from pyshark.packet.layer import Layer
from pyshark.packet.layers.base import BaseLayer

from credslayer.core import logger
from credslayer.core.session import Session


def analyse(session: Session, layer: Layer):
def analyse(session: Session, layer: BaseLayer):

current_creds = session.credentials_being_built

Expand Down
6 changes: 3 additions & 3 deletions credslayer/parsers/ntlmssp.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import base64
from typing import Tuple

from pyshark.packet.layer import Layer
from pyshark.packet.layers.base import BaseLayer

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

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

def analyse(session: Session, layer: Layer):
def analyse(session: Session, layer: BaseLayer):

current_creds = session.credentials_being_built

if current_creds and hasattr(layer, "nt_status"):
status = int(layer.nt_status)
status = int(layer.nt_status, 16)

if status == 0: # LOGON SUCCESS
logger.found(session, "{} found: {}".format(current_creds.context["version"], current_creds.hash))
Expand Down
4 changes: 2 additions & 2 deletions credslayer/parsers/pgsql.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# coding: utf-8

from pyshark.packet.layer import Layer
from pyshark.packet.layers.base import BaseLayer

from credslayer.core import logger
from credslayer.core.session import Session


def analyse(session: Session, layer: Layer):
def analyse(session: Session, layer: BaseLayer):

current_creds = session.credentials_being_built

Expand Down
4 changes: 2 additions & 2 deletions credslayer/parsers/pop.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# coding: utf-8
from pyshark.packet.layer import Layer
from pyshark.packet.layers.base import BaseLayer

from credslayer.core import utils, logger
from credslayer.core.session import Session


def analyse(session: Session, layer: Layer):
def analyse(session: Session, layer: BaseLayer):

current_creds = session.credentials_being_built

Expand Down
4 changes: 2 additions & 2 deletions credslayer/parsers/smtp.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@

from base64 import b64decode

from pyshark.packet.layer import Layer
from pyshark.packet.layers.base import BaseLayer

from credslayer.core import utils, logger
from credslayer.core.session import Session


def analyse(session: Session, layer: Layer):
def analyse(session: Session, layer: BaseLayer):

current_creds = session.credentials_being_built

Expand Down
4 changes: 2 additions & 2 deletions credslayer/parsers/snmp.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# coding: utf-8

from pyshark.packet.layer import Layer
from pyshark.packet.layers.base import BaseLayer

from credslayer.core import logger
from credslayer.core.session import Session


def analyse(session: Session, layer: Layer):
def analyse(session: Session, layer: BaseLayer):

current_creds = session.credentials_being_built

Expand Down
4 changes: 2 additions & 2 deletions credslayer/parsers/telnet.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# coding: utf-8
from pyshark.packet.layer import Layer
from pyshark.packet.layers.base import BaseLayer

from credslayer.core import logger
from credslayer.core.session import Session
Expand Down Expand Up @@ -27,7 +27,7 @@ def _is_username_duplicated(username: str) -> bool:
return True


def analyse(session: Session, layer: Layer):
def analyse(session: Session, layer: BaseLayer):

if not hasattr(layer, "data"):
return
Expand Down
18 changes: 15 additions & 3 deletions tests/tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -76,13 +76,25 @@ def test_http_basic_auth(self):
def test_http_post_auth(self):
credentials_list = process_pcap("samples/http-post-auth.pcap").get_list_of_all_credentials()
print(credentials_list)
self.assertTrue(Credentials('toto', 'Str0ngP4ssw0rd') in credentials_list)
self.assertTrue(
Credentials(
'toto',
'Str0ngP4ssw0rd',
context={'Method': 'POST', 'URL': 'http://192.168.56.101:1337/login'}
) in credentials_list
)
self.assertTrue(len(credentials_list) == 1)

def test_http_get_auth(self):
credentials_list = process_pcap("samples/http-get-auth.pcap").get_list_of_all_credentials()
print(credentials_list)
self.assertTrue(Credentials('admin', 'qwerty1234') in credentials_list)
self.assertTrue(
Credentials(
'admin',
'qwerty1234',
context={'Method': 'GET', 'URL': 'http://192.168.56.101:1337/login?login=admin&password=qwerty1234'}
) in credentials_list
)
self.assertTrue(len(credentials_list) == 1)

def test_ldap(self):
Expand Down Expand Up @@ -180,7 +192,7 @@ def test_ntlmssp(self):
self.assertTrue(len(remaining_credentials) == 6)
self.assertTrue(Credentials(hash="administrator::example:ea46e3a07ea448d200000000000000000000000000000000:"
"4d626ea83a02eee710571a2b84241788bd21e3a66ddbf4a5"
":CHALLENGE_NOT_FOUND") in remaining_credentials)
":CHALLENGE_NOT_FOUND", context={'version': 'NETNTLMv1'}) in remaining_credentials)


class ManagerTest(unittest.TestCase):
Expand Down

0 comments on commit 8b60b4b

Please sign in to comment.