-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Using HarpoS7 with 6ES7511-1AK02-0AB0 #3
Comments
I'm glad to hear that! I'll try to look at it but first I need to get my reversing setup up and working again. |
Amazing! |
So far, I've found that different algorithms get used when the PLC sends a 0x00 key type (Unspecified) instead of 0x03 (ConnectionKey - I think) used by the PLCSIMs. I need to dig deeper, and it probably will take some time. It's not all different, though. Some of the algs are reused, like the key ID derivation obviously and the pseudorandom number generator. |
@Schneggo Hi, I'm sorry it's taking so long but I had to finish a project at work. I've found some new 'obfuscated' functions and I'll probably have to develop some new tools and find patterns (just as I had to do for the challenge fingerprint function). |
I think I won't bother trying to 'deobfuscate' these functions and just use them as is. They are large blocks of bitwise operations and I'm not really familiar with dealing with MBAs yet. |
No worries, just take your time. |
@Schneggo I think it should work, but I might have gotten some offsets mixed up because I don't have a PLC at hand at the moment. I've published a PoC release (it should automatically determine whether you are connecting to a PLCSIM or a real PLC and adjust offsets accordingly and you can pass the IP address and port by command line now instead of recompiling the binary). You can find it here. If you're interested, you can take a look at the issue-3 branch. |
I forgot to mention that there is no need for dumping public keys etc. I've added a default public key store which contains all of the keys dumped from TIA Portal V16. |
I've fixed the Release variant and added support for S7-1200 (family0 keys, which are used by S7-1500, are used the same way as family1 keys, which are used by S7-1200). I've also tested the PoC on my real S7-1200 and it authenticated successfully. Here's the improved version: https://github.com/bonk-dev/HarpoS7/releases/tag/v1.1.0-pre2 |
Hello, I tested your patched version v1.1.0-pre2 on my real S7-1200 PLC, 6ES7214-1BG40-0XB0 and I can confirm, that the library authenticated successfully. Great work. |
@peterbelica That's great, thanks a lot! |
Thank you very much. |
Here's the pre3 version: https://github.com/bonk-dev/HarpoS7/releases/tag/v1.1.0-pre3. |
Amazing! Thank you for your effort! |
Tested it with a 6ES75 16-3AN02-0AB0 and it worked. |
That's great! |
Found your project and love it!
I wanted to ask if you plan on doing the encryption for physical SPS.
I'm currently trying to run HarpoS7 with a 6ES7511-1AK02-0AB0 myself and keep getting stuck at the SetMultivarsRequest.
So far i figured almost all offsets out which differ.
I'm using the publickey "S1500" and using TIA V16 for my project.
The bloblength on my side is 180 and the publickey is 40 bytes long.
I added a Zip with two wiresharkdump:
Wiresharkdump.zip
Do you maybe have an idea what else would i would have to change that it would work?
I could also share my project if you're interested.
The text was updated successfully, but these errors were encountered: