All Projects → Skill3t → IEC61850-MMS-Fuzzer

Skill3t / IEC61850-MMS-Fuzzer

Licence: other
Mutation Based Fuzzer for IEC61850 Server IED'S

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to IEC61850-MMS-Fuzzer

RTSPhuzz
RTSPhuzz - An RTSP Fuzzer written using the Boofuzz framework
Stars: ✭ 33 (+65%)
Mutual labels:  fuzzing, fuzzer
Sharpfuzz
AFL-based fuzz testing for .NET
Stars: ✭ 185 (+825%)
Mutual labels:  fuzzing, fuzzer
Grammarinator
ANTLR v4 grammar-based test generator
Stars: ✭ 162 (+710%)
Mutual labels:  fuzzing, fuzzer
Sienna Locomotive
A user-friendly fuzzing and crash triage tool for Windows
Stars: ✭ 130 (+550%)
Mutual labels:  fuzzing, fuzzer
Fuzzcheck Rs
Structure-aware, in-process, coverage-guided, evolutionary fuzzing engine for Rust functions.
Stars: ✭ 247 (+1135%)
Mutual labels:  fuzzing, fuzzer
Janus
Janus: a state-of-the-art file system fuzzer on Linux
Stars: ✭ 139 (+595%)
Mutual labels:  fuzzing, fuzzer
vaf
Vaf is a cross-platform very advanced and fast web fuzzer written in nim
Stars: ✭ 294 (+1370%)
Mutual labels:  fuzzing, fuzzer
Fisy Fuzz
This is the full file system fuzzing framework that I presented at the Hack in the Box 2020 Lockdown Edition conference in April.
Stars: ✭ 110 (+450%)
Mutual labels:  fuzzing, fuzzer
Honggfuzz Rs
Fuzz your Rust code with Google-developed Honggfuzz !
Stars: ✭ 222 (+1010%)
Mutual labels:  fuzzing, fuzzer
Gramfuzz
gramfuzz is a grammar-based fuzzer that lets one define complex grammars to generate text and binary data formats.
Stars: ✭ 209 (+945%)
Mutual labels:  fuzzing, fuzzer
Aflplusplus
The fuzzer afl++ is afl with community patches, qemu 5.1 upgrade, collision-free coverage, enhanced laf-intel & redqueen, AFLfast++ power schedules, MOpt mutators, unicorn_mode, and a lot more!
Stars: ✭ 2,319 (+11495%)
Mutual labels:  fuzzing, fuzzer
afl-dynamorio
run AFL with dynamorio
Stars: ✭ 32 (+60%)
Mutual labels:  fuzzing, fuzzer
Fuzzing Survey
The Art, Science, and Engineering of Fuzzing: A Survey
Stars: ✭ 116 (+480%)
Mutual labels:  fuzzing, fuzzer
ras-fuzzer
RAS(RAndom Subdomain) Fuzzer
Stars: ✭ 42 (+110%)
Mutual labels:  fuzzing, fuzzer
Clusterfuzz Tools
Bugs are inevitable. Suffering is optional.
Stars: ✭ 111 (+455%)
Mutual labels:  fuzzing, fuzzer
Pythonfuzz
coverage guided fuzz testing for python
Stars: ✭ 175 (+775%)
Mutual labels:  fuzzing, fuzzer
Crlf Injection Scanner
Command line tool for testing CRLF injection on a list of domains.
Stars: ✭ 91 (+355%)
Mutual labels:  fuzzing, fuzzer
Ansvif
A Not So Very Intelligent Fuzzer: An advanced fuzzing framework designed to find vulnerabilities in C/C++ code.
Stars: ✭ 107 (+435%)
Mutual labels:  fuzzing, fuzzer
Javafuzz
coverage guided fuzz testing for java
Stars: ✭ 193 (+865%)
Mutual labels:  fuzzing, fuzzer
afl-dyninst
American Fuzzy Lop + Dyninst == AFL Fuzzing blackbox binaries
Stars: ✭ 65 (+225%)
Mutual labels:  fuzzing, fuzzer

IEC61850-MMS-Fuzzer

Overview

Mutation Based Fuzzer. Test your IEC61850 MMS Server Implementations. Mutation Based means in this context that the inputs have to do be genrated separately. The previously recorded network traffic has to be split in little chunks. The input data needs to have the following datanames.

Format: X_YY_ZZ.pcap X: sequential number. YY: coding of the service:

  • 00 Association
  • 01 Write value
  • 11 Direct control with normal security
  • 12 SBO control with normal security
  • 13 Direct control with enhanced security
  • 14 SBO control with enhanced security
  • 20 SGCB
  • ZZ: Logical node reference.

Input filter:

Use Wireshark Filter ip.src == (server ip) && mms

  • 01: Use first package
  • 11: Use first package
  • 12: Use first and second package (first select, second control)
  • 13: Use first and second package (first select, second control) enhanced security is just for the client relevant but not for Fuzzing
  • 20: Use first, second and third package (edit SG, write single Data, confirm edit SG)

Features

  • Association
  • Mutation of data
  • Resend the mutated data (over a TCP-Socked)
  • Generate PDF documentation of the tests

Parameter

  • Python main.py -h
  • f: Directory of the input data
  • i: IP-Adress of the server
  • o: Path to the documentation directory (output for the PDF documentation)
  • c: Count number of tests (mutations) of each input file (default 500)
  • d: Debug (default false)

example: python main.py -f /Users/XZ/... -i 192.168.1.42 -c 200 –d

Used IEC61850 services

  • Associate
  • Release
  • SelectEditSG
  • SetEditSGValue
  • ConfirmEditSGValues - Select
  • SelectWithValue
  • Operate
  • Write

Requirements

  • Python 3.X
  • Pyshark
  • Anytree
  • Reportlab
  • ...
  • Pip install -r requirements.txt

Info

  • please feel free to send a pull request
  • no warranty
  • please only use laboratory environment and handle all findings responible

Findings

Siemens SIPROTEC5 CVSS v3.0 Base Score: 7.5

License

  • CDDL
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].