Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
188 commits
Select commit Hold shift + click to select a range
622ed6c
Essentials:
SteffenBrossler May 29, 2023
cee4d21
Adding correct Send and Recive messages
SteffenBrossler May 29, 2023
55911d5
Minor Formattting
SteffenBrossler May 29, 2023
7d9c873
Restructuring layer-concept
SteffenBrossler May 29, 2023
fc46514
minor reformatting
SteffenBrossler May 29, 2023
c78eb2e
Fitting Executor to new layer model
SteffenBrossler May 31, 2023
8706ca9
Fixing Parser and Serializier to fit into the new layer-System
SteffenBrossler Jun 2, 2023
f395486
wip: Using the exisiting Paket-Constuct to build layercontext
SteffenBrossler Jun 7, 2023
2adbdfb
wip: migrating send and receive actions
SteffenBrossler Jun 8, 2023
8169382
wip: adjusting Tests accordingly
SteffenBrossler Jun 9, 2023
0c15fc2
wip: LayerStack is compiling but does not work properly, fixing some …
SteffenBrossler Jun 10, 2023
6f160b0
wip: Setting dev-Version to 1.1.4-SNAPSHOT
SteffenBrossler Jun 10, 2023
1d5eaf2
wip: Upgrading rest to dev-Version to 1.1.4-SNAPSHOT
SteffenBrossler Jun 10, 2023
0207c90
wip: recieve for version exchange is now working
SteffenBrossler Jun 10, 2023
a15c913
wip: sending VersionExchange is now Working (seams so)
SteffenBrossler Jun 10, 2023
c624318
wip: sending VersionExchange is now Working
SteffenBrossler Jun 10, 2023
e13837f
Merge remote-tracking branch 'origin/steffen/layer_development' into …
SteffenBrossler Jun 11, 2023
beab5a0
wip: Recieving and parsing kex is working
SteffenBrossler Jun 11, 2023
42870f4
wip: Send VersionKeyExchange is working
SteffenBrossler Jun 16, 2023
2173c41
wip: Sending MessageKeyExchange is Working
SteffenBrossler Jun 16, 2023
d67624d
wip: Sending MessageKeyExchange Reply is Working
SteffenBrossler Jun 17, 2023
7b7d3a4
wip: Sending new Keys is working
SteffenBrossler Jun 18, 2023
1d965d6
wip: debugging kex_init and key_repl
SteffenBrossler Jun 22, 2023
7482f4f
wip: some handler and encryption choosing issues
SteffenBrossler Jul 2, 2023
44eb836
wip: new Keys works
SteffenBrossler Jul 2, 2023
db8cf70
wip: new Keys works -> cleanup
SteffenBrossler Jul 2, 2023
c0d7636
wip: hacky but one handshake inkl. service accept is working now -> n…
SteffenBrossler Jul 2, 2023
861daf5
wip: Simple SSH-Connect Workflow works as expected now
SteffenBrossler Jul 5, 2023
bf1e58a
wip: technically working, fixed some known issues for the transport-p…
SteffenBrossler Jul 7, 2023
be8cc37
wip: single handshake is working now
SteffenBrossler Jul 7, 2023
1603d5f
wip: adding timeout againt because of stream-errors. Working towards …
SteffenBrossler Jul 7, 2023
01965cd
wip: authentication working, checking on channels now
SteffenBrossler Jul 8, 2023
9ee88d2
wip: working in channel functions
SteffenBrossler Jul 8, 2023
4723b04
wip: channel are working now properly
SteffenBrossler Jul 9, 2023
48e66b3
wip: channel client is working too
SteffenBrossler Jul 9, 2023
fe5bde3
wip: Cleanups
SteffenBrossler Jul 14, 2023
036d0db
wip: fixing failed tests
SteffenBrossler Jul 14, 2023
19f26fc
wip: fixing MitM
SteffenBrossler Jul 14, 2023
12c931d
wip: fixing some doc-Warnings
SteffenBrossler Jul 14, 2023
a0a9d8a
wip: fixed client issue while reading VersionExchangeMessage
SteffenBrossler Jul 16, 2023
c484a3d
wip: cleanup stuff from old tls-layerstack
SteffenBrossler Jul 16, 2023
7331946
Intermediate Release: Basic SSH Working
SteffenBrossler Jul 16, 2023
66e315c
Merge remote-tracking branch 'origin/steffen/layer_development' into …
SteffenBrossler Jul 17, 2023
fb5822d
wip: Mitm working with openssh client and server, some messages are m…
SteffenBrossler Jul 21, 2023
6ee0738
wip: Cleanup and delete "ReciveMessageHelper" and "SendMessageHelper"
SteffenBrossler Jul 21, 2023
098291b
wip: fixing missing ASCII-Parser-Identification
SteffenBrossler Jul 23, 2023
0049b59
wip: adding VersionExchangeMessageSSHV1
SteffenBrossler Jul 23, 2023
6230516
wip: cleanup code and adding basic sshv1 functions
SteffenBrossler Jul 24, 2023
360284c
wip: introducing simple sshv1 functions:
SteffenBrossler Jul 28, 2023
825ff67
wip: fixing Typo
SteffenBrossler Jul 28, 2023
c48c109
wip: Public Key Message is sending and recieving data, but mulit-prec…
SteffenBrossler Aug 3, 2023
fd02776
wip: Adding basic binary layer for ssh1 and the version exchange and …
SteffenBrossler Aug 5, 2023
1cd5df1
wip: Implementing SSH_SMSG_PUBLIC_KEY-Message
SteffenBrossler Aug 6, 2023
d49096a
REV: Clean up some old code and lefovers from TLS-Attacker and older …
SteffenBrossler Aug 11, 2023
ffea8d5
REV: make 'DataContainerFilter' implement 'Predicate' FunctionalInter…
SteffenBrossler Aug 11, 2023
342e26f
REV: Cleanup Comments and parametrize raw-class usage
SteffenBrossler Aug 11, 2023
cc0d9c5
REV: remove old PacketLayers (Binary and BLOB-Layer) and collect into…
SteffenBrossler Aug 11, 2023
13a7ba0
REV: Add IANA-Conform ShortStringNames
SteffenBrossler Aug 11, 2023
bdec7c9
REV: Change EndOfStreamException to extend EOFException
SteffenBrossler Aug 11, 2023
9b0c0e1
REV: move "serializeBytes" from messageSerializer-classes back to the…
SteffenBrossler Aug 11, 2023
6ac9b29
REV: move "serializeBytes" from messageSerializer-classes back to the…
SteffenBrossler Aug 11, 2023
6a290bd
Merge remote-tracking branch 'origin/steffen/layer_development' into …
SteffenBrossler Aug 12, 2023
490419d
Remove unnecessary stream-extending
SteffenBrossler Aug 13, 2023
0fb5982
Move Packet-Type-Interpretation up to SSHV2-layer and did some Cleanup
SteffenBrossler Aug 13, 2023
cc6ec1a
Removed unnecessary "GetSelectedEncryption", "GetSelectedMAC", "GetSe…
SteffenBrossler Aug 14, 2023
e770df5
Remove unused handler for Binary- and Blobpacket
SteffenBrossler Aug 14, 2023
750d52d
Remove old "LastHandeltAuthenticationMethod" Lefovers
SteffenBrossler Aug 14, 2023
6647b3b
Remove hint from sendData
SteffenBrossler Aug 14, 2023
193f9a7
wip-interim: start wich SessionKeyMessage
SteffenBrossler Aug 16, 2023
3fc1aa8
Merge branch 'steffen/layer_development' into steffen/sshv1_development
SteffenBrossler Aug 16, 2023
efd6525
Merge Layer_dev into SSHv1_dev
SteffenBrossler Aug 16, 2023
be5d46f
Fix merge-errors and fittin the sshv1-class
SteffenBrossler Aug 21, 2023
530f347
implementing CMSG_SESSION_KEY
SteffenBrossler Aug 26, 2023
021c0a3
Adding DisconnectMessage
SteffenBrossler Aug 27, 2023
f78e04d
Adding CRC Checksum Calculator
SteffenBrossler Sep 3, 2023
b91a029
fixing crc-checksum and implementing correct encryption to work with …
SteffenBrossler Sep 3, 2023
92ed5ae
corrected first block of encrypted payload
SteffenBrossler Sep 3, 2023
361c432
removing unused comments and old code
SteffenBrossler Sep 3, 2023
ac4ef7e
fixed "packetcomputation is no prepared" and researched timeout
SteffenBrossler Sep 8, 2023
1d282ed
Merge branch 'steffen/layer_development' into steffen/sshv1_development
SteffenBrossler Sep 8, 2023
80d81b5
simplifieng crc-checksum caluclation
SteffenBrossler Sep 8, 2023
1af4978
Create RsaPcks1Cipher and simplifieng rsa encryption. remove old debu…
SteffenBrossler Sep 10, 2023
aae9185
Merge remote-tracking branch 'origin/steffen/sshv1_development' into …
SteffenBrossler Sep 10, 2023
8a1640d
Merge remote-tracking branch 'origin/steffen/sshv1_development' into …
SteffenBrossler Sep 10, 2023
6fa78b8
Merge remote-tracking branch 'origin/steffen/sshv1_development' into …
SteffenBrossler Sep 10, 2023
5c865c6
added Error-Handling and code cleanup
SteffenBrossler Sep 10, 2023
4d598bc
Adding SuccessMessage
SteffenBrossler Sep 11, 2023
b73bb8b
Moving CRC and Padding into BinaryPacketSSHv1 and cleanup
SteffenBrossler Sep 11, 2023
a0bbdde
wip: implmenting krypto
SteffenBrossler Sep 16, 2023
8437b98
Implemented 3DES Krypto
SteffenBrossler Sep 19, 2023
9b94c75
Implementing other krypto-algorithms
SteffenBrossler Sep 22, 2023
d96c20d
Fixing implenetation and cleanup code
SteffenBrossler Sep 22, 2023
383ffd6
Code Cleanups
SteffenBrossler Sep 22, 2023
22af1fa
Implementing Basic Bleichenbacher with mock-Oracle
SteffenBrossler Sep 25, 2023
c1ba2d8
Add Server Endless mode
SteffenBrossler Oct 8, 2023
c67b50c
Correcting SSHv1 Success Message (setting unique name, because the xm…
SteffenBrossler Oct 15, 2023
0c2e04c
Implementing and correcting Bleichenbacher to work with SSHv1 Protocoll
SteffenBrossler Oct 15, 2023
ed845e8
Fixing Endless Server Mode
SteffenBrossler Oct 15, 2023
6fea461
Fixing Failure Message
SteffenBrossler Oct 22, 2023
7a4b7d2
Correcting Disconnect Message
SteffenBrossler Oct 22, 2023
1088530
Adding Oracle-Features and a dedicated oracle action,
SteffenBrossler Oct 22, 2023
a0e3001
Typos
SteffenBrossler Oct 22, 2023
d088f93
Porting GenericReceiveAction from TLS-Attacker
SteffenBrossler Oct 22, 2023
bb600e3
Cleanup and adding metrics
SteffenBrossler Oct 27, 2023
a70867f
minor fixes, typos
SteffenBrossler Oct 27, 2023
329de6d
minor fixes, reducing timeout
SteffenBrossler Oct 29, 2023
dd0c38f
removed unnecessary wait-time
SteffenBrossler Oct 29, 2023
1bbd3e4
re-insert waiting-time because of connection refused error
SteffenBrossler Oct 29, 2023
341f61f
Adjusting Sleeptime and logging-info
SteffenBrossler Oct 31, 2023
a155730
fixing failure message
SteffenBrossler Oct 31, 2023
b4e8630
setting keys to the longer keysize (2048; 1024 bit)
SteffenBrossler Oct 31, 2023
87e0f2b
fixing bleichenbacher
SteffenBrossler Nov 6, 2023
e133fa4
fixing logging and error messages
SteffenBrossler Nov 6, 2023
2094e83
Fixing Logging for better "INFO"-Logs and reducing Logoutput
SteffenBrossler Nov 9, 2023
fd51364
Adding "Benchmark"-Mode for simpler benchmarking
SteffenBrossler Nov 9, 2023
a77b696
adding simple benchmark-output to file for easier obersvation
SteffenBrossler Nov 10, 2023
c481144
removing comments and fixing up code; makein "encrypted_secret" optio…
SteffenBrossler Nov 10, 2023
4fe5d06
Cleaning Up Code
SteffenBrossler Nov 13, 2023
795f15c
Add Cookie-option for cli
SteffenBrossler Nov 13, 2023
a67dd58
Decoding Solution if cookie given and ading a json-style benchmark ou…
SteffenBrossler Nov 13, 2023
9ec5b1c
Adding comments and metrics, adding weak and strong oracle,
SteffenBrossler Dec 5, 2023
b807b6e
Adding better metric-ouptut
SteffenBrossler Dec 5, 2023
006c820
Switching from MOCK to Real oracle
SteffenBrossler Dec 6, 2023
cedd205
Improving Bleichenbach Implementation
SteffenBrossler Dec 28, 2023
c255b78
Implementing Bardou-Recommondation smaller start array
SteffenBrossler Dec 28, 2023
652d854
Implementing Bardou-Recommondations Trimming M0
SteffenBrossler Dec 29, 2023
c8c1134
Implementing custom Trible-DES because it differs from java implemena…
SteffenBrossler Dec 30, 2023
670b9e4
Implementing SSH_CMSG_USER
SteffenBrossler Dec 30, 2023
b7d28f6
Generating MOCKs
SteffenBrossler Dec 30, 2023
dcef233
Implementing AuthPassword und AuthRhosts
SteffenBrossler Dec 30, 2023
546fb36
Fixing TribleDES
SteffenBrossler Dec 30, 2023
021c94e
Adding more packet-types from OpenSSH 7.1
SteffenBrossler Dec 30, 2023
a41bcd3
Adding CLI-Parameters for Attacker to choose mock-key-lenght and orac…
SteffenBrossler Jan 2, 2024
4cb7527
Adding and correcting Improvements from Bardou 2012
SteffenBrossler Jan 12, 2024
553e29f
Cleanup class
SteffenBrossler Jan 12, 2024
18ca1a0
Implementing ParallelThread Improvement from Klima - not really teste…
SteffenBrossler Jan 13, 2024
5271525
Improved Performance Logging and implement auto key generation if nee…
SteffenBrossler Jan 20, 2024
78f7886
fix deadlock in step 2b and improve logging
SteffenBrossler Feb 2, 2024
3b90e1e
fixing parrallel threads and implementing skipping holes
SteffenBrossler Feb 10, 2024
d6dfa3d
commenting
SteffenBrossler Feb 11, 2024
7cc3bdd
fixing -classic tag
SteffenBrossler Feb 11, 2024
c14d31b
Comment out unused code block in MessageIdConstantSSH1
SteffenBrossler Feb 17, 2024
de6752d
fixing log-level
SteffenBrossler Feb 17, 2024
972e20e
Merge branch 'main' into steffen/sshv1_development
SteffenBrossler Feb 17, 2024
29e18c3
fixing Merge Master into SSHv1 Branch
SteffenBrossler Feb 17, 2024
1b9bd6e
Cleanup Hints because they are not used anymore
SteffenBrossler Feb 18, 2024
47185f8
add filter again
SteffenBrossler Feb 18, 2024
7cec66e
Adding "getRecievedPackets"
SteffenBrossler Feb 18, 2024
adf5c8a
Implementing new SSHv1 Messages
SteffenBrossler Feb 24, 2024
dfa2937
Reformating and automatic build cleanup
SteffenBrossler Feb 27, 2024
d794bf2
implementing manual padding probe requirements
SteffenBrossler Feb 28, 2024
3717461
debugging ssh-scanner
SteffenBrossler Feb 28, 2024
ac6f8fb
fix BinaryPacketParser for blockcipher
SteffenBrossler Feb 28, 2024
66208ed
fix getRecivedPackets
SteffenBrossler Feb 28, 2024
e17874a
adding new packets
SteffenBrossler Feb 29, 2024
428e031
Implementing more packettypes
SteffenBrossler Feb 29, 2024
f7bfd60
Build cleanup
SteffenBrossler Feb 29, 2024
7fa3b91
Comment Cleanup
SteffenBrossler Feb 29, 2024
5a040b7
Add Documentation
SteffenBrossler Feb 29, 2024
768b8be
Clean from Debug output and simply packetparsing
SteffenBrossler Feb 29, 2024
50e219b
fixing shared secret management in ssh1
SteffenBrossler Feb 29, 2024
8f43539
build cleanup
SteffenBrossler Feb 29, 2024
8f8e2fa
Move execute action to the correct position
SteffenBrossler Feb 29, 2024
6a4c8f3
Implementing more Messages
SteffenBrossler Feb 29, 2024
0631eab
Build Cleanup
SteffenBrossler Feb 29, 2024
8b05548
Improving Log-Ouptut
SteffenBrossler Mar 1, 2024
46432a8
[beta] improved Streamhandling
SteffenBrossler Mar 2, 2024
1b29e52
Implementing Timing-Testing for different padding-errors
SteffenBrossler Mar 28, 2024
9a20edf
Cleanup Code
SteffenBrossler Mar 29, 2024
ace9f2f
minor improvements to streamhandling
SteffenBrossler Mar 29, 2024
5341cf8
Codecleanup
SteffenBrossler Mar 29, 2024
f8b661a
Renamen "hintedInputStream" into "LayerInputStream" to be correct for…
SteffenBrossler Mar 29, 2024
dc69156
More Cleanup
SteffenBrossler Mar 29, 2024
9256c8f
Migrate Extensions to new layer-stacked principal of parsing, seriali…
SteffenBrossler Mar 29, 2024
94e3f90
Cleanup commented code
SteffenBrossler Mar 29, 2024
e335641
Cleanup unused code
SteffenBrossler Mar 29, 2024
eb326a7
Cleanup Bleichenbacher-Attack
SteffenBrossler Mar 29, 2024
867db3d
Cleanup Bleichenbacher-Attack
SteffenBrossler Mar 29, 2024
de6f5d4
Merge remote-tracking branch 'origin/steffen/sshv1_development' into …
SteffenBrossler Mar 29, 2024
a936630
adding cli parameter for padding-error
SteffenBrossler Mar 30, 2024
9469526
Reworking SshMessage to Ssh1Message for sshv1 communication for clean…
SteffenBrossler Mar 31, 2024
751d46c
Reorganize Packetstructure and setting correct "short string"
SteffenBrossler Mar 31, 2024
ebc7211
Fixing some SSHv1 Messages
SteffenBrossler Mar 31, 2024
2fbf4e4
Merge branch 'refs/heads/main' into steffen/sshv1_development
TrueSkrillor Apr 5, 2024
c7a4d1a
refactor: Use ModifiableVariableHolder from ModifiableVariable library
TrueSkrillor Apr 5, 2024
a875469
feat: Avoid external dependency by using ArrayConverter
TrueSkrillor Apr 5, 2024
3a5314e
chore: Add json-simple dependency to pom.xml
TrueSkrillor Apr 5, 2024
23f304b
Merge branch 'main' into steffen/sshv1_development
TrueSkrillor Apr 23, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
5 changes: 5 additions & 0 deletions .idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Attacks/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<parent>
<groupId>de.rub.nds.ssh.attacker</groupId>
<artifactId>ssh-attacker</artifactId>
<version>1.3.2-SNAPSHOT</version>
<version>2.0.0-SNAPSHOT</version>
</parent>
<artifactId>attacks</artifactId>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,11 @@
import com.beust.jcommander.JCommander;
import com.beust.jcommander.JCommander.Builder;
import com.beust.jcommander.ParameterException;
import de.rub.nds.sshattacker.attacks.config.BleichenbacherCommandConfig;
import de.rub.nds.sshattacker.attacks.config.MangerCommandConfig;
import de.rub.nds.sshattacker.attacks.config.delegate.GeneralAttackDelegate;
import de.rub.nds.sshattacker.attacks.impl.Attacker;
import de.rub.nds.sshattacker.attacks.impl.BleichenbacherAttacker;
import de.rub.nds.sshattacker.attacks.impl.MangerAttacker;
import de.rub.nds.sshattacker.core.config.SshDelegateConfig;
import de.rub.nds.sshattacker.core.config.delegate.GeneralDelegate;
Expand All @@ -38,6 +40,9 @@ public static void main(String[] args) {
MangerCommandConfig mangerTest = new MangerCommandConfig(generalDelegate);
builder.addCommand(MangerCommandConfig.ATTACK_COMMAND, mangerTest);

BleichenbacherCommandConfig bbTest = new BleichenbacherCommandConfig(generalDelegate);
builder.addCommand(BleichenbacherCommandConfig.ATTACK_COMMAND, bbTest);

JCommander jc = builder.build();

try {
Expand Down Expand Up @@ -70,6 +75,9 @@ public static void main(String[] args) {
case MangerCommandConfig.ATTACK_COMMAND:
attacker = new MangerAttacker(mangerTest, mangerTest.createConfig());
break;
case BleichenbacherCommandConfig.ATTACK_COMMAND:
attacker = new BleichenbacherAttacker(bbTest, bbTest.createConfig());
break;
default:
break;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,199 @@
/*
* SSH-Attacker - A Modular Penetration Testing Framework for SSH
*
* Copyright 2014-2022 Ruhr University Bochum, Paderborn University, and Hackmanit GmbH
*
* Licensed under Apache License 2.0 http://www.apache.org/licenses/LICENSE-2.0
*/
package de.rub.nds.sshattacker.attacks.config;

import com.beust.jcommander.Parameter;
import com.beust.jcommander.ParametersDelegate;
import de.rub.nds.sshattacker.attacks.config.delegate.AttackDelegate;
import de.rub.nds.sshattacker.attacks.pkcs1.KeyLenght;
import de.rub.nds.sshattacker.attacks.pkcs1.OracleType;
import de.rub.nds.sshattacker.attacks.pkcs1.util.ManipulationType;
import de.rub.nds.sshattacker.core.config.Config;
import de.rub.nds.sshattacker.core.config.delegate.ClientDelegate;
import de.rub.nds.sshattacker.core.config.delegate.GeneralDelegate;
import de.rub.nds.sshattacker.core.constants.ProtocolVersion;
import de.rub.nds.sshattacker.core.layer.constant.LayerConfiguration;

/** Config for Manger's attack */
public class BleichenbacherCommandConfig extends AttackConfig {

/** Command line parameter to call the attack */
public static final String ATTACK_COMMAND = "bb";

@ParametersDelegate private final ClientDelegate clientDelegate;

@ParametersDelegate private final AttackDelegate attackDelegate;

@Parameter(
names = "-encrypted_secret",
description =
"Encrypted secret from the CMSG_SSH_SESSION_KEY "
+ " message. You can retrieve this message from the Wireshark traffic. Find the"
+ " secret message, right click on the \"Encrypted Secret\" value and copy this value as a Hex Stream.")
private String encryptedSecret;

@Parameter(
names = {"-cookie", "-c"},
description = "Cookie for SessionID Calculation")
private String cookie;

@Parameter(
names = {"-benchmark", "-b"},
description =
"If this value is set the Attack is Benchmarked, all Encrypted-Secrets are randomly generated")
private boolean benchmark;

@Parameter(
names = "-classic",
description =
"If this value is set the Attack is run in 'classic' mode, so no algorithm_improvements are used")
private boolean classic = false;

@Parameter(
names = {"-keyLenght", "-k"},
description =
"Sets the oracle type for the attack, if real, the connection will be queried, otherwise it will be handeled as mock oracle. In case of the mock oracle, short means 1024 and 768 bit keys, long means 2048 and 1024 bit keys")
private KeyLenght keyLenght = KeyLenght.REAL;

@Parameter(
names = {"-oracleType", "-o"},
required = false,
description =
"Sets the oracle type for the attack, if real, the connection will be queried, otherwise it will be handeled as mock oracle")
private OracleType oracleType = OracleType.REAL;

@Parameter(
names = {"-sendSinglePacket", "-s"},
required = false,
description =
"If set, the string after this parameter will be send as packet directly to the oracle")
private String sendSinglePacket = "";

@Parameter(
names = {"-inner"},
required = false,
description = "Choose if inner padding should be maniulated")
private boolean inner = false;

@Parameter(
names = {"-outer"},
required = false,
description = "Choose if inner padding should be maniulated")
private boolean outer = false;

@Parameter(names = "-timing", required = false, description = "Run as Timing-Attack")
private boolean timing = false;

/** How many rescans should be done */
@Parameter(
names = "-intervall",
description = "define, how often the timing-attack should be tested")
private int intervall = 1000;

@Parameter(names = "-manipulationType", description = "Highest supported protocol version ")
private ManipulationType manipulationType = null;

/** How many rescans should be done */
private int numberOfIterations = 3;

public BleichenbacherCommandConfig(GeneralDelegate delegate) {
super(delegate);
clientDelegate = new ClientDelegate();
attackDelegate = new AttackDelegate();
addDelegate(clientDelegate);
addDelegate(attackDelegate);
}

@Override
public Config createConfig() {
Config config = super.createConfig();
config.setStopActionsAfterIOException(true);
config.setWorkflowExecutorShouldClose(false);
config.setProtocolVersion(ProtocolVersion.SSH1);
config.setDefaultLayerConfiguration(LayerConfiguration.SSHV1);
config.setClientVersion("SSH-1.7-OpenSSH_6.2p1");
config.setDoNotEncryptMessages(true);
config.setStopActionsAfterDisconnect(false);
config.setStopReceivingAfterDisconnect(false);

return config;
}

@Override
public boolean isExecuteAttack() {
return attackDelegate.isExecuteAttack();
}

public String getEncryptedSecret() {
return encryptedSecret;
}

public void setEncryptedSecret(String encryptedSecret) {
this.encryptedSecret = encryptedSecret;
}

public int getNumberOfIterations() {
return numberOfIterations;
}

public void setNumberOfIterations(int mapListDepth) {
numberOfIterations = mapListDepth;
}

public boolean isBenchmark() {
return benchmark;
}

public void setBenchmark(boolean benchmark) {
this.benchmark = benchmark;
}

public String getCookie() {
return cookie;
}

public void setCookie(String cookie) {
this.cookie = cookie;
}

public KeyLenght getKeyLenght() {
return keyLenght;
}

public OracleType getOracleType() {
return oracleType;
}

public String getSendSinglePacket() {
return sendSinglePacket;
}

public boolean isClassic() {
return classic;
}

public boolean isInner() {
return inner;
}

public boolean isOuter() {
return outer;
}

public boolean isTiming() {
return timing;
}

public int getIntervall() {
return intervall;
}

public ManipulationType getManipulationType() {
return manipulationType;
}
}
Loading