Skip to content

Commit b01250b

Browse files
Suggestions by Florian included
1 parent e391c20 commit b01250b

File tree

1 file changed

+6
-40
lines changed

1 file changed

+6
-40
lines changed

README.md

Lines changed: 6 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
[![release](https://img.shields.io/badge/Release-v1.0-blue.svg)](https://github.com/RUB-NDS/TLS-Attacker/releases)
33
![licence](https://img.shields.io/badge/License-Apachev2-brightgreen.svg)
44

5-
TLS-Attacker is a Java-based framework for analyzing TLS libraries. It is able to send arbitrary protocol messages in an arbitrary order to the TLS peer, and define their modifications using a provided interface. This gives the developer an oportunity to easily define a custom TLS protocol flow and test it against his TLS library.
5+
TLS-Attacker is a Java-based framework for analyzing TLS libraries. It is able to send arbitrary protocol messages in an arbitrary order to the TLS peer, and define their modifications using a provided interface. This gives the developer an opportunity to easily define a custom TLS protocol flow and test it against his TLS library.
66

77
**Please note:** *TLS-Attacker is a research tool intended for TLS developers and pentesters. There is no GUI and no green/red lights. It is the first version and can contain some bugs.*
88

@@ -18,9 +18,9 @@ $ mvn clean package -DskipTests=true
1818
```
1919
## Code Structure
2020
TLS-Attacker consists of several (maven) projects:
21-
- Utils: contains utilities for Array handling or for deep object copying
22-
- ModifiableVariable: one of the basic modules. It contains modifiable variables that allow one to execute (specific as well as random) variable modifications during the protocol flow. You can for example execute a XOR operation on a byte array, while using this byte array to construct your TLS protocol message. ModifiableVariables are used in the protocol messages.
23-
- TLS: protocol implementation, currently (D)TLS1.2 compatible.
21+
- Transport: Transport utilities for TCP and UDP.
22+
- ModifiableVariable: Contains modifiable variables that allow one to execute (specific as well as random) variable modifications during the protocol flow. ModifiableVariables are used in the protocol messages.
23+
- TLS: Protocol implementation, currently (D)TLS1.2 compatible.
2424
- Attacks: Implementation of some well-known attacks and tests for these attacks.
2525
- Fuzzer: Fuzzing framework implemented on top of the TLS-Attacker functionality.
2626

@@ -35,7 +35,7 @@ Currently, the following features are supported:
3535
- (EC)DH and RSA key exchange algorithms
3636
- AES CBC cipher suites
3737
- Extensions: EC, EC point format, Heartbeat, Max fragment length, Server name, Signature and Hash algorithms
38-
- TLS client (server comming soon)
38+
- TLS client (server coming soon)
3939

4040
## Usage
4141
In the following, we present some very simple examples on using TLS-Attacker.
@@ -224,41 +224,6 @@ We can of course use this concept by constructing our TLS workflows. Imagine you
224224
<ClientHello>
225225
<messageIssuer>CLIENT</messageIssuer>
226226
<extensions>
227-
<EllipticCurves>
228-
<supportedCurvesConfig>SECP192R1</supportedCurvesConfig>
229-
<supportedCurvesConfig>SECP256R1</supportedCurvesConfig>
230-
<supportedCurvesConfig>SECP384R1</supportedCurvesConfig>
231-
<supportedCurvesConfig>SECP521R1</supportedCurvesConfig>
232-
</EllipticCurves>
233-
<ECPointFormat>
234-
<pointFormatsConfig>UNCOMPRESSED</pointFormatsConfig>
235-
</ECPointFormat>
236-
<SignatureAndHashAlgorithmsExtension>
237-
<signatureAndHashAlgorithmsConfig>
238-
<hashAlgorithm>SHA512</hashAlgorithm>
239-
<signatureAlgorithm>RSA</signatureAlgorithm>
240-
</signatureAndHashAlgorithmsConfig>
241-
<signatureAndHashAlgorithmsConfig>
242-
<hashAlgorithm>SHA512</hashAlgorithm>
243-
<signatureAlgorithm>ECDSA</signatureAlgorithm>
244-
</signatureAndHashAlgorithmsConfig>
245-
<signatureAndHashAlgorithmsConfig>
246-
<hashAlgorithm>SHA256</hashAlgorithm>
247-
<signatureAlgorithm>RSA</signatureAlgorithm>
248-
</signatureAndHashAlgorithmsConfig>
249-
<signatureAndHashAlgorithmsConfig>
250-
<hashAlgorithm>SHA256</hashAlgorithm>
251-
<signatureAlgorithm>ECDSA</signatureAlgorithm>
252-
</signatureAndHashAlgorithmsConfig>
253-
<signatureAndHashAlgorithmsConfig>
254-
<hashAlgorithm>SHA1</hashAlgorithm>
255-
<signatureAlgorithm>RSA</signatureAlgorithm>
256-
</signatureAndHashAlgorithmsConfig>
257-
<signatureAndHashAlgorithmsConfig>
258-
<hashAlgorithm>SHA1</hashAlgorithm>
259-
<signatureAlgorithm>ECDSA</signatureAlgorithm>
260-
</signatureAndHashAlgorithmsConfig>
261-
</SignatureAndHashAlgorithmsExtension>
262227
<HeartbeatExtension>
263228
<heartbeatModeConfig>PEER_ALLOWED_TO_SEND</heartbeatModeConfig>
264229
</HeartbeatExtension>
@@ -322,6 +287,7 @@ Further examples on attacks and fuzzing are in the Wiki.
322287
The following people have contributed code to the TLS-Attacker Project:
323288
- Florian Pfützenreuter: DTLS 1.2
324289
- Felix Lange: EAP-TLS
290+
- Christian Mainka: Design support and many implementation suggestions.
325291

326292
Further contributions pull requests are welcome.
327293

0 commit comments

Comments
 (0)