Skip to content

Commit 7aed810

Browse files
committed
Updated TLS-Scanner to TLS-Attacker 2.1
1 parent 5b45823 commit 7aed810

File tree

7 files changed

+24
-13
lines changed

7 files changed

+24
-13
lines changed

pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,18 @@
33
<modelVersion>4.0.0</modelVersion>
44
<artifactId>TLS-Scanner</artifactId>
55
<groupId>de.rub.nds.tlsscanner</groupId>
6-
<version>1.0</version>
6+
<version>1.1</version>
77
<packaging>jar</packaging>
88
<dependencies>
99
<dependency>
1010
<groupId>de.rub.nds.tlsattacker</groupId>
1111
<artifactId>TLS-Core</artifactId>
12-
<version>2.0Beta4</version>
12+
<version>2.1</version>
1313
</dependency>
1414
<dependency>
1515
<groupId>de.rub.nds.tlsattacker</groupId>
1616
<artifactId>Attacks</artifactId>
17-
<version>2.0Beta4</version>
17+
<version>2.1</version>
1818
</dependency>
1919
<dependency>
2020
<groupId>junit</groupId>

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ public SiteReport scan() {
7474
testList.add(new CiphersuiteProbe(config));
7575
testList.add(new CiphersuiteOrderProbe(config));
7676
testList.add(new HeartbleedProbe(config));
77-
// testList.add(new NamedCurvesProbe(websiteHost));
77+
//testList.add(new NamedCurvesProbe(websiteHost));
7878
testList.add(new PaddingOracleProbe(config));
7979
testList.add(new BleichenbacherProbe(config));
8080
testList.add(new PoodleProbe(config));

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ public ProbeResult call() {
3838
tlsConfig.setQuickReceive(true);
3939
tlsConfig.setEarlyStop(true);
4040
tlsConfig.setWorkflowTraceType(WorkflowTraceType.HELLO);
41-
tlsConfig.setSniHostname(tlsConfig.getConnectionEnd().getHostname());
41+
tlsConfig.setSniHostname(tlsConfig.getDefaultClientConnection().getHostname());
4242
tlsConfig.setAddServerNameIndicationExtension(true);
4343
tlsConfig.setStopActionsAfterFatal(true);
4444
Certificate serverCert = CertificateFetcher.fetchServerCertificate(tlsConfig);

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,10 @@
1414
import de.rub.nds.tlsattacker.core.constants.ProtocolVersion;
1515
import de.rub.nds.tlsattacker.core.exceptions.WorkflowExecutionException;
1616
import de.rub.nds.tlsattacker.core.state.State;
17-
import de.rub.nds.tlsattacker.core.state.TlsContext;
1817
import de.rub.nds.tlsattacker.core.workflow.WorkflowExecutor;
1918
import de.rub.nds.tlsattacker.core.workflow.WorkflowExecutorFactory;
2019
import de.rub.nds.tlsattacker.core.workflow.action.executor.WorkflowExecutorType;
2120
import de.rub.nds.tlsattacker.core.workflow.factory.WorkflowTraceType;
22-
import de.rub.nds.tlsattacker.transport.ClientConnectionEnd;
2321
import de.rub.nds.tlsscanner.config.ScannerConfig;
2422
import de.rub.nds.tlsscanner.report.ProbeResult;
2523
import de.rub.nds.tlsscanner.report.ResultValue;

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

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,7 @@
99
package de.rub.nds.tlsscanner.probe;
1010

1111
import de.rub.nds.tlsattacker.attacks.config.InvalidCurveAttackConfig;
12-
import de.rub.nds.tlsattacker.attacks.config.PaddingOracleCommandConfig;
1312
import de.rub.nds.tlsattacker.attacks.impl.InvalidCurveAttacker;
14-
import de.rub.nds.tlsattacker.attacks.impl.PaddingOracleAttacker;
1513
import de.rub.nds.tlsattacker.core.config.delegate.ClientDelegate;
1614
import de.rub.nds.tlsscanner.config.ScannerConfig;
1715
import de.rub.nds.tlsscanner.report.ProbeResult;
@@ -39,9 +37,24 @@ public ProbeResult call() {
3937
delegate.setHost(getScannerConfig().getClientDelegate().getHost());
4038
InvalidCurveAttacker attacker = new InvalidCurveAttacker(invalidCurveAttackConfig);
4139
Boolean vulnerable = attacker.isVulnerable();
40+
if (vulnerable == null) {
41+
vulnerable = false; //TODO
42+
}
4243
TLSCheck check = new TLSCheck(vulnerable, CheckType.ATTACK_INVALID_CURVE, 10);
4344
List<TLSCheck> checkList = new LinkedList<>();
4445
checkList.add(check);
46+
invalidCurveAttackConfig = new InvalidCurveAttackConfig(getScannerConfig().getGeneralDelegate());
47+
invalidCurveAttackConfig.setEphemeral(true);
48+
delegate = (ClientDelegate) invalidCurveAttackConfig.getDelegate(ClientDelegate.class);
49+
delegate.setHost(getScannerConfig().getClientDelegate().getHost());
50+
attacker = new InvalidCurveAttacker(invalidCurveAttackConfig);
51+
vulnerable = attacker.isVulnerable();
52+
if (vulnerable == null) {
53+
vulnerable = false; //TODO
54+
}
55+
check = new TLSCheck(vulnerable, CheckType.ATTACK_INVALID_CURVE_EPHEMERAL, 10);
56+
checkList.add(check);
57+
4558
return new ProbeResult(getType(), new LinkedList<ResultValue>(), checkList);
4659
}
4760
}

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import de.rub.nds.tlsattacker.core.protocol.message.SSL2ServerHelloMessage;
1919
import de.rub.nds.tlsattacker.core.record.layer.RecordLayerType;
2020
import de.rub.nds.tlsattacker.core.state.State;
21-
import de.rub.nds.tlsattacker.core.state.TlsContext;
2221
import de.rub.nds.tlsattacker.core.workflow.WorkflowExecutor;
2322
import de.rub.nds.tlsattacker.core.workflow.WorkflowExecutorFactory;
2423
import de.rub.nds.tlsattacker.core.workflow.WorkflowTrace;
@@ -128,10 +127,9 @@ private boolean isSSL2Supported() {
128127
tlsConfig.setEarlyStop(true);
129128
tlsConfig.setStopActionsAfterFatal(true);
130129
tlsConfig.setRecordLayerType(RecordLayerType.BLOB);
131-
WorkflowTrace trace = new WorkflowTrace(tlsConfig);
130+
WorkflowTrace trace = new WorkflowTrace();
132131
trace.addTlsAction(new SendAction(new SSL2ClientHelloMessage(tlsConfig)));
133132
trace.addTlsAction(new ReceiveAction(new SSL2ServerHelloMessage(tlsConfig)));
134-
tlsConfig.setWorkflowTrace(trace);
135133
State state = new State(tlsConfig,trace);
136134
WorkflowExecutor executor = WorkflowExecutorFactory.createWorkflowExecutor(WorkflowExecutorType.DEFAULT, state);
137135
executor.executeWorkflow();

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,5 +33,7 @@ public enum CheckType {
3333
ATTACK_POODLE,
3434
ATTACK_TLS_POODLE,
3535
ATTACK_CVE20162107,
36-
ATTACK_INVALID_CURVE
36+
ATTACK_INVALID_CURVE,
37+
ATTACK_INVALID_CURVE_EPHEMERAL
38+
3739
}

0 commit comments

Comments
 (0)