Skip to content

Commit 5b45823

Browse files
committed
Integraded InvalidCurveProbe
1 parent 03e1a09 commit 5b45823

File tree

5 files changed

+55
-3
lines changed

5 files changed

+55
-3
lines changed

src/main/java/de/rub/nds/tlsscanner/TLSScanner.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import de.rub.nds.tlsscanner.probe.CiphersuiteProbe;
1919
import de.rub.nds.tlsscanner.probe.Cve20162107Probe;
2020
import de.rub.nds.tlsscanner.probe.HeartbleedProbe;
21+
import de.rub.nds.tlsscanner.probe.InvalidCurveProbe;
2122
import de.rub.nds.tlsscanner.probe.PaddingOracleProbe;
2223
import de.rub.nds.tlsscanner.probe.PoodleProbe;
2324
import de.rub.nds.tlsscanner.probe.ProtocolVersionProbe;
@@ -79,6 +80,8 @@ public SiteReport scan() {
7980
testList.add(new PoodleProbe(config));
8081
testList.add(new TlsPoodleProbe(config));
8182
testList.add(new Cve20162107Probe(config));
83+
testList.add(new InvalidCurveProbe(config));
84+
8285
// testList.add(new SignatureAndHashAlgorithmProbe(websiteHost));
8386
ScanJob job = new ScanJob(testList);
8487
return executor.execute(config, job);

src/main/java/de/rub/nds/tlsscanner/probe/Cve20162107Probe.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
public class Cve20162107Probe extends TLSProbe {
2727

2828
public Cve20162107Probe(ScannerConfig config) {
29-
super(ProbeType.CVE20172107, config);
29+
super(ProbeType.CVE20162107, config);
3030
}
3131

3232
@Override
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
/**
2+
* TLS-Scanner - A TLS Configuration Analysistool based on TLS-Attacker
3+
*
4+
* Copyright 2014-2017 Ruhr University Bochum / Hackmanit GmbH
5+
*
6+
* Licensed under Apache License 2.0
7+
* http://www.apache.org/licenses/LICENSE-2.0
8+
*/
9+
package de.rub.nds.tlsscanner.probe;
10+
11+
import de.rub.nds.tlsattacker.attacks.config.InvalidCurveAttackConfig;
12+
import de.rub.nds.tlsattacker.attacks.config.PaddingOracleCommandConfig;
13+
import de.rub.nds.tlsattacker.attacks.impl.InvalidCurveAttacker;
14+
import de.rub.nds.tlsattacker.attacks.impl.PaddingOracleAttacker;
15+
import de.rub.nds.tlsattacker.core.config.delegate.ClientDelegate;
16+
import de.rub.nds.tlsscanner.config.ScannerConfig;
17+
import de.rub.nds.tlsscanner.report.ProbeResult;
18+
import de.rub.nds.tlsscanner.report.ResultValue;
19+
import de.rub.nds.tlsscanner.report.check.CheckType;
20+
import de.rub.nds.tlsscanner.report.check.TLSCheck;
21+
import java.util.LinkedList;
22+
import java.util.List;
23+
24+
/**
25+
*
26+
* @author Robert Merget - [email protected]
27+
*/
28+
public class InvalidCurveProbe extends TLSProbe {
29+
30+
public InvalidCurveProbe(ScannerConfig config) {
31+
super(ProbeType.INVALID_CURVE, config);
32+
}
33+
34+
@Override
35+
public ProbeResult call() {
36+
LOGGER.debug("Starting InvalidCurveProbe");
37+
InvalidCurveAttackConfig invalidCurveAttackConfig = new InvalidCurveAttackConfig(getScannerConfig().getGeneralDelegate());
38+
ClientDelegate delegate = (ClientDelegate) invalidCurveAttackConfig.getDelegate(ClientDelegate.class);
39+
delegate.setHost(getScannerConfig().getClientDelegate().getHost());
40+
InvalidCurveAttacker attacker = new InvalidCurveAttacker(invalidCurveAttackConfig);
41+
Boolean vulnerable = attacker.isVulnerable();
42+
TLSCheck check = new TLSCheck(vulnerable, CheckType.ATTACK_INVALID_CURVE, 10);
43+
List<TLSCheck> checkList = new LinkedList<>();
44+
checkList.add(check);
45+
return new ProbeResult(getType(), new LinkedList<ResultValue>(), checkList);
46+
}
47+
}

src/main/java/de/rub/nds/tlsscanner/probe/ProbeType.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,10 @@ public enum ProbeType {
2020
BLEICHENBACHER,
2121
NAMED_CURVES,
2222
PADDING_ORACLE,
23-
CVE20172107,
23+
CVE20162107,
2424
POODLE,
2525
TLS_POODLE,
2626
PROTOCOL_VERSION,
27+
INVALID_CURVE,
2728
SIGNATURE_AND_HASH,
2829
}

src/main/java/de/rub/nds/tlsscanner/report/check/CheckType.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,5 +32,6 @@ public enum CheckType {
3232
ATTACK_HEARTBLEED,
3333
ATTACK_POODLE,
3434
ATTACK_TLS_POODLE,
35-
ATTACK_CVE20162107
35+
ATTACK_CVE20162107,
36+
ATTACK_INVALID_CURVE
3637
}

0 commit comments

Comments
 (0)