Shell Start Script mit automatischen Neustart

Falls ihr auf der Suche nach einem Shell Start Script seit, habt ihr es hier gefunden. Für das OpenSource Datawarehouse Metabase habe ich mir ein Script geschrieben, welches den Prozess startet und überwacht. Systemd als Service Manager kommt dabei ebenfalls zum Einsatz und sorgt dafür, dass das Script beim Starten des Servers ausgeführt wird. Sollte Metabase nicht mehr Laufen oder der Prozess sich beendet haben, startet das Script es einfach erneut und protokolliert dies in der Log. Die Grundbasis kann dabei für jegliche Prozesse benutzt werden, die automatisch neu gestartet werden sollen. Shell Start Script Vor einiger Zeit hatte ich […]

DVWA mit Docker

Es ist zwar schon eine Weile her, wo ich über DVWA(Damn Vulnerable Web Application) geschrieben habe, aber ich möchte die Installation von DVWA mit Docker nicht vorenthalten. Im damaligen Artikel hatte ich die Installation mit dem Package-Manager, bzw. github beschrieben. Dort hatte ich die Datenbank und weiteres händisch aufbereitet. Einfacher ist somit also die Installation über Docker. Naheliegend, dass Docker vorerst installiert ist, danach ist die Integration ein einfaches und kann mit einer Zeile Code installiert werden. Docker Installation Solltet ihr vorhaben, einen neuen Server zu installieren, Docker ist bei der Ubuntu-server Installation als Package bei der Installation auswählbar. Habt […]

Plotly Dash installieren und einrichten

Plotly Dash Installation Um Dash verwenden können, installieren wir die Anforderungen. Damit die Pakete nicht mit anderen in die Quere kommen, machen wir das ganze in einer virtuelle Umgebung. Zusätzlich installieren wir folgende Pakete über den Package-Manager pip3. Das wärs schon bezüglich der Installation. Ich möchte euch hier jetzt ein Beispiel aus der Dash Dokumentation zeigen. Das Beispiel könnt ihr direkt testen, indem ihr den Code in eine Datei packt und diese mit ausführt. Per Default ist die Seite nur über localhost über den Port 3000 erreichbar. Ihr könnt den Host + Port allerdings ändern. Ersetzt dafür die letzte Zeile […]

IP-Adressliste mit Excel

Oft ist es sinnvoll einen IP Plan zu haben, um zu dokumentieren, ob und welche IP-Adressen noch frei sind, welche Netze in Benutzung sind und eine Menge anderer Gründe. Klar, es gibt viele Tools, die das anbieten, aber was ist, wenn man solch eine Liste selber generieren möchte? Ich habe mir dies kurz zur Aufgabe gemacht und mir eine IP-Adressliste mit Excel erzeugt. Die zu scannenden Netze werden als Arbeitsblatt erzeugt. Enthalten sind dort die Adressen, die gescannt werden sollen. Zusätzlich gibt es noch ein Feld für den Ping-Status, den DNS Namen falls vorhanden und etwaige Bemerkungen. Über VBA wird […]

cifs_mount failed w/return code = -13

Als ich heute versucht hatte eine Freigabe auf einem Ubuntu 20.04 über cifs zu mounten, bin ich ständig über den Fehler gestolpert. Der Befehl dmesg zeigte mir indes noch eine andere Fehlermeldung, die so leider erstmal nichts aussagend ist. Die beiden Fehlermeldungen halfen mir leider nicht weiter. Die Freigabe hatte ich schon auf anderen Maschinen eingerichtet, ohne jegliche Probleme. Ein read-only konnte ich daher ausschließen. Zumal per default read-write Zugriff beim mount gewährt werden sollte. Nach etwas googlen bin ich auf die Lösung gestoßen. Mir fehlte mount.cifs, welches Bestandteil der cifs-utils ist. mount.cifs wird benutzt, wenn im mount Befehl der Schalter […]

Unser schönes Emsland

Heute möchte ich euch ein kleines Herzens Projekt vorstellen, bei dem ich beides vereint habe. Meine Leidenschaft fürs Fotografieren, als auch die Leidenschaft für die Informatik. Wie ihr im Namen seht, geht es um den Landkreis, in dem ich wohne. Ich bin der Meinung, auch hier im Emsland, haben wir viele Sehenswürdigkeiten, auch wenn diese nicht auf den ersten Blick ersichtlich sind. Ich versuche sowohl bekannte als auch unbekannte sehenswürdige Orte mit einzubringen. Darunter die offensichtlichen wie z.B. das Schloss Clemenswerth, aber auch solche, die wahrscheinlich noch niemand abgelichtet hat. Das Emsland besteht nämlich nicht nur aus seinen bekannten Destillerien […]

Cursor in Mysql

Ein Cursor in Mysql hilft euch über ein Result Set zu iterieren. Dabei muss er vorher definiert und geöffnet werden. Beim Deklarieren geben wir ihm das Select Statement mit, über das er iterieren soll. Der Cursor geht durch jede einzelne Zeile des Result Sets, bis er zum Ende angekommen ist. Dort schließen wir den Cursor wieder. Das Verhalten werde ich später im Beispiel genauer erklären. Eigenschaften eines Cursors Mysql unterstützt Cursors in z.B. stored Procedures. Folgende Eigenschaften sind zu beachten: Read only: es sind soweit keine Updates/Inserts direkt mit dem Cursor möglich Ein Cursor arbeitet sich von oben nach unten durch […]

Was ist arp spoofing

Beim Arp-Spoofing werden gefälschte ARP-Replys versendet und die Zuordnung zwischen Arp und IP manipuliert. Möchte z.B. Rechner A eine Nachricht an Rechner B schicken, ermittelt dieser vorerst die zugehörige MAC-Adresse zu der IP von Rechner B. Rechner A schickt dabei ein Broadcast an alle Geräte. Vereinfacht gesagt enthält dieser Broadcast die MAC+IP Adresse des Fragenden und verlangt die korrekte MAC Adresse zur IP von Rechner B. Anbei eine Visualisierung der ARP Pakete in Wireshark. Alle Rechner im Netzwerk speichern sich die IP-MAC Relation des Fragenden. Nur der Rechner B antwortet Rechner A mit seiner MAC-Adresse. Die Antwort speichert Rechner A […]

QNAP dubiose Verbindungen

Bei einer Kontrolle des QNAP TS-212 bin ich auf dubiose Verbindungen gestoßen. Generell sind Verbindungen ja nichts ungewöhnliches auf einem NAS. Allerdings haben mich die ausgehenden Verbindungen skeptisch gemacht. Immer wieder tauchten dort eine Vielzahl von UDP Paketen auf. Mittels einem Man-in-the-middle Angriff hatte ich mich zwischen den NAS geschaltet. Wireshark habe ich benutzt, um den Netzwerkverkehr aufzulisten. Mit dem Filter wurden mir nur die gewünschten Pakete angezeigt. Mir war bei den Verbindungen aufgefallen, das es sich immer um die Ports 6889 + 6881 handelt, daher habe ich den Filter auf die 2 Ports beschränkt. Einige der Zielquellen habe ich […]

Image Crawler Python

Möchte man sein Machine Learning Model eigenständig trainieren, ist es teilweise hilfreich einige Bilder zur Verfügung zu haben. Lass uns einfach mal davon ausgehen, dass unser Neuronales Netzwerk eine Katze erkennen soll. So sollten wir tausende Bilder von Katzen aus dem Netz laden, um unser Model erfolgreich trainieren zu können. Die Katzen wären die positiven Ergebnisse und z.B. Hunde, Häuser, Kühe die negativen. Anhand dieser Konstellation zwischen positiven und negativen Bildern, kann unser Netzwerk die Katze klassifizieren. Dazu habe ich ein Python Skript geschrieben. Je nachdem was die Keywörter sind, sucht es passende Bilder. Die Bilder werden heruntergeladen, verkleinert und […]