Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
Projektstudium Pentesting
SySS - Studenten Projekt
17. Juni 2018
Pentest Report
Erstellt von:Leon AlbersLokman BirkanSebastian BuckelDominic GockelChristian MarkleMichael ScharlKerstin Zuzej
Projektbetreuung:Prof. Holger Morgenstern
Herr Tobias Scheible
Auftraggeber:SySS GmbH
Herr Andreas Heideck
Inhaltsverzeichnis
1 Zusammenfassung 31.1 Ubersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Informationsbeschaffung und vorbereitende Maßnahmen 52.1 Funktionalitaten des Cynap Wolfvision . . . . . . . . . . . . . . . . . 52.2 Webserver Vulnerability-Scan . . . . . . . . . . . . . . . . . . . . . . 72.3 Beschaffen der SW-Versionen . . . . . . . . . . . . . . . . . . . . . . 82.4 Uberprufung der Serviceversionen . . . . . . . . . . . . . . . . . . . . 102.5 Auslesen des Filesystems . . . . . . . . . . . . . . . . . . . . . . . . . 132.6 Websockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.7 Untersuchung des Updateprozesses . . . . . . . . . . . . . . . . . . . 162.8 Analyse der Updatedatei . . . . . . . . . . . . . . . . . . . . . . . . . 182.9 Reveerse Engeneering von cbjanitord . . . . . . . . . . . . . . . . . . 192.10 Prufen differentieller Anderungen in Konfigurationsdateien . . . . . . 222.11 PDF und Chromium . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3 Durchgefuhrte Tests 263.1 Cracken der Shadow . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.2 XML-Injection (Settings) . . . . . . . . . . . . . . . . . . . . . . . . . 273.3 Webserver Verschlusselung . . . . . . . . . . . . . . . . . . . . . . . . 283.4 Webserver Vulnerabilities (SSL) . . . . . . . . . . . . . . . . . . . . . 303.5 Cross-Domain WS Kommunikation . . . . . . . . . . . . . . . . . . . 323.6 Webserver Header fur Clickjacking Defense . . . . . . . . . . . . . . . 333.7 SSL Stripping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343.8 WS(S) Replay-Angriff . . . . . . . . . . . . . . . . . . . . . . . . . . 363.9 Manipuliertes Update via DNSSpoofing . . . . . . . . . . . . . . . . . 363.10 Auslesen der settings.xml via HTML . . . . . . . . . . . . . . . . . . 403.11 Auslesen der settings.xml via Symlink . . . . . . . . . . . . . . . . . . 40
4 Gefundene Schwachstellen 424.1 Updateprozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.2 SSL-Stripping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.3 Symlink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.4 Websocket Token . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.5 Testseite - Auslesen des Filesystems . . . . . . . . . . . . . . . . . . . 46
5 Empfehlungen 475.1 Nur TLS ≥ 1.0 und starke Chiffren erlauben . . . . . . . . . . . . . . 47
1
Pentest Report, SySS-SP Kerstin Zuzej
5.2 DHE Export deaktivieren . . . . . . . . . . . . . . . . . . . . . . . . 475.3 RC4 deaktivieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485.4 Cifs-utils Upgrade auf Version ≥ 6.4 . . . . . . . . . . . . . . . . . . 485.5 OpenSSL Upgrade auf Version ≥ 1.0.1.s oder ≥ 1.0.2g . . . . . . . . 48
6 Anhang 496.1 Akzeptierte Chiffren . . . . . . . . . . . . . . . . . . . . . . . . . . . 496.2 Cynap Version Info . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526.3 Liste Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536.4 Websocket Cross-Domain Prufung (HTML/JS) . . . . . . . . . . . . 58
2
Kapitel 1
Zusammenfassung
Dieses Projekt ist aus einer Kooperation zwischen der SySS GbmH und der Hoch-schule Albstadt-Sigmaringen entstanden. Reprasentiert wird die Hochschule durcheine Gruppe von sieben Studenten der Fachrichtung IT-Security, welche durch zweiDozenten betreut werden. Die vorliegende Ausarbeitung gibt die Durchfuhrung undErkenntnisse des Penetrationtests wieder und stellt Empfehlungen zur Erhohung desSicherheitsniveau bereit.Das Objekt des Auftrag ist das Prasentationssystem Cynap von Wolfvision mit derVersion 1.18f. Der Fokus des Testes lag darin, ein moglichst breites Spektrum poten-zieller Angriffspunkte abzudecken. Der Test hat ergeben, das das System mehrereSicherheitslucken aufweist, darunter auch schwerwiegende, welche teilweise selbst inder aktuell neusten Version (1.20i) noch nicht behoben wurden.
3
Pentest Report, SySS-SP Kerstin Zuzej
1.1 Ubersicht
Nachfolgend eine Ubersicht uber kritische Schwachstellen, die besondere Aufmerk-samkeit bedurfen, sowie weitere Empfehlungen zur Verbesserung der Sicherheit.
SchwachstelleUpdateprozess
SSL-Stripping
Symlink
Websocket Token
Testseite - Auslesen des Filesystems
CVSS9.6
8.8
6.6
6.5
4.3
EmpfehlungenTLS Version erhohen
DHE Export deaktivieren
RC4 deaktivieren
Cifs-utils Upgrade
OpenSSL Upgrade
CVECVE-2014-3556
CVE-2015-4000
CVE-2013-2566, CVE-2015-2808
CVE-2014-2830
CVE-2016-0799
4
Kapitel 2
Informationsbeschaffung undvorbereitende Maßnahmen
2.1 Funktionalitaten des Cynap Wolfvision
Kurzbeschreibung
Zur Erkundung von moglichen Angriffspunkten, haben wir zu Beginn Informationenund Spezifikationen uber Cynap gesucht.
Verwendete Ressourcen
Internet Archivehttps://archive.org
Neben dem Webarchiv umfasst Archive.org eine Sammlungen von Texten undBuchern, Audiodateien, Videos, Bildern und Software. Moglicherweise konnen hierVersionen gefunden werden, die in der Vergangenheit im Internet verbreitet waren,dann jedoch geloscht wurden.
Googlehttps://google.de
Die Suchmaschine Google kann nutzliche Informationen liefern.
Webseite WolfVisionhttps://wolfvision.com
Dies ist die vom Hersteller offizielle Webseite, des zu testenden Produkts.
WolfProt Programmer’s Guidehttps://wolfvision.com/wolf/WolfProtProgGuide.pdf
Detailierte und technische Informationen uber Cynap
5
Pentest Report, SySS-SP Kerstin Zuzej
Vorgehensweise
Wir haben Informationen uber Cynap von verschiedenen Quellen gesucht und furErmittelungen spaterer Angriffsvektoren zusammengetragen.
Ergebnis
Version 1.18f:
• Kompatibel iOS, Android, MacOS, Windows
• Unterstutzte Apps/Software: vSolution Capture, vSolution Connect, vSolutionCast, vSolution
• Control, vSolution Link, Skype for Buissness client (Point to point), CloudServices Google Drive, Dropbox und Box
• Unterstutzte Bildformate: GIF, JPEG, BMP, PNG
• Unterstutzte Dokumentenformate: PDF, Word, PowerPoint, Excel, Text, HTML
• Unterstutzte Videoformate: AVI, WMV, MOV, MP4, DivX, MKV, M4V, OGV
• Unterstutzte Audioformate: MP3, WMA, MKA, OGA, OGG
• Unterstutzte Spiegelungsprotokolle: AirPlay, Google Cast, Miracast (kein HDCP-Support), vSolution Cast (bis zu 30 fps)
• Anschlusse: USB-Ports: Ruckseite: 4x USB 3.0 Ports, Vorderseite: 1x USB 2.0Port (NTFS Format); HDMIx2
Ethernet:
• Ethernet- / LAN-Port mit 1 GigE
• WLAN Standards: 802.11 ac/a/b/g/n (2.4 und 5GHz), bis zu 900Mbps
• Netzwerkprotokolle: TCP/IP, FTP, HTTP, HTTPS, SNTP/NTP, SSL, SSH,UDP
• IP-Konfiguration: DHCP, Statisch (IP-Adresse, Subnetmaske, Standardgate-way, DNS- Server), Interfaceprioritat
• Sicherheitsverschlusselung fur LAN: IEEE 802.1x
6
Pentest Report, SySS-SP Kerstin Zuzej
• Sicherheitsverschlusselung fur WLAN: WEP, WPA2, WPA2 Enterprise oderIEEE 802.1x
• RMS-Verschlusselung
Entwickler Infos:
Ports fur WolfVision Gerate und Visualizer Systeme.
Abbildung 2.1: Cynap spezifische Ports
Abbildung 2.2: Sonstige Themen welche in der Dokumentation behandelt werden
2.2 Webserver Vulnerability-Scan
Kurzbeschreibung
Der Schwachstellenscanner Nikto hat mehrere mogliche Schwachstellen gefunden,wie in der Abbildung 2.3 zu sehen ist.
7
Pentest Report, SySS-SP Kerstin Zuzej
Verwendete Werkzeuge
Nikto - 2.1.6https://github.com/sullo/nikto
Suchen von Schwachstellen auf Webservern
Vorgehensweise
Nikto wird in der Shell geoffnet und mit der Verwendung folgenden Befehls aus-gefuhrt.
nikto -host 172.18.1.10
Ergebnis
Besonders interessant ist die gefundene /test/ Seite.
Abbildung 2.3: Vulnerability Scan mit Nikto
2.3 Beschaffen der SW-Versionen
Kurzbeschreibung
Aus dem Festplattenabbild wurden die SW-Versionen extrahiert, um Angriffe aufpotentiell veraltete Software durchzufuhren.
8
Pentest Report, SySS-SP Kerstin Zuzej
Verwendete Werkzeuge
Parrot Security - 3.11https://www.parrotsec.org
Linux Distribution fur Pentesting
Searchsploit - 3.8.8https://github.com/offensive-security/exploit-database/blob/master/
searchsploit
Tool um Exploit Datenbank zu durchsuchen
Verwendete Ressourcen
Inj3ct0rhttps://www.0day.today/
Exploit-Datenbank
Vulnershttps://vulners.com/
Vulnerability Datenbank
Exploit Databasehttps://www.exploit-db.com/
Exploit-Datenbank
Common Vulnerabilities and Exposureshttps://cve.mitre.org/
Auflistung von Schwachstellen
Vorgehensweise
Mounten des Festplattenabbilds und prufen der Dateistruktur. Da der Paketmana-ger OPKG installiert ist, lassen sich die Installierten Pakete mit folgendem Befehlauflisten:
opkg list-installed
9
Pentest Report, SySS-SP Kerstin Zuzej
Die vollstandigen Ergebnisse konnen untercynap.version - https://pydio.cybernation.eu/public/fb66cabeziehungsweise im Anhang 6.2 und untercynap.service.versions - https://pydio.cybernation.eu/public/26d964beziehungsweise im Anhang 6.3 eingesehen werden.Pakete auf die ein Angriff als unauthenticated oder restricted Nutzer moglichsein konnte, wurden auf bekannte Exploits gepruft.
Ergebnis
Die Pakete sind grundsatzlich auf einem aktuellen Patchlevel. Interessant ist vorallem, dass OpenSSH in der Version 6.6 verwendet wird.
OpenSSH 6.9p1 Authetication Bypasshttps://0day.today/exploit/24041
Vorraussetzung: SSH User, OpenSSH Version<6.9p1Ziel: Privilege Escalation
2.4 Uberprufung der Serviceversionen
Kurzbeschreibung
Wir haben die Serviceliste aus 2.3 mittels https://www.cvedetails.com/ auf be-reits bekannte Sicherheitslucken gepruft.
Verwendete Werkzeuge
cvedetailshttps://www.cvedetails.com/
Suchen von Schwachstellen in Applikationen und Bibliotheken
Vorgehensweise
Die wichtigsten Pakete wurden auf cvedetail abgefragt und anschließend die rele-vanten Sicherheitslucken dokumentiert.
10
Pentest Report, SySS-SP Kerstin Zuzej
Ergebnis
Die Recherche hat folgende Sicherheitslucken geliefert, die moglicherweise ausge-nutzt werden konnen:
Service Version AktuelleVersion
Link zur Schwachstellenbeschreibung Anzahl
Busybox 1.23.1 1.28.4 https://www.cvedetails.com/cve/
CVE-2016-6301/
1
Bzip2 1.0.6 – https://www.cvedetails.com/
vulnerability-list/vendor_
id-1198/product_id-2068/
Bzip-Bzip2.html
9
c-ares 1.12.0 1.14.0 https://www.cvedetails.com/cve/
CVE-2017-1000381/
1
dhcp 4.1.2 – https://www.cvedetails.com/
vulnerability-list/vendor_
id-64/product_id-17706/
version_id-103834/ISC-Dhcp-4.
1.2.html
9
expat 2.1.0 2.2.5 https://www.cvedetails.
com/vulnerability-list/
vendor_id-12037/product_
id-22545/version_id-158578/
Libexpat-Expat-2.1.0.html
2
fcgi 2.4.0 – https://www.cvedetails.com/cve/
CVE-2012-6687/
1
ffmpeg 2.7.2 4.0 https://www.cvedetails.
com/vulnerability-list/
vendor_id-3611/product_
id-6315/version_id-186075/
Ffmpeg-Ffmpeg-2.7.1.html
15
glibc 2.23 – https://www.cvedetails.com/cve/
CVE-2016-3075/
1
hostpad 2.0 2.4 https://www.cvedetails.
com/vulnerability-list/
vendor_id-12005/product_
id-22495/version_id-173656/
W1.fi-Hostapd-2.0.html
18
11
Pentest Report, SySS-SP Kerstin Zuzej
Service Version AktuelleVersion
Link zur Schwachstellenbeschreibung Anzahl
ICU 52.1 61.1 /https://www.cvedetails.com/
vulnerability-list/vendor_
id-17477/product_id-42790/
version_id-234734
8
Kernel-modules
4.12.3 4.17 https://de.wikipedia.org/wiki/
Linux_(Kernel) (anfallig fur Spectreund Meltdown)
2
Openssh 6.6p1 7.7 https://www.cvedetails.com/
vulnerability-list/vendor_
id-97/product_id-585/version_
id-188831/Openbsd-Openssh-6.6.
html
5
Openssl 1.0.1m 1.1.0h https://www.cvedetails.com/
vulnerability-list/vendor_
id-217/product_id-383/version_
id-183675/Openssl-Openssl-1.0.
1m.html
28
Python 2.7.9 2.7.15 https://www.cvedetails.
com/vulnerability-list/
vendor_id-10210/product_
id-18230/version_id-201348/
Python-Python-2.7.9.html
2
Wpa-supplicant
2.5 – https://www.cvedetails.com/
vulnerability-list/vendor_
id-12005/product_id-29296/
version_id-226694/year-2017/
W1.fi-Wpa-Supplicant-2.5.html
10
Zlib 1.2.8 1.2.11 https://www.cvedetails.com/
vulnerability-list/vendor_
id-72/product_id-1820/version_
id-214474/GNU-Zlib-1.2.8.html
4
12
Pentest Report, SySS-SP Kerstin Zuzej
2.5 Auslesen des Filesystems
Kurzbeschreibung
Unter bestimmten Voraussetzungen kann uber die Test-Webseite das Filesystemausgelesen werden.
Verwendete Werkzeuge
Keine
Vorgehensweise
Unprivilegierter Aufruf der Test-WebseiteSollte in den Einstellungen ein FTP-Server eingetragen sein, kann unter dem ReiterFiles das lokale Filesystem angezeigt werden.Uber Get Mounts → Get Listing → FTP:/// lasst sich das Filesystem anzeigen.
Abbildung 2.4: Auslesen des Filesystem
13
Pentest Report, SySS-SP Kerstin Zuzej
Ergebnis
Das Filesystem kann unter bestimmten Umstanden ausgelesen werden. Eine genaue-re Beschreibung ist unter Section 4.5 zu finden.
2.6 Websockets
Kurzbeschreibung
Verstehen der Funktionsweise der WebSockets um mogliche Schwachstellen zu fin-den.
Verwendete Werkzeuge
Webstrom - 2018.1.3Jetbrains.com
IDE fur Webentwicklung
Vorgehensweise
JavaScript Funktionen
Es wurden folgende JavaScript Dateien auf der Testseite gefunden, welche die Kom-munikation mit den Websockets handhaben.
• http://172.18.1.10/test/scripts/wolfprot.js
– md5 - 256084e150787974b6e14b0a113ba381
– Definition WS Obj, Verbindungsaufbau, Funktionen
• http://172.18.1.10/test/scripts/wolfprot_def.js
– md5 - 9144582582fc3bca04850af9529d2c89
– Enthalt Definition der Steuerungsbits
14
Pentest Report, SySS-SP Kerstin Zuzej
Aufbau WS Kommunikation
Betrachtung eines Login-Requests (setLoginPassword):
Abbildung 2.5: WS Login Request
Ergebnis
Das Ergebnis enthalt den Status Code fur Success.
Abbildung 2.6: WS Login Response
Betrachtung des Requests, welcher den Access-Token abfragt.
Abbildung 2.7: WS Request Token
Der Token wird wie folgt zuruckgeliefert.
Abbildung 2.8: WS Get Token
Allerdings muss der Client fur zukunftige Requests keinen Token mehr mitsenden.Der Server scheint den Client auf Socket-Basis authentifiziert zu haben.
15
Pentest Report, SySS-SP Kerstin Zuzej
2.7 Untersuchung des Updateprozesses
Kurzbeschreibung
Sicherheit des Update-Prozesses uberprufen. Vorbereitung zum Reverse Engineeringdes Firmware Updates.
Vorgehensweise
Auf dem Festplatten Image nach der Update-URL suchen:
for i in cb*; do echo -e "$i \n URLs: $(strings $i | grep
http://www.wolfvision) \n "; done
Abbildung 2.9: Update URL in cbjanitord
Die Binare ELF-Datei scheint fur das Firmware Update zustandig zu sein. Die Quel-le fur das Update wird von einer XML via ungesicherte HTTP-Verbindung geladen.
16
Pentest Report, SySS-SP Kerstin Zuzej
Uber die URL http://www.wolfvision.com/wolf/FirmwareVersions2.xml kanndie Liste aller Wolfvision Gerate mit aktuellem Firmwarestand eingesehen werden.Daraus ergibt sich der Dateiname fur das Updatearchive des jeweiligen Gerats. Inunserem Fall ergab sich der Dateiname cb1.wgz.Uber die URL http://www.wolfvision.com/wolf/cb1.wgz kann die aktuelle Firm-ware des Wolfvision Cynap heruntergeladen werden. Es handelt sich hierbei um einetar.gz-Archiv.Die Datei cb1.wgz lasst sich mit dem Befehl 7z x cb1.wgz entpacken.
Abbildung 2.10: Entpackvorgang des Firmwareupdates
Der Fehler im ersten Entpackvorgang deutet auf einen Binaren Anhang der Dateihin. Bei der Untersuchung stellt sich heraus, dass hier die Version des Updates
17
Pentest Report, SySS-SP Kerstin Zuzej
hinterlegt ist.
Abbildung 2.11: Versionsnummer
Ergebnis
Das entpackte Firmwareupdate ist im ext2 Format und kann direkt gemountetwerden.
mount ./root.ext2 /mnt/update
2.8 Analyse der Updatedatei
Kurzbeschreibung
Untersuchen der Updatedatei des Server von Wolfsvision um Veranderungen festzu-stellen.
Verwendete Ressourcen
Updatedateihttp://wolfvision.com/wolf/cb1.wgz
Hier liegt das Update fur den Wolfvision Cynap als HTTP-Download bereit.
Verwendete Tools
GHex - 3.18.3-3https://developer.gnome.org/ghex/
Grafische Anwendung um Dateien Hexadecimal einzusehen und zu schreiben.
GNU Wget - 1.19.4https://www.gnu.org/software/wget/
Programm um Dateien von Servern herunter zu laden.
18
Pentest Report, SySS-SP Kerstin Zuzej
Vorgehensweise
Das original Update vom Server herunterladen.
wget http://wolfvision.com/wolf/cb1.wgz
Diese Datei mit GHex offnen und analysieren.
Ergebnis
Es stellt sich heraus, dass Wolfvision einen Trailer an die Updatedatei angehangthat.
Abbildung 2.12: Infos an cb1.wgz
Sollte dieser Trailer nicht vorhanden sein, fuhrt dies beim Updateprozess zu einemFehler.
2.9 Reveerse Engeneering von cbjanitord
Kurzbeschreibung
Verwendete Tools
IDA Free - 7.0https://www.hex-rays.com
Interactive Disassembler der es ermoglicht, Binarcode in Assemblersprache umzu-wandeln
Vorgehensweise
Verstehen der Funktionsweise des Updates
19
Pentest Report, SySS-SP Kerstin Zuzej
Vorgehensweise
Offnen des cbjanitord mit Ida Free und lokalisieren der Update Routine.
Abbildung 2.13: Update Routine
Dieser Codeabschnitt pruft auf welcher Partition die aktuelle Installation lauft undwahlt fur das Update jeweils die andere. Schließlich wird diese Partition mit mkfsneu erstellt und das Update entpackt.
20
Pentest Report, SySS-SP Kerstin Zuzej
Abbildung 2.14: Entpacken
Es folgen einige Prufroutinen z.B. auf das Firmware Tag.
Abbildung 2.15: Pruefung Firmware Tag
Ergebnis
Das Update lauft uber HTTP und es werden keine Signaturen gepruft!
21
Pentest Report, SySS-SP Kerstin Zuzej
2.10 Prufen differentieller Anderungen in Konfi-
gurationsdateien
Kurzbeschreibung
Abgleichen der Konfigurationsdateien beider Versionen um Fehlkonfigurationen inder alteren Version zu finden.
Verwendete Tools
diff - 3.6https://www.gnu.org/software/diffutils/
Vergleichen von Dateien
Vorgehensweise
Prufen der Konfigurationsdateien auf Anderungen:diff -rq /mnt/1.18f/etc/ /mnt/1.20i/etc
Folgende Dateien haben sich geandert:
• chrome.json
• lighttpd.conf
• lighttpd force https.conf
• journald.conf
• 95-anycon.rules
• weston-cb1.ini
• weston-cbc.ini
Anderungen in der Konfiguration des Webservers sind sicherlich interessant:Daher haben wir einen Abgleich mit dem Tool Meld erstellt:
22
Pentest Report, SySS-SP Kerstin Zuzej
Abbildung 2.16: Sicherung der Test-Seite in der Webserver Konfiguration
In der Version 1.20i wird die Testseite nun mit einer Basic-Authentifizierung geschutzt.
Ergebnis
Der Update Prozess scheint allerdings weiterhin uber HTTP zu laufen.Weiterhin ist interessant, dass in der Shadow Datei der Firmware der gleiche Password-hash+Salt befindet. Der Root-Login ist allerdings per default aktiviert, was daraufschließen lasst das es ein Master-Password fur alle Gerate gibt.
2.11 PDF und Chromium
Kurzbeschreibung
Da wir den Tipp bekommen haben, dass eine Schwachstelle in PDFs liegen konntehaben wir in diesem Bereich ein paar Informationen gesammelt. Da Cynap Chromi-um verwendet und die meisten Schwachstellen fur Adobe sind, haben wir uns diesenAngriffsvektor nochmals genauer angeschaut.
Verwendete Ressourcen
Chromium GIThttps://chromium.googlesource.com/chromium/src.git/
Subversion system von Chromium.
cvdetailswww.cvedetails.com
Webarchiv mit security vulnerabilitys
23
Pentest Report, SySS-SP Kerstin Zuzej
Malwarebyteshttps://blog.malwarebytes.com/threat-analysis/2018/05/
adobe-reader-zero-day-discovered-alongside-windows-vulnerability
IT Security Blog
securityxplodedhttps://securityxploded.com/pdf_vuln_exploits.php
Pentest Blog
Didier Stevenshttps://blog.didierstevens.com/2010/03/29/escape-from-pdf/
Penteste Blog
Vorgehensweise
Mit der Hilfe verschiedener Quellen haben wir sowohl nach aktuellen PDF Exploits,als auch nach Schwachstellen in Chromium gesucht.
Ergebnis
PDF Vulnerability: Die meisten PDF Schwachstellen hangen zusammen mit
• JavaScript
• HTML
• CSS
• Externe Liberias
Leider werden diese nur im Adobe Reader gefunden, da er einfach sehr großzugigmit Dokumenten umgeht. Zu Ihrem Gluck benutzt die Cynap Chromium, welcherum einiges vorsichtiger mit PDFs umgeht. Chromium:Im Chromium Git kann man sehen, dass wir eine altere Version von Chromiumbenutzen. Cynap benutzt die Version 62.0.3202.29 und die aktuellste Version ist68.x.x. Seit Version 62 wurden hunderte Commits eingereicht.
24
Pentest Report, SySS-SP Kerstin Zuzej
Etwas interessantes wurde mit CVE Details gefunden.
Abbildung 2.17: Aktuelle Chromium Vulnerabilities
Der Chromium-Prozess lauft mit deaktivierter Sandbox, was einen Angriff deutlichvereinfachen wurde. Leider sind viele der zuletzt gefunden Schwachstellen fur unsirrelevant.
25
Kapitel 3
Durchgefuhrte Tests
3.1 Cracken der Shadow
Kurzbeschreibung
Cracken der Shadow Datei um die Informationsbasis fur zukunftige Angriffe zu ver-bessern.
Verwendete Werkzeuge
Arch Linux - 4.16.3-1-Archhttps://www.archlinux.org/
Linux Distribution
Hashcat - 4.1.0https://github.com/hashcat/hashcat
Tool um Hashwerte anzugreifen/zu brechen
Vorgehensweise
Relevante Daten zum Cracken aus dem Festplattenabbild extrahieren
unshadow passwd shadow > /home/passwords
Hier lasst sich feststellen, dass der MD5 Algorithmus mit Salt verwendet wurde:
root: $1$ PawYAw5Z$AlfY0yNIbqKFIC4miXjlu0:0:0:root:/home:/bin/sh
Nun wurde ein Dictionary Angriff mittels Hashcat ausgefuhrt. Um den Angriff zubeschleunigen wurde eine GeForce GTX970 verwendet.
hashcat -m 500 -w 1 passwords /mnt/Raid0/Security/Word
Lists/crackstation.txt
26
Pentest Report, SySS-SP Kerstin Zuzej
Ergebins
Leider ließt sich das Passwort mit der Wortliste von CrackStation nicht cracken. Eswurden noch weitere Worterlisten verwendet und ein Brute-Force Angriff bis auf 10Zeichen durchgefuhrt. Sollte das Passwort gecrackt werden, besitzt der Angreifer einMaster-Zugang fur alle Cynap Gerate.
3.2 XML-Injection (Settings)
Kurzbeschreibung
Da einige Einstellungen in einer XML Datei gespeichert werden, wurde die Moglichkeiteiner XML-Injection getestet.
Verwendete Werkzeuge
Parrot Security - 3.11https://www.parrotsec.org/
Linux Distribution fur Pentesting
Firefox - 59.0.2 (64bit)
https://www.mozilla.org/de/firefox/new/
Open Source Webbrowser
Vorgehensweise
Auf der Seite http://cynap/test/ ist es moglich verschiedene Einstellungen zu set-zen. Diese werden nachher unter der Konfigurationsdatei /data/settings/settings.xmlgespeichert. In der Konfigurationsdatei ist auch das Admin Passwort gespeichert:
1 <?xml version=” 1 .0 ” encoding=”UTF−8”?>2 <wo l f v i s i o n version=”V1. 0 ”>3 <menusett ings>4 <admin password>Password</ admin password>5 <user password>Password</ user password>6 <remote password>0</ remote password>
27
Pentest Report, SySS-SP Kerstin Zuzej
7 <password type>1</ password type>8 </menusett ings>9 </ wo l f v i s i o n>
settings.xml
Ziel ist es, einen Wert zu setzen, welcher durch unprivilegierte Nutzer geandertwerden kann und im selben Zug mit einer XML-Injection das Admin Passwort zuuberschreiben.
Abbildung 3.1: XML-Tag-Injection auf Testseite
Es wird versucht den BoxNamen zu uberschreiben.Site: http://cynap/testFormID: stream_input_nameXML-Tag: recording_stream_input_name
Ergebnis
Die XML-Tag-Injection ist fehlgeschlagen.
3.3 Webserver Verschlusselung
Kurzbeschreibung
Es wurde getestet, welche Chiffren der Webserver zur Verschlusslung akzeptiert undob sich darunter auch als unsicher eingestufte Chiffren befinden.
28
Pentest Report, SySS-SP Kerstin Zuzej
Verwendete Werkzeuge
OpenVas - 7.0.2http://www.openvas.org/index.de.html
Framework aus verschiedenen Diensten und Werkzeugen fur Schwachstellen-Scanning und Schwachstellen-Management.
Sslscan - 1.11.11https://github.com/rbsec/sslscan
SSLScan uberpruft welche Verschlusselungen unterstutzt werden.
Vorgehensweise
Dem Tool OpenVas wird die IP Adresse ubergeben und und anschließend gestartet.
Abbildung 3.2: Parametereingabe - OpenVAS
Ein Ausschnitt des Ergebnisses ist in folgender Abbildung zu sehen.
29
Pentest Report, SySS-SP Kerstin Zuzej
Abbildung 3.3: Unsichere Chiffren - OpenVas
Fur weitere Details und um diesem Hinweis nachzugehen kann das Tool sslscandienen. Folgender Befehl wurde verwendet:
sslscan 172.18.1.10
Manche der vom Webserver akzeptierten Chiffren weisen eine Schwache in der SSLVersion, der Lange und der Chiffre an sich auf.
Abbildung 3.4: Besonders schwache Chiffren
Ergebnis
Der Webserver lasst auch Verschlusslungen zu, welche nicht als sicher gelten. ImAnhang 6.1 ist das Ergebnis des sslscans als komplette Liste der akzeptierten Chiffrenaufgefuhrt.
3.4 Webserver Vulnerabilities (SSL)
Kurzbeschreibung
Testen des Webservers auf bekannte Schwachstellen.
30
Pentest Report, SySS-SP Kerstin Zuzej
Verwendete Werkzeuge
testssl - 3.Obetahttps://github.com/drwetter/testssl.sh
Tools um Webserver auf bekannte Schwachstellen zu testen. Unter anderem: He-artbleed, CCS, Ticketbleed, ROBOT, Secure Renegotiation, Secure Client-InitiatedRenegotiation, CRIME, BREACH, POODLE, TLS FALLBACK SCSV, SWEET32,FREAK, DROWN, LOGJAM, BEAST, LUCKY13, RC4
Vorgehensweise
./testssl.sh https://172.18.1.10
Gefundene Schwachstellen:
• Poodle, SSL (CVE-2014-3556)
– Aber TLS FALLBACK SCSV Mitigation aktiviert (Downgrade Attack
Prevention)
– Angreifer kann evtl. Daten mitlesen
• LOGJAM (CVE-2015-4000)
– Selben Primzahlen fur DH
– Downgrade TLS auf 512bits
• RC4 (CVE-2013-2566, CVE-2015-2808
– Plaintext-Recovery durch Single-Byte Umwandlungen
– Angreifbare Ciphern
∗ ECDHE-RSA-RC4-SHA
∗ RC4-SHA
∗ RC4-MD5
Ergebnis
Es gibt einige Angriffe um die Chiffre des Webservers zu brechen, diese waren aller-dings meist sehr aufwendig durchzufuhren.
31
Pentest Report, SySS-SP Kerstin Zuzej
3.5 Cross-Domain WS Kommunikation
Kurzbeschreibung
Es wurde eine Testseite erstellt um zu festzustellen ob den WebSocketServer denOrigin-Header pruft.
Verwendete Werkzeuge
Webstrom - 2018.1.3Jetbrains.com
IDE fur Webentwicklung
Vorgehensweise
Die erstellte html Datei ist im Anhang 6.4 zu finden.
Abbildung 3.5: WebSocket CrossDomain
Ergebnis
Der Origin-Header scheint nicht gepruft zu werden.
32
Pentest Report, SySS-SP Kerstin Zuzej
3.6 Webserver Header fur Clickjacking Defense
Kurzbeschreibung
Prufen der gesetzten Header des Webservers zum Schutz vor Clickjacking Angriffen.
Verwendete Tools
Firefox - 60.0https://mozilla.org/
Webbrowser
Vorgehensweise
Aufruf der Weboberflache und Inspektion der gesendeten Response-Header.
Abbildung 3.6: Webserver Header
Ergebnis
Der Header X-Frame-Options sollte auf DENY oder auf SAMEORIGIN gesetzt werden.Somit wurde vom Browser eine Einbettung als IFrame uber Drittseiten verhindertwerden.
33
Pentest Report, SySS-SP Kerstin Zuzej
3.7 SSL Stripping
Kurzbeschreibung
Es wurde gepruft ob HTTP Strict Transport Security (HSTS) deaktiviert ist undsomit eine ”SSL-Stripping” Attacke moglich ist.
Verwendete Werkzeuge
Firefox - 59.0.2https://developer.mozilla.org/de/docs/Tools/netzwerkanalyse
Webbrowser, Entwicklertool zur Netzwerkanalyse
arpspoof - 2.4http://www.monkey.org/~dugsong/dsniff/
Arpspoof aus dsniff Packet zur Falschung von Address-Resolution-Protocolls
sslstrip - 0.9https://github.com/moxie0/sslstrip/blob/master/sslstrip.py
Netzwerk-Tool zum Demonstrieren von HTTPS-Stripping-Attacken; ersetzt alsMan-in-the-Middle alle Verweise auf einer HTTPS-Seite durch solche auf unver-schlusselte HTTP-Seiten
Vorgehensweise
Bei der Netzwerkanalyse uber den Firefox wurde entdeckt, das die HTST immerdeaktiviert ist.
Abbildung 3.7: Deaktiviertes HSTS
Anschließend wurde getestet ob der Server trotzdem uber HTTP erreichbar ist.
34
Pentest Report, SySS-SP Kerstin Zuzej
Abbildung 3.8: Curl Http Anfrage
Man erkennt, dass ein Redirect aktiv ist, was zusatzlich zum deaktivierten HSTSdie hinreichende Bedingung fur einen Angriff darstellt. Mit dem Tool sslsprip, dasman folgendermaßen auf Port 10000 startet:
sslstrip -a -l 10000
kann man ein MitM1 Angriff durchfuhren, um Client seitig mit HTTP und Serverseitig mit HTTPS zu kommunizieren. Mit dem folgendem Befehl wird dann derVerkehr zu sslstrip auf Port 10000 umgeleitet
iptables -t nat -p tcp -A PREROUTING --dport 80 -j REDIRECT --to-port
10000
Anschließend muss folgender Befehl jeweils mit der CynapIP und der OpferIP aus-gefuhrt werden, um beide Parteien zu spoofen.
arpspoof -i eth0 -t <IP.1><IP.2>
Um den Angriff auch nach der Umstellung auf Websockets weiterhin ausfuhren zukonnen, musste sslstrip auch Websocket-Kommunikation handhaben konnen.
Ergebnis
Der MitM Angriff mit SSL Spripping konnte Erfolgreich ausgefuhrt werden.
1Man in the Middle
35
Pentest Report, SySS-SP Kerstin Zuzej
3.8 WS(S) Replay-Angriff
Kurzbeschreibung
Es wird getestet ob beim Senden der gleichen Anfragen - wie beispielsweise diegetBoxname Anfrage der Testseite - der gleiche Ciphertext erzeugt wird.
Verwendete Werkzeuge
Wireshark - 2.4.5https://www.wireshark.org/
Programm zur Analyse und grafischen Aufbereitung von Datenprotokollen
Vorgehensweise
Zu Beginn wird die Kommunikation auf wss, also sichere Websockets umgestellt.Wireshark wird eingeschaltet und die gesendeten Pakete mitzuschneiden. Der ButtongetBoxname der Testseite wird zwei mal betatigt und die jeweils entstandenen undmitgeschnittenen Chiffretexte verglichen.
Ergebnis
Das Abfangen der Pakete mittels Wireshark hat ergeben, dass die gleiche Anfrageverschiedene Verschlusslungen erzeugt und somit eine Replay-Attacke in dieser Formfehlschlagt. Durch die Nutzung der oben beschriebenen SSL-Stripping Attacke istjedoch ein Replay Angriff wiederum moglich.
3.9 Manipuliertes Update via DNSSpoofing
Kurzbeschreibung
Einspielen eines manipulierten Updates uber DNS-Spoofing. Als Proof-Of-Conceptwird eine manipulierte shadow-Datei mit daraus resultierendem SSH Root-Zugriffin das Update eingefugt.
36
Pentest Report, SySS-SP Kerstin Zuzej
Verwendete Werkzeuge
dnsspoof - 2.4https://github.com/DanMcInerney/dnsspoof
Linux Tool fur DNS-Spoofing
apache2 - 2.4.29https://httpd.apache.org
Webserver
OpenSSL - 1.1.0h-fipshttps://www.openssl.org/
Programm fuer allgemeine kryptographische Funktionen
GHex - 3.18.3-3https://developer.gnome.org/ghex/
Grafische Anwendung um Dateien Hexadezimal einzusehen und zu schreiben.
Vorgehensweise
Das original Update vom Hersteller herunterladen.
wget http://wolfvision.com/wolf/cb1.wgz
Bei dem Verzeichnis handelt es sich um ein tar-gz Archiv. Dieses wird mit demBefehl
set -o pipfail && tar -zxOvf cb1.wgz root.ext2 | dd of=root.ext2
entpackt. Die Datei root.ext2 ist die Partition des Updates. Diese wird beim Up-dateprozess die alte Partition uberschreiben.Als Proof-Of-Concept haben wir das Passwort des Root-Users verandert. WeitereManipulationen sind denkbar.Mit dem Befehl
openssl passwd -1 -salt PawYAw5Z Password
haben wir folgende Ausgabe erzeugt:
$1$PawYAw5Z$yvkDhkZdZhMbQmU45VR4U0
37
Pentest Report, SySS-SP Kerstin Zuzej
Wichtig ist, dass das neue Passwort und der Salt eine identische Lange zum Ori-ginal haben. Dieses neue Passwort kann nun mittels GHex an die passende Stellegeschrieben werden.
Abbildung 3.9: Stelle im Hex-Code von root.ext2 fuer Manipulation
Die manipulierte Partition kann nun wieder in ein tar-gz Archiv gepackt werden.
tar -czvf cb1.wgz root.ext2
Als letzten Schritt muss der Trailer des Originalupdates wieder an die Datei cb1.wgzangehangt werden.
Abbildung 3.10: Trailer an cb1.wgz
Das manipulierte Update ist vorbereitet und soll nun via DNSSpoofing auf das Ziel-gerat gelangen. Der Cynap fragt bei einem Auslosen des Updateprozesses und auch inregelmaßigen Abstanden unter der url http://wolfvision.com/wolf/FirmwareVersions2.xml die aktuelle Cynap-Version ab.Der eigene Webserver muss unter dem Pfad /wolf/FirmwareVersions2.xml und/wolf/cb1.wgz die entsprechenden Dateien ausliefern.Jetzt konnen mittels DNSSpoofing die Anfragen auf wolfvision.com, auf den eige-nen Webserver umgeleitet werden. Der Cynap wird eine Anfrage stellen, eine neuereFirmware Version erkennen und ein Update vorschlagen.
Abbildung 3.11: DNSSpoof auf wolfvision.com
Abbildung 3.12: Webserver Anfragen des Cynap
38
Pentest Report, SySS-SP Kerstin Zuzej
Abbildung 3.13: Updateanfrage und Start des Downloads
Nach erfolgreichem Herunterladen wird das manipulierte Update auf die entspre-chende Partition geschrieben.
Abbildung 3.14: Schreiben des Updates auf Partition
Anschließend kann per SSH und dem gewahlten Passwort auf das Cynap zugegriffenwerden.
Abbildung 3.15: SSH-Zugriff auf Cynap
Ergebnis
Der Test war erfolgreich und es ist moglich Root-Zugriff auf dem Gerat zu erlangen.
39
Pentest Report, SySS-SP Kerstin Zuzej
3.10 Auslesen der settings.xml via HTML
Kurzbeschreibung
Versuch uber HTML und JavaScript Dateien aus dem lokalen Dateisystem auszule-sen.
Verwendete Werkzeuge
Webstrom - 2018.1.3Jetbrains.com
IDE fur Webentwicklung
Vorgehensweise
Wir haben auf mehrere Weisen versucht Dateien aus dem lokalen Dateisystem aus-zulesen. Dazu wurde eine HTML-Datei lokal geoffnet, welche Dateien auslesen undanzeigen sollte.
Ergebnis
Der Test war nicht erfolgreich, es gelang lediglich Bilder uber ein Image-Tag zuoffnen. Der Browser schutzt das sonstige auslesen von Dateien.
3.11 Auslesen der settings.xml via Symlink
Kurzbeschreibung
Getestet wurde, ob es moglich ist mit Hilfe eines Symlink Dateien auszulesen, dieansonsten vom Cynap geschutzt werden.
40
Pentest Report, SySS-SP Kerstin Zuzej
Verwendete Werkzeuge
coreutils - 8.29https://www.gnu.org/software/coreutils/coreutils.html
ln aus coreutils, Soft- und Hardlinks erstellen
Vorgehensweise
Der Symlink auf die Datei /data/settings/settings.xml wird auf einem USB-Stick erstellt.
ln -s /data/settings/settings.xml open.odt
Durch die Dateiendung .odt kann das offnen der Datei mit Office erzwungen wer-den. Durch die Endung .html kann das Offnen mit Chromium erzwungen werden.Auf der grafischen Oberflache des Cynap kann der Symlink nun geoffnet werden.
Abbildung 3.16: Auslesen der settings.xml
Die lokalen Rechte am Cynap zum offnen von Dateien mussen vorhanden sein. (Userbzw. Moderator)
Ergebnis
Der Test war erfolgreich und wir konnten uber den Symlink die Datei Settings.xmlanzeigen lassen. Dabei fallt auf, dass die gesamten Einstellungen des Cynap, unteranderem die Passworter fur Admin, Wifi und eventuelle Cloudservices, ausgelesenwerden konnen.
41
Kapitel 4
Gefundene Schwachstellen
4.1 Updateprozess
Voraussetzungen
Angreifer muss sich im selben Netzwerk wie das Wolfvision Cynap befinden. Zudemmuss der Updateprozess ausgelost werden.
Risiko nach CVSSv3
Basis ScoreAttack Vector:Attack Complexity:Privileges Required:User Interaction:Scope:Confidentiality:Integrity:Availability:
9.6
AdjacentLowNoneRequiredChangedHighHighHigh
Ergebnis
Der Angriff war in vollem Umfang erfolgreich. Durch das manipulierte Update konnteder Root-Zugriff uber SSH erreicht werden. Jegliche andere Manipulationen sinddurchfuhrbar.Zudem ist diese Lucke im aktuellen Patchlevel des Gerats immer noch vorhanden undalle Anzeichen sprechen dafur, dass alle Gerate von Wolfvision uber einen ahnlichenUpdateprozess verfugen. Dadurch waren alle Gerate verwundbar.
42
Pentest Report, SySS-SP Kerstin Zuzej
Moglicher Fix
Der gesamte Updateprozess sollte von HTTP auf HTTPS mit Zertifikatsprufung um-gestellt werden. Zudem sollte der Updateprozess auf Signaturen in der Updatedateiprufen um jegliche Manipulationen zu erkennen.
4.2 SSL-Stripping
Voraussetzungen
Der potentielle Angreifer muss zu Beginn der Anfrage der Webseite auf dem Kom-munikationspfad sitzen. Außerdem darf der Nutzer nicht von selbst Https anfragen.
Risiko nach CVSSv3
Basis ScoreAttack Vector:Attack Complexity:Privileges Required:User Interaction:Scope:Confidentiality:Integrity:Availability:
8.8
AdjacentLowNoneNoneUnchangedHighHighHigh
Ergebnis
Der MitM Angriff mit SSL Spripping konnte erfolgreich ausgefuhrt werden.
Moglicher Fix
Der Sicherheitsmechanismus HTTP Strict Transport Security sollte aktiviert werden,falls in den Cynap Settings ”Only Allow Secure Connection” gesetzt ist. Falls diesnicht gewunscht ist, sollte der Webserver nur noch auf HTTPS Anfragen lauschen.
43
Pentest Report, SySS-SP Kerstin Zuzej
4.3 Symlink
Voraussetzungen
Physischer ZugangRechte Dateien im Webfrontend zu offnenUSB nicht blockiert
Risiko nach CVSSv3
Basis ScoreAttack Vector:Attack Complexity:Privileges Required:User Interaction:Scope:Confidentiality:Integrity:Availability:
6.6
PhysicalLowLowNoneUnchangedHighHighHigh
Ergebnis
Der Test war erfolgreich und wir konnten uber den Symlink die Datei Settings.xmlanzeigen lassen. Dabei fallt auf, dass die gesamten Einstellungen des Cynap, unteranderem die Passworter fur Admin, Wifi und eventuelle Cloudservices, ausgelesenwerden konnen.
Moglicher Fix
Der Dienst pruft nur Dateiendungen. Jedoch jedoch zusatzlich testen, ob es sich umeinen Symlink handelt.
44
Pentest Report, SySS-SP Kerstin Zuzej
4.4 Websocket Token
Voraussetzungen
Der Potenzielle Angreifer muss sich auf der Leitung befinden um an den Token zugelangen.
Risiko nach CVSSv3
Basis ScoreAttack Vector:Attack Complexity:Privileges Required:User Interaction:Scope:Confidentiality:Integrity:Availability:
6.5
AdjacentLowNoneNoneUnchangedHighNoneNone
Ergebnis
Der Token verliert erst nach etwas Zeit seine Gultigkeit. Der Abgefangene oderAbgefragte Token kann von Beginn der Anmeldung bis wenige Minuten nach derAbmeldung eingesetzt werden, um sich die Rechte des Ursprunglichen Users zu be-schaffen.
Moglicher Fix
Der Token sollte nach dem Abmelden sofort seine Gultigkeit verlieren, außerdemsollte die Kommunikation Verschlusselt ubertragen werden. Des Weiteren sollte derToken sich bei Anderung des Nutzers neu generiert werden.
45
Pentest Report, SySS-SP Kerstin Zuzej
4.5 Testseite - Auslesen des Filesystems
Vorraussetungen
FTP muss im Wolfvision Cynap aktiviert sein.Wenn keine Moderatoren-Rechte gesetzt sind, kann unprivilegiert zugegriffen wer-den.Bei gesetzten Moderatoren-Rechten, muss man mindestens mit einem User-Leveleingeloggt sein (Entspricht Moderator).
Risiko nach CVSSv3
Basis ScoreAttack Vector:Attack Complexity:Privileges Required:User Interaction:Scope:Confidentiality:Integrity:Availability:
4.3
AdjacentLowLowNoneUnchangedLowNoneNone
Ergebnis
Dieser Bug ermoglicht es unter bestimmten Umstanden das Filesystem des Cynapauszulesen. Daraus geht keine direkte Gefahr einher, es kann aber als Informations-quelle dienen.
Moglicher Fix
Nutzen von Moderator-Rechten.Testseite unzuganglich machen.
46
Kapitel 5
Empfehlungen
Hier werden zusatzliche Empfehlungen und Verbesserungsvorschlage aufgelistet, umdie allgemeine Sicherheit des Gerates zu erhohen.
5.1 Nur TLS ≥ 1.0 und starke Chiffren erlauben
CVE-2014-3556https://cve.mitre.org/cgi-bin/cvename.cgi?name=cve-2014-3566
Angreifer konnen Verbindungen mit TLS ablehnen, um Verbindungen mit SSL 3.0 zuerzwingen. Da SSL 3.0 leichter zu brechen ist, kann der Angreifer unter UmstandenDaten mitlesen. Um den sogenannten Poodle Angriff auf SSL zu unterbinden, sollteder Server nur noch TLS Verbindungen erlauben. Außerdem gilt eine Verschlusslungmit einer Schlussellange von 56 Bits als besonders schwach, weshalb auch dieseSchlussel nicht akzeptiert werden sollten. Eine komplette Liste der Akzeptieren Chif-fren ist im Anhang 6.1 zu finden
5.2 DHE Export deaktivieren
CVE-2015-4000https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4000
Bei der Logjam Schwachstelle kann ein Angreifer durch die Funktion DHE EXPORT, dieTLS-Verbindung auf 512bit schwachen. Diese Funktion sollte deaktiviert werden.
47
Pentest Report, SySS-SP Kerstin Zuzej
5.3 RC4 deaktivieren
CVE-2013-2566, CVE-2015-2808https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-2566
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-2808
RC4 gilt aufgrund vieler Angriffe mittlerweile als unsicher. Diese Cipher sollte drin-gend deaktiviert werden.
5.4 Cifs-utils Upgrade auf Version ≥ 6.4
CVE-2014-2830http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-2830
Die in Version 5.2 verwendete cifscreds.c ist anfallig gegen einen Stack-Based-Bufferoverflow. Nach allen Recherchen ist diese Schwachstelle in unserer Versiondes Cynap vorhanden. Bekannte Exploits sind nicht verfugbar.
5.5 OpenSSL Upgrade auf Version ≥ 1.0.1.s oder
≥ 1.0.2g
CVE-2016-0799https://www.cvedetails.com/cve/CVE-2016-0799/
Wie in https://lists.opensuse.org/opensuse-security-announce/2016-03/
msg00006.html beschrieben verwendet openssl die anfalligen Funktionen fmtstr()und doapr outch() fur ASN.1 dumps
48
Kapitel 6
Anhang
6.1 Akzeptierte Chiffren
Version: 1.11.11-static0m
OpenSSL 1.0.2-chacha (1.0.2g-dev)
0m
Connected to 172.18.1.1
Testing SSL server 172.18.1.1 on port 44 using SNI name 172.18.1.1
1;TLS Fallback SCSV:0m
Server supports0m TLS Fallback SCSV
1;TLS renegotiation:0m
Secure0m session renegotiation supported
1;TLS Compression:0m
Compression disabled0m
1;Heartbleed:0m
TLS 1.2 not vulnerable0m to heartbleed
TLS 1.1 not vulnerable0m to heartbleed
TLS 1.0 not vulnerable0m to heartbleed
1;Supported Server Cipher(s):0m
Preferred0m TLSv1.2 256 bits ECDHE-RSA-AES256-GCM-SHA384
Accepted TLSv1.2 256 bits ECDHE-RSA-AES256-SHA384
Accepted TLSv1.2 256 bits ECDHE-RSA-AES256-SHA
Accepted TLSv1.2 256 bits DHE-RSA-AES256-GCM-SHA384
Accepted TLSv1.2 256 bits DHE-RSA-AES256-SHA256
Accepted TLSv1.2 256 bits DHE-RSA-AES256-SHA
Accepted TLSv1.2 256 bits DHE-RSA-CAMELLIA256-SHA
Accepted TLSv1.2 256 bits AES256-GCM-SHA384
Accepted TLSv1.2 256 bits AES256-SHA256
49
Pentest Report, SySS-SP Kerstin Zuzej
Accepted TLSv1.2 256 bits AES256-SHA
Accepted TLSv1.2 256 bits CAMELLIA256-SHA
Accepted TLSv1.2 128 bits ECDHE-RSA-AES128-GCM-SHA256
Accepted TLSv1.2 128 bits ECDHE-RSA-AES128-SHA256
Accepted TLSv1.2 128 bits ECDHE-RSA-AES128-SHA
Accepted TLSv1.2 128 bits DHE-RSA-AES128-GCM-SHA256
Accepted TLSv1.2 128 bits DHE-RSA-AES128-SHA256
Accepted TLSv1.2 128 bits DHE-RSA-AES128-SHA
Accepted TLSv1.2 128 bits DHE-RSA-SEED-SHA
Accepted TLSv1.2 128 bits DHE-RSA-CAMELLIA128-SHA
Accepted TLSv1.2 128 bits AES128-GCM-SHA256
Accepted TLSv1.2 128 bits AES128-SHA256
Accepted TLSv1.2 128 bits AES128-SHA
Accepted TLSv1.2 128 bits SEED-SHA
Accepted TLSv1.2 128 bits CAMELLIA128-SHA
Accepted TLSv1.2 128 bits IDEA-CBC-SHA
Accepted TLSv1.2 128 bits ECDHE-RSA-RC4-SHA
Accepted TLSv1.2 128 bits RC4-SHA
Accepted TLSv1.2 128 bits RC4-MD5
Accepted TLSv1.2 112 bits ECDHE-RSA-DES-CBC3-SHA
Accepted TLSv1.2 112 bits EDH-RSA-DES-CBC3-SHA
Accepted TLSv1.2 112 bits DES-CBC3-SHA
Accepted TLSv1.2 56 bits EDH-RSA-DES-CBC-SHA
Accepted TLSv1.2 56 bits DES-CBC-SHA
Preferred0m TLSv1.1 256 bits ECDHE-RSA-AES256-SHA
Accepted TLSv1.1 256 bits DHE-RSA-AES256-SHA
Accepted TLSv1.1 256 bits DHE-RSA-CAMELLIA256-SHA
Accepted TLSv1.1 256 bits AES256-SHA
Accepted TLSv1.1 256 bits CAMELLIA256-SHA
Accepted TLSv1.1 128 bits ECDHE-RSA-AES128-SHA
Accepted TLSv1.1 128 bits DHE-RSA-AES128-SHA
Accepted TLSv1.1 128 bits DHE-RSA-SEED-SHA
Accepted TLSv1.1 128 bits DHE-RSA-CAMELLIA128-SHA
Accepted TLSv1.1 128 bits AES128-SHA
Accepted TLSv1.1 128 bits SEED-SHA
Accepted TLSv1.1 128 bits CAMELLIA128-SHA
Accepted TLSv1.1 128 bits IDEA-CBC-SHA
Accepted TLSv1.1 128 bits ECDHE-RSA-RC4-SHA
Accepted TLSv1.1 128 bits RC4-SHA
Accepted TLSv1.1 128 bits RC4-MD5
50
Pentest Report, SySS-SP Kerstin Zuzej
Accepted TLSv1.1 112 bits ECDHE-RSA-DES-CBC3-SHA
Accepted TLSv1.1 112 bits EDH-RSA-DES-CBC3-SHA
Accepted TLSv1.1 112 bits DES-CBC3-SHA
Accepted TLSv1.1 56 bits EDH-RSA-DES-CBC-SHA
Accepted TLSv1.1 56 bits DES-CBC-SHA
Preferred0m TLSv1. 256 bits ECDHE-RSA-AES256-SHA
Accepted TLSv1. 256 bits DHE-RSA-AES256-SHA
Accepted TLSv1. 256 bits DHE-RSA-CAMELLIA256-SHA
Accepted TLSv1. 256 bits AES256-SHA
Accepted TLSv1. 256 bits CAMELLIA256-SHA
Accepted TLSv1. 128 bits ECDHE-RSA-AES128-SHA
Accepted TLSv1. 128 bits DHE-RSA-AES128-SHA
Accepted TLSv1. 128 bits DHE-RSA-SEED-SHA
Accepted TLSv1. 128 bits DHE-RSA-CAMELLIA128-SHA
Accepted TLSv1. 128 bits AES128-SHA
Accepted TLSv1. 128 bits SEED-SHA
Accepted TLSv1. 128 bits CAMELLIA128-SHA
Accepted TLSv1. 128 bits IDEA-CBC-SHA
Accepted TLSv1. 128 bits ECDHE-RSA-RC4-SHA
Accepted TLSv1. 128 bits RC4-SHA
Accepted TLSv1. 128 bits RC4-MD5
Accepted TLSv1. 112 bits ECDHE-RSA-DES-CBC3-SHA
Accepted TLSv1. 112 bits EDH-RSA-DES-CBC3-SHA
Accepted TLSv1. 112 bits DES-CBC3-SHA
Accepted TLSv1. 56 bits EDH-RSA-DES-CBC-SHA
Accepted TLSv1. 56 bits DES-CBC-SHA
Preferred0m SSLv 256 bits ECDHE-RSA-AES256-SHA
Accepted SSLv 256 bits DHE-RSA-AES256-SHA
Accepted SSLv 256 bits DHE-RSA-CAMELLIA256-SHA
Accepted SSLv 256 bits AES256-SHA
Accepted SSLv 256 bits CAMELLIA256-SHA
Accepted SSLv 128 bits ECDHE-RSA-AES128-SHA
Accepted SSLv 128 bits DHE-RSA-AES128-SHA
Accepted SSLv 128 bits DHE-RSA-SEED-SHA
Accepted SSLv 128 bits DHE-RSA-CAMELLIA128-SHA
Accepted SSLv 128 bits AES128-SHA
Accepted SSLv 128 bits SEED-SHA
Accepted SSLv 128 bits CAMELLIA128-SHA
Accepted SSLv 128 bits IDEA-CBC-SHA
Accepted SSLv 128 bits ECDHE-RSA-RC4-SHA
51
Pentest Report, SySS-SP Kerstin Zuzej
Accepted SSLv 128 bits RC4-SHA
Accepted SSLv 128 bits RC4-MD5
Accepted SSLv 112 bits ECDHE-RSA-DES-CBC3-SHA
Accepted SSLv 112 bits EDH-RSA-DES-CBC3-SHA
Accepted SSLv 112 bits DES-CBC3-SHA
Accepted SSLv 56 bits EDH-RSA-DES-CBC-SHA
Accepted SSLv 56 bits DES-CBC-SHA
1;SSL Certificate:0m
Signature Algorithm: sha256WithRSAEncryption0m
RSA Key Strength: 2048
Subject: WV CA
Issuer: WV CA0m
Not valid before: May 8 23:37:08 2017 GMT0m
Not valid after: Apr 28 23:37:08 2059 GMT0m
sslscan 172.18.1.10
6.2 Cynap Version Info
cynap.version - https://pydio.cybernation.eu/public/fb66ca
NAME=PTXdist
VERSION="2015.04.0"
ID=ptxdist
VERSION_ID="2015.04.0"
PRETTY_NAME="PTXdist / Wolfvision-Cynap"
ANSI_COLOR="1;34"
PTXDIST_VERSION="2015.04.0"
PTXDIST_BSP_VENDOR="Wolfvision"
PTXDIST_BSP_NAME="Cynap"
PTXDIST_BSP_VERSION="-1.18f"
PTXDIST_PLATFORM_NAME="x86_64"
PTXDIST_PLATFORM_VERSION="-2012.12.0"
PTXDIST_BUILD_DATE="2017-04-25T04:56:34+0200"
WOLFVISION_REVISION="1.18f"
WOLFVISION_BUILD_ID="20170425045632"
52
Pentest Report, SySS-SP Kerstin Zuzej
6.3 Liste Services
cynap.service.versions - https://pydio.cybernation.eu/public/26d964
airview - 0.1
alsa-lib - 1.0.24.1
alsa-utils - 1.0.24.2
annotation - 0.1
avahi - 0.6.31
barebox - 2014.11.0
blspec-entry - 4.12.3
bluez - 5.30
boost - 1.55.0
busybox - 1.23.1
bzip2 - 1.0.6
c-ares - 1.12.0
ca-certificates - 2016.08.08
cairo - 1.12.18
cbapp - 0.1
chromium - 62.0.3202.29
cifs-utils - 5.2
connman - 1.29
crda - 3.13
curlftpfs - 0.9.2
dbus - 1.8.16
dbus-glib - 0.104
dbus-python - 0.84.0
dhcp - 4.1.2
e2fsprogs - 1.42.12
expat - 2.1.0
ezwebsocket - 1.0
farstream - 0.2.8
fcgi - 2.4.0
fdk-aac - 0.1.4
ffmpeg - 2.7.2
files - 1.0.0
flex - 2.5.35
fontconfig - 2.12.5
fpga-flash-tool - 0.1
freetype - 2.8
53
Pentest Report, SySS-SP Kerstin Zuzej
fuse - 2.9.3
gcclibs - 5.4.0
gdb - 7.12.1
gdbserver - 7.12.1
glew - 1.10.0
glib - 2.50.1
glib-networking - 2.50.0
glibc - 2.23
glu - 9.0.0
gnutls - 3.3.24
gplugin - 0.27.0
gst-libav1 - 1.12.2
gst-plugins-bad1 - 1.12.2
gst-plugins-base1 - 1.12.2
gst-plugins-extra1 - 0.0.10
gst-plugins-good1 - 1.12.2
gst-plugins-ugly1 - 1.12.2
gst-rtsp-server1 - 1.12.2
gstreamer-vaapi1 - 1.12.2
gstreamer1 - 1.12.2
hostapd - 2.0
icu - 52.1
initmethod-systemd - 1.0.0
installer - 1
intel-gpu-tools - 1.16
iproute2 - 3.18.0
iptables - 1.4.21
iw - 3.14
jansson - 2.7
json-c - 0.12
json-glib - 1.2.0
kernel - 4.12.3
kernel-modules - 4.12.3
less - 443
libbsd - 0.6.0
libcap - 2.22
libcryptsetup - 1.7.3
libcurl - 7.51.0
libdaemon - 0.14
libdrm - 2.4.80
54
Pentest Report, SySS-SP Kerstin Zuzej
libepoxy - 1.2
libevdev - 1.2.2
libevent - 2.1.8
libexif - 0.6.21
libffi - 3.2.1
libftdi1 - 1.1
libgcrypt - 1.5.3
libgmp - 6.0.0a
libgpg-error - 1.26
libical - 2.0.0
libinput - 1.5.4
libjpeg - 8a
libkmod - 20
libltdl - 2.4.3
libmpeg2 - 0.5.1
libmxml - 2.6
libnice - 0.1.13+156+g1778f790087a
libnl - 1.1
libnl3 - 3.2.25
liboauth - 1.0.3
libogg - 1.1.4
libpcap - 1.5.3
libpciaccess - 0.13.2
libpcre - 8.32
libpng - 1.2.50
libpopt - 1.15
libreoffice - 4.4.0.3
libsndfile - 1.0.25
libsoup - 2.48.0
libsrtp - 1.5.4
libtasn1 - 3.2
libtheora - 1.1.1
libusb - 1.0.18
libusb-compat - 0.1.3
libva - 1.8.3
libva-intel-driver - 1.8.3
libvorbis - 1.3.3
libwebsockets - v1.3+chrome37+firefox30
libxcb - 1.10
libxkbcommon - 0.5.0
55
Pentest Report, SySS-SP Kerstin Zuzej
libxml2 - 2.9.2
libxslt - 1.1.28
lighttpd - 1.4.35
linuxfirmware - 1
lm-sensors - 3.3.3
locales - 1.0
lvm2 - 2.02.66
machine-id - 1
mesalib - 17.2.0
mtdev - 1.1.5
nano - 2.3.1
nbd - 3.10
ncurses - 5.9
neon - 0.30.1
netcat - 1.105
nettle - 2.7.1
nfsutils - 1.3.0
nspr - 4.12
nss - 3.32
ntfs-3g - 2017.3.23
ntpclient - 365
openssh - 6.6p1
openssl - 1.0.1m
opkg - 0.2.2
opus - 1.1.2
orc - 0.4.26
os-release - 1.0
pango - 1.29.4
pciutils - 3.3.0
pidgin - 85a47f338c55
piview - 0.1
pixman - 0.32.6
procps - 3.2.8
protobuf - 2.6.1
pulseaudio - 8.0
pygobject - 2.21.5
python - 2.7.9
qt5 - 5.4.1
rc-once - 1.0.0
readline - 6.2
56
Pentest Report, SySS-SP Kerstin Zuzej
rootfs - 1.0.0
rtmpdump - 2015+12+23+0+gfa8646daeb19
shmfifo2 - 0.1
sipe - 1.22.0
socat - 1.7.3.0
speex - 1.2~rc1
sqlite - 3080801
strace - 4.9
systemd - 219
tcpdump - 4.5.1
timezone - 1.0
tinyproxy - 1.8.4
udev - 219
util-linux-ng - 2.26.1
vo-aacenc - 0.1.2
wayland - 1.12.0
webpage - 1.0
weston - 2.0.0
wireless - 30
wpa-supplicant - 2.5
wvfirmware - 1
wysiwidi - v0.1.0
xkeyboard-config - 2.0
xorg-app-xeyes - 1.1.1
xorg-app-xkbcomp - 1.2.4
xorg-font-alias - 1.0.3
xorg-font-ttf-caladea - 20130214
xorg-font-ttf-carlito - 20130920
xorg-font-ttf-dejavu - 2.35
xorg-font-ttf-lohit-assamese - 2.91.3
xorg-font-ttf-lohit-bengali - 2.91.3
xorg-font-ttf-lohit-devanagari - 2.95.2
xorg-font-ttf-lohit-gujarati - 2.92.2
xorg-font-ttf-lohit-kannada - 2.5.3
xorg-font-ttf-lohit-malayalam - 2.92.0
xorg-font-ttf-lohit-oriya - 2.5.4.1
xorg-font-ttf-lohit-punjabi - 2.5.3
xorg-font-ttf-lohit-tamil - 2.91.1
xorg-font-ttf-lohit-tamil-classical - 2.5.3
xorg-font-ttf-lohit-telugu - 2.5.4
57
Pentest Report, SySS-SP Kerstin Zuzej
xorg-fonts - 1.0.0
xorg-lib-fontenc - 1.1.2
xorg-lib-ice - 1.0.9
xorg-lib-sm - 1.2.2
xorg-lib-x11 - 1.6.2
xorg-lib-xau - 1.0.8
xorg-lib-xaw - 1.0.12
xorg-lib-xcomposite - 0.4.4
xorg-lib-xcursor - 1.1.14
xorg-lib-xdamage - 1.1.4
xorg-lib-xdmcp - 1.1.1
xorg-lib-xext - 1.3.3
xorg-lib-xfixes - 5.0.1
xorg-lib-xfont - 1.5.0
xorg-lib-xkbfile - 1.0.8
xorg-lib-xmu - 1.1.2
xorg-lib-xpm - 3.5.11
xorg-lib-xrender - 0.9.8
xorg-lib-xres - 1.0.7
xorg-lib-xscrnsaver - 1.2.2
xorg-lib-xshmfence - 1.1
xorg-lib-xt - 1.1.4
xorg-lib-xxf86vm - 1.1.3
xorg-server - 1.17.2
xterm - 284
xz - 5.0.4
zlib - 1.2.8
6.4 Websocket Cross-Domain Prufung (HTML/JS)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>WebSocket CrossDomain</title>
<script src="wolfprot.js"></script>
<script src="wolfprot_def.js"></script>
<script type="text/javascript">
init_websocket("ws://172.18.1.10/xxx");
58
Pentest Report, SySS-SP Kerstin Zuzej
setTimeout(function(){ getBoxName(function(data) {
document.getElementById("bname").innerText = data }); }, 1000);
</script>
</head>
<body>
<h1>CrossDomain Test</h1>
<span>WS-Url: </span><span style="color:blue;"> ws://172.18.1.10/xxx</span><br />
<span>Load BoxName: </span><span id="bname" style="color:red"></span>
</body>
</html>
59