Skip to content

Commit 79f7ed9

Browse files
committed
Update README
1 parent 62ea6ae commit 79f7ed9

File tree

1 file changed

+1
-14
lines changed

1 file changed

+1
-14
lines changed

README.md

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -82,20 +82,7 @@ Thanks to Wireshark dissectors, it's really easy to write new protocols support,
8282

8383
Contributing doesn't necessarily mean writing code. You can simply contribute by opening new issues on Github if you spot any bug or if you would like to see something added to the tool.
8484

85-
CredSLayer automatically dispatch packets to the appropriate file, for example if a LDAP packet is received, CredSLayer will send the `LDAP` layer to the `analyse` function inside `ldap.py`.
86-
87-
So if you want to support a new protocol, all you have to do is create a new file **named after the layer name** you want to parse. You can find the layer name by looking at the `Protocol` column in Wireshark.
88-
89-
There's one exception to that. If the protocol you want to extract credentials from can be embedded in other protocol, the procedure is a bit more complex (you can look at `ntlmssp.py` and `manager.py` to understand the mechanisms involved).
90-
91-
Otherwise, to create a simple module, there are a few things you need to know :
92-
- The `analyse()` function's parameter `layer` is simply the layer you want to analyse, it contains everything the Wireshark dissector were able to find.
93-
- The `analyse()` function's parameter `session` is a dictionary that enables you to have a context between the packets, it can keep stuff you found in a packet so you can access those variables to analyse the packets that follow.
94-
- The `session` has 2 attributes you must know of. The first one is `credentials_being_built`, it's the `Credentials` object you must fill when you find something interesting (username, password, hash, etc). The second attribute is `credentials_list`, it's a list of `Credentials` objects and it is automatically filled with `credentials_being_built` when the `analyse()` function returns true. But in some cases (you can find one in `http.py`), you might want to fill that list manually.
95-
- You must ensure the authentication was successful before logging any credentials. The credentials being built but not validated will be automatically logged as `info` by CredSLayer's "garbage collector".
96-
- If at some point of your processing you realise the credentials being built aren't valid, you must call `session.invalidate_credentials_and_clear_session()`.
97-
98-
Good luck ! If you need help to understand something, feel free to contact me : shellcode33{at}protonmail.ch
85+
To learn how to create support for a new protocol, head over to the [documentation](https://shellcode33.github.io/CredSLayer/contribute/create-parser.html).
9986

10087
# Credits
10188

0 commit comments

Comments
 (0)