msteil

Über Martin Steil

Der Autor hat bisher keine Details angegeben.
Bisher hat Martin Steil, 5 Blog Beiträge geschrieben.

Fuzzing: Putting it all together (Teil 4/4)

Im ersten Teil der Blogserie haben wir bereits erläutert, was die grundsätzliche Zielsetzung von Fuzzing ist, welche Qualitätsunterschiede hinsichtlich der Abdeckung möglich sind und auf welche Einschränkungen und Hürden wir in unseren Assessments oft stoßen. Im zweiten Teil wurde der Fuzzer Boofuzz vorgestellt und die Anforderungen für einfache erschöpfende Tests erklärt. Der dritte Artikel widmete sich einem konkreten Gerät, wie Boofuzz zum Fuzzen und automatisierten Detektieren von Schwachstellen von Embedded-Webservern verwendet werden kann. Dieser Artikel beschreibt nun die Umsetzung der im dritten Artikel gelösten Problemstellungen und die finale Implementierung.

Im dritten Artikel wurden drei Problemstellungen gelöst, diese werden nun als Funktion in Python abgebildet.

1. Funktion: Starten des Webservers über die Telnet-Schnittstelle

s ist hierbei ein üblicher python socket. Die Funktion until() ist eine […]

Von |2022-06-20T15:15:23+02:0020. Juni 2022|

Fuzzing: Rückkanal (Teil 3/4)

Im ersten Teil der Blogserie haben wir bereits erläutert, was die grundsätzliche Zielsetzung von Fuzzing ist, welche Qualitätsunterschiede hinsichtlich der Abdeckung möglich sind und auf welche Einschränkungen und Hürden wir in unseren Assessments oft stoßen. Im zweiten Teil wurde der Fuzzer Boofuzz vorgestellt und die Anforderungen für einfache erschöpfende Tests erklärt. Dieser Artikel widmet sich nun einem Implementierungsansatz, wie Boofuzz zum Fuzzen und automatisierten Detektieren von Schwachstellen von Embedded-Webservern verwendet werden kann.

Da wir in der Regel im Namen von Herstellern Geräte testen, können wir bereits auf Entwicklergeräte zurückgreifen, die Zugriff auf Shell-Ebene zulassen. Normalerweise sind solche Entwicklerschnittstellen durch SSH-Server oder UART ausgeführt. Angreifer müssten für dieses Level an Zugriff bereits Schwachstellen ausnutzen oder auf (im Falle von UART) unsichere oder vergessene Entwicklerschnittstellen […]

Von |2024-09-26T10:19:53+02:009. Juni 2022|

Fuzzing-Tool: Boofuzz (Teil 2/4)

Im ersten Teil der Blogserie wurde bereits erläutert, was die grundsätzliche Zielsetzung von Fuzzing ist, welche Qualitätsunterschiede hinsichtlich der Abdeckung möglich sind und auf welche Einschränkungen und Hürden wir in unseren Assessments oft stoßen. Das Ziel dieses Artikels ist es, den Fuzzer Boofuzz vorzustellen, der auf dem „Sulley Fuzzing Framework“ aufbaut und viele Möglichkeiten für Gray-Box-Ansätze bietet, wie wir sie oft in unseren Analysen vorfinden.

Vor allem die folgenden vier Eigenschaften machen den Fuzzer zu einem mächtigen Werkzeug:

  • Die Fuzzing-Eingaben werden automatisch generiert. Pro Parameter werden hier tausende Eingaben versucht (die teilweise auf dem korrekten Wert des untersuchten Parameters beruhen). Wenn man dies mit der manuellen Suche nach sinnvollen Fuzzing-Eingaben vergleicht, ist hier eine weitaus größere Abdeckung möglich.
  • Es werden verschiedene […]
Von |2022-03-18T10:06:55+01:0018. März 2022|

Fuzzing – Holzhammer oder Geheimwaffe? (Teil 1/4)

Es stimmt natürlich beides. Der Begriff „Fuzzing“ an sich bedeutet lediglich, dass einer Schnittstelle automatisiert Daten gesendet werden, mit welchen die Schnittstelle nicht unbedingt rechnet. Im Optimalfall werden dabei Daten gefunden, die von der Schnittstelle zwar akzeptiert werden, jedoch in der Programmlogik nicht oder falsch bedacht wurden. Das Ziel eines solchen Fuzzing-Tests ist dabei, den Dienst oder das Gerät reproduzierbar zum Absturz zu bringen. Sobald eine Eingabe gefunden wurde, die den Dienst erfolgreich zum Absturz bringt, kann untersucht werden, ob die entdeckte Schwachstelle womöglich eine Kompromittierung des Systems erlaubt, oder auch, an welcher Stelle im Code der Fehler entsteht und wie dieser behoben werden kann. Ziel hierbei ist, das System gegen Angriffe zu härten. Im Entwicklungsprozess eingesetzt kann das Ziel aber auch […]

Von |2022-05-24T11:50:12+02:0017. März 2022|
Nach oben