Raspberry Pi: Wie kann die Bandbreite pro Prozess mit NetHogs angezeigt werden?
Mit dem Kommandozeilenwerkzeug nethogs, das die Bandbreitennutzung nach Prozessen und Sub-Netzen gruppieren kann, bekommt man schnell einen Überblick.
Es listet die PID, den Prozessnamen, Send Bytes, Received Bytes und den ausführenden Benutzer auf.
Die Installation ist auf dem Raspberry Pi mit:
1 |
apt-get nethogs |
schnell erledigt. Das Programm hat nur die folgenden Abhängigkeiten:
„Raspberry Pi: Wie kann die Bandbreite pro Prozess mit NetHogs angezeigt werden?“ weiterlesen
Raspberry Pi: Was ist bei Kali Linux anders als im Debian?
Wer den Raspberry Pi bisher unter Debian laufen hat, wundert sich evl. über einige Unterschiede zu Kali Linux. Welche fallen zuerst auf?
Es gibt default kein raspi-config. Der Speicher der SD-Karte kann aber mit raspi-config sehr einfach expandiert werden. Deshalb ausnahmsweise ein paar Packages, die nicht von Kali stammen, wie folgt installieren mit dem root User:
1 2 3 4 5 6 7 8 9 |
apt-get update apt-get upgrade wget http://archive.raspberrypi.org/debian/pool/main/r/raspi-config/raspi-config_20150706_all.deb # lua5.1 da lua5.2 nicht läuft wget http://http.us.debian.org/debian/pool/main/l/lua5.1/lua5.1_5.1.5-7.1_armel.deb wget http://http.us.debian.org/debian/pool/main/t/triggerhappy/triggerhappy_0.3.4-2_armel.deb dpkg -i triggerhappy_0.3.4-2_armel.deb dpkg -i lua5.1_5.1.5-7.1_armel.deb dpkg -i raspi-config_20150706_all.deb |
Dann gibt es unter Kali kein /boot
Verzeichnis mit den Boot Dateien. Das /boot
Verzeichnis ist dort leer. Das /boot
Verzeichnis liegt auf einer anderen Partition und zwar auf mmcblk0p1
. Deshalb ein Verzeichnis z.B. /boot-bereich anlegen und mounten. Dann können diese Dateien bearbeitet werden.
Wenn die Dateien bearbeitet wurden, einfach das Verzeichnis wieder umounten.
1 2 3 4 |
mkdir /boot-bereich mount /dev/mmcblk0p1 /boot-bereich/ nano /boot-bereich/config.txt umount /boot-bereich |
Welche Unterschiede fallen Euch auf? Gern als Kommentar.
Raspberry Pi Wardrive: Kismet compilieren und WLANs auf Google anzeigen
Da es auf Debian wheezy noch nicht das aktuelle Kismet Package gibt, hier die Anleitung wie es compiliert und installiert werden kann.
1 2 3 4 5 6 7 8 9 10 |
# System aktualisieren sudo apt-get update sudo apt-get upgrade # nötige Programme laden sudo apt-get install screen gpsd libncurses5-dev libpcap-dev tcpdump libnl-dev wget http://www.kismetwireless.net/code/kismet-2013-03-R1b.tar.gz tar xfvz kismet-2013-03-R1b.tar.gz cd kismet-2013-03-R1b/ ./configure sudo make install |
Wenn der GPS Empfänger über gpsd läuft und wie bei mir nicht an dem USB Port hängt, müssen in /usr/local/etc/kismet.conf
noch folgende Einstellungen gemacht werden.
1 2 3 4 5 6 7 |
# (Optional) Verzeichnis wo die Logeinträge hingeschrieben werden, sonst start Verzeichnis logprefix=/home/pi/kismet # das WLAN Interface und den WLAN-Stick Type ncsource=wlan0:type=rt2800usb gps=true gpstype=gpsd gpshost=localhost:2947 |
Gestartet wird Kismet bei mir über ein kleines bash Script start-wardrive.sh
:
1 2 3 4 5 6 |
#!/bin/bash cd kismet-2013-03-R1b sudo pkill wpa_cli sudo pkill ifplugd sudo pkill wpa_supplicant sudo kismet |
Für die Auswertung kann man das Python Script zum umwandeln einer NETXML Datei in das KML Format verwenden, es geht wie folgt
„Raspberry Pi Wardrive: Kismet compilieren und WLANs auf Google anzeigen“ weiterlesen
Raspberry Pi: Wardriving (Warwalking) Kismet netxml Dateien visualisieren mit Google Earth
Auswertung der netxml
Daten geht auch sehr gut mit giskismet, das die netxml
Dateien in eine SQLite Datenbank (default: wireless.dbl ) kopiert und auch GoogleEarth / KML Dateien für die Visualisierung via SQL erzeugen kann.
Installiert wird es auf dem Raspberry Pi mit: „Raspberry Pi: Wardriving (Warwalking) Kismet netxml Dateien visualisieren mit Google Earth“ weiterlesen
Raspberry Pi: GPS-Module GY-GPS6MV2 einrichten
Haben nun auch einen GPS-Empfänger (Datenblatt (pdf)) bekommen. Hier ein paar Highlights:
- Model: GY-GPS6MV2
- Power Supply Range: 3 V to 5 V
- Ceramic antenna
- EEPROM for saving the configuration data when powered off
- Backup battery
- LED signal indicator
- Antenna Size: 25 x 25 mm
- Module Size: 25 x 35 mm
- Default Baud Rate: 9600 bps
Klein und billig: „Raspberry Pi: GPS-Module GY-GPS6MV2 einrichten“ weiterlesen
iPhone 6 plus: VPN on Demand mit IPSec unter iOS 8 mit “shared secret” möglich
Wie kann mit einem iPhone automatisch eine VPN Verbindung hergestellt werden, ohne das man es immer manuell vorher anschalten muss? Also VPN on Demand mit IPSec und „schared secret“. Das ist hilfreich, wenn man in öffentlichen WLANs unterwegs ist, so wird dann immer autom. eine VPN Verbindung aufgebaut, wenn sie benötigt wird. Es wird also nicht einmal vergessen. Und schon cool, wenn Anrufe auf dem Handy per VPN geführt werden können und Push-Benachrichtigungen autom. per VPN kommen.
Und wie kann automatisch das VPN im eigenen bekannten WLAN und Hotspots deaktivert werden? Das alles mit einem orginal iPhone, es ist kein Jailbreak nötig.
Hatte vor einiger Zeit schon mal versucht, mit einem iPhone eine automatische VPN Verbindung (VPN on Demand) aufzubauen. Das hatte nicht geklappt, wie hier beschrieben, weil diese Möglichkeit im Apple Konfigurationsprogramm nicht angeboten wird.
Habe jetzt aber einen Hinweis auf diese Quelle von Thomas Witt erhalten (Danke). Damit klappt es super. Wie muss man vorgehen?
1. Die VPN_FritzBox_OnDemand.mobileconfig laden.
2. Alle stellen die mit REPLACE gekennzeichnet sind, mit eigenen Werten ersetzen.
3. Die Profile Datei per E-Mail an das iPhone senden und das Profile installieren.
4. Manuell testen ob Verbindung läuft.
Habe es mit iPhone 6 Plus und iPadMini unter iOS 8.1.2 mit einer FritzBox 7490 (Version 06.23) getestet.
Hier die nötige Profile Datei von oben, mit Kommentaren von mir aus der Apple Referenz, so kann man auf einem Blick sehen, was man anpassen kann bzw. muss:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 |
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <!-- https://developer.apple.com/library/ios/featuredarticles/iPhoneConfigurationProfileRef/Introduction/Introduction.html#//apple_ref/doc/uid/TP40010206-CH1-SW7 --> <plist version="1.0"> <dict> <!-- VPN Payload The VPN payload is used for traditional systemwide VPNs based on L2TP, PPTP, and IPSec. This payload should not be confused with the Per-App VPN, described in Per-App VPN Payload. The VPN payload is designated by specifying com.apple.vpn.managed as the PayloadType value. In addition to the settings common to all payload types, the VPN payload defines the following keys --> <key>PayloadContent</key> <array> <dict> <!-- Determines the settings available in the payload for this type of VPN connection. IPSec (Cisco) --> <key>IPSec</key> <dict> <!-- Either SharedSecret or Certificate. Used for L2TP and Cisco IPSec. --> <key>AuthenticationMethod</key> <!-- The shared secret for this VPN account. Only present if AuthenticationMethod is SharedSecret. Used for L2TP and Cisco IPSec. --> <string>SharedSecret</string> <!-- 1 if the VPN connection should be brought up on demand, else 0. --> <key>OnDemandEnabled</key> <integer>1</integer> <!-- Determines when and how an on-demand VPN should be used. --> <key>OnDemandRules</key> <array> <dict> <!-- The action to take if this dictionary matches the current network. --> <key>Action</key> <!-- Disconnect—Tear down the VPN connection and do not reconnect on demand as long as this dictionary matches. --> <string>Disconnect</string> <!-- An interface type. If specified, this rule matches only if the primary network interface hardware matches the specified type. Supported values are Ethernet, WiFi, and Cellular. --> <key>InterfaceTypeMatch</key> <string>WiFi</string> <!-- An array of SSIDs to match against the current network. If the network is not a Wi-Fi network or if the SSID does not appear in this array, the match fails. Omit this key and the corresponding array to match against any SSID. --> <key>SSIDMatch</key> <array> <!-- TODO: eine oder mehree Netzwerk SSID einfügen --> <string>REPLACE_secure_wpa2_network_ssid</string> <string>REPLACE_my_private_wpa_network_ssid</string> </array> </dict> <dict> <!-- The action to take if this dictionary matches the current network. --> <key>Action</key> <!-- Connect — Unconditionally initiate a VPN connection on the next network attempt. --> <string>Connect</string> <!-- An interface type. If specified, this rule matches only if the primary network interface hardware matches the specified type. Supported values are Ethernet, WiFi, and Cellular. --> <key>InterfaceTypeMatch</key> <string>WiFi</string> <!-- An array of SSIDs to match against the current network. If the network is not a Wi-Fi network or if the SSID does not appear in this array, the match fails. Omit this key and the corresponding array to match against any SSID. --> <key>SSIDMatch</key> <array> <!-- TODO: evl. SSID für Hotspots oder Firma ergaenzen --> <string>REPLACE_UNSECURE_PUBLIC_SSID</string> <string>REPLACE_Public</string> <string>REPLACE_Telekom</string> </array> </dict> <dict> <key>Action</key> <string>Connect</string> <key>InterfaceTypeMatch</key> <string>WiFi</string> </dict> <dict> <key>Action</key> <!-- Ignore — Leave any existing VPN connection up, but do not reconnect on demand as long as this dictionary matches. --> <string>Connect</string> <key>InterfaceTypeMatch</key> <string>Cellular</string> </dict> <dict> <key>Action</key> <string>Ignore</string> </dict> </array> <!-- Present only if AuthenticationMethod is SharedSecret. The name of the group to use. If Hybrid Authentication is used, the string must end with [hybrid]. Used for Cisco IPSec. --> <key>LocalIdentifier</key> <!-- TODO: VPN Login eingeben --> <string>REPLACE_VPN_LOGIN</string> <!-- Present only if AuthenticationMethod is SharedSecret. The value is KeyID. Used for L2TP and Cisco IPSec. --> <key>LocalIdentifierType</key> <string>KeyID</string> <!-- IP address or host name of the VPN server. Used for Cisco IPSec. --> <key>RemoteAddress</key> <!-- TODO: VPN Server eintragen z.B. xxxxxxxxxxxxxxxxx.myfritz.net oder DynDNS der Fritzbox --> <string>REPLACE_VPN_SERVER</string> <!-- The shared secret for this VPN account. Only present if AuthenticationMethod is SharedSecret. Used for L2TP and Cisco IPSec. --> <key>SharedSecret</key> <!-- TODO: shared secret für den VPN Account eingeben. z.B. Shared-Secret-Fritzbox-VPN-User-Config --> <string>REPLACE_SHARED_SECRET</string> <!-- 1 if Xauth is on, 0 if it is off. Used for Cisco IPSec. --> <key>XAuthEnabled</key> <integer>1</integer> <!-- User name for VPN account. Used for Cisco IPSec. --> <key>XAuthName</key> <!-- TODO VPN Login Name (Gruppenname) eingeben --> <string>REPLACE_VPN_LOGIN</string> <!-- Keine Doku zu den Parameter, evl. Xauth auf 0 setzen --> <key>XAuthPassword</key> <!-- TODO: VPN Passwort eingeben --> <string>REPLACE_VPN_PASSWORD</string> </dict> <key>IPv4</key> <dict> <!-- Specifies whether to send all traffic through the VPN interface. If true, all network traffic is sent over VPN. --> <key>OverridePrimary</key> <integer>1</integer> </dict> <!-- Optional. A description of the profile, shown on the Detail screen for the profile. This should be descriptive enough to help the user decide whether to install the profile. --> <key>PayloadDescription</key> <!-- TODO: Beschreibung eingeben --> <string>Configures VPN settings</string> <!-- Optional. A human-readable name for the profile. This value is displayed on the Detail screen. It does not have to be unique. --> <key>PayloadDisplayName</key> <!-- TODO: Beschreibung eingeben --> <string>VPN</string> <!-- A reverse-DNS style identifier (com.example.myprofile, for example) that identifies the profile. This string is used to determine whether a new profile should replace an existing one or should be added. --> <key>PayloadIdentifier</key> <!-- TODO: Eingeben --> <string>REPLACE_UUID1.com.apple.vpn.managed.REPLACE_UUID2</string> <!-- The VPN payload is designated by specifying com.apple.vpn.managed as the PayloadType value. --> <key>PayloadType</key> <string>com.apple.vpn.managed</string> <!-- A globally unique identifier for the payload. The actual content is unimportant, but it must be globally unique. In OS X, you can use uuidgen to generate reasonable UUIDs. --> <key>PayloadUUID</key> <!-- TODO: UUID eingeben --> <string>REPLACE_UUID2</string> <!-- The version number of the individual payload. A profile can consist of payloads with different version numbers. For example, changes to the VPN software in iOS might introduce a new payload version to support additional features, but Mail payload versions would not necessarily change in the same release. --> <key>PayloadVersion</key> <real>1</real> <key>Proxies</key> <dict /> <!-- Description of the VPN connection displayed on the device. --> <key>UserDefinedName</key> <!-- TODO: Anpassen --> <string>VPN OnDemand</string> <!-- Determines the settings available in the payload for this type of VPN connection. IPSec (Cisco)... --> <key>VPNType</key> <string>IPSec</string> </dict> </array> <!-- Payload Dictionary Keys Common to All Payloads If a PayloadContent value is provided in a payload, each entry in the array is a dictionary representing a configuration payload. The following keys are common to all payloads: --> <!-- Optional. A human-readable name for the profile payload. This name is displayed on the Detail screen. It does not have to be unique. --> <key>PayloadDisplayName</key> <!-- TODO: Anpassen --> <string>VPN OnDemand</string> <!-- A reverse-DNS-style identifier for the specific payload. It is usually the same identifier as the root-level PayloadIdentifier value with an additional component appended. --> <key>PayloadIdentifier</key> <!-- TODO: UUID eingeben --> <string>REPLACE_UUID1</string> <!-- Optional. If present and set to true, the user cannot delete the profile (unless the profile has a removal password and the user provides it). --> <key>PayloadRemovalDisallowed</key> <false /> <!-- The only supported value is Configuration. --> <key>PayloadType</key> <string>Configuration</string> <!-- A globally unique identifier for the payload. The actual content is unimportant, but it must be globally unique. In OS X, you can use uuidgen to generate reasonable UUIDs. --> <key>PayloadUUID</key> <!-- TODO: UUID einfügen --> <string>REPLACE_UUID3</string> <!-- The version number of the individual payload. A profile can consist of payloads with different version numbers. For example, changes to the VPN software in iOS might introduce a new payload version to support additional features, but Mail payload versions would not necessarily change in the same release. --> <key>PayloadVersion</key> <integer>1</integer> </dict> </plist> |
In welcher Umbebung läuft es bei Euch? Oder einfach nur einen like hinterlassen.
FRITZ!Box 7490 update FRITZ!OS 6.23 veröffentlicht
Das Update war ja schon letztes Jahr, ist aber bei mir irgendwie vorbeigelaufen 😉
So werden die Features auch mehr, einfach die „alten“ in der Liste mit aufnehmen. Neue Möglichkeiten bei der Telefonie, welche? 😉
php Sicherheitsupdate für Raspberry Pi veröffentlicht (CVE-2014-8142, Debian, 5.4.36-0+deb7u1)
Für die aktuelle php5 Version gibt es ein Sicherheitsupdate.
Bei diesen Abhängikeiten (siehe Mindmap) kein Wunder:
Also wie gewohnt ein:
1 2 |
sudo update sudo upgrade |
und checken ob die neue Version vorhanden ist:
1 |
apt-show-versions php5 |
Es muss die Version: php5/wheezy uptodate 5.4.36-0+deb7u1 ausgegeben werden.
Wenn nicht, siehe hier.
Raspberry Pi: „Es ist später als Du denkst!“ oder Network Time Protocol (ntp) Sicherheitsupdate für Debian und Mac OS X veröffentlicht
Wie auf Heise berichtet wird, gibt es ein ntp Sicherheitsupdate das sehr schnell eingespielt werden sollte. Das gilt auch für die aktuellen Debian wheezy Distribution für den Raspberry Pi.
Erst mal eine Mindmap zu ntp:
Mit Pufferüberläufe, die sich durch passend erstellte NTP-Pakete ausnutzen lassen, erhält der Angreifer root Recht auf dem System.
Auf dem Raspberry Pi hat das ntp Package folgende Abhängigkeiten:
Was muss auf dem Raspberry Pi getan werden?
1 2 |
sudo apt-get update sudo apt-get upgrade |
Dann ist das System auf den aktuellen Stand.
Dann können die ntp Keys neu generiert werden. Dazu einmal
1 2 |
sudo mkdir /etc/ntp sudo ntp-keygen |
ausführen. Es erfolgt folgende Ausgabe:
Wer noch schauen möchte, ob die gefixte Version installiert ist, gibt einmal apt-show-versions -p ntp
ein und erhält die gefixt Version angezeigt: version 1:4.2.6.p5+dfsg-2+deb7u1
Auf für Mac OS X gibt es ein Update, das wie gewohnt eingespielt werden sollte:
Wie kann ein automatisches backup für den Raspberry Pi auf ein USB-Stick mit raspibackup eingerichtet werden?
Um schnell ein Raspberry Pi System was aufwendig erstellt wurde, jederzeit wiederherzustellen ist ein Backup oder eine Sicherungskopie nötig.
So hat man seine wichtigsten Daten und Einstellungen jederzeit vorhanden. Manuell ein Backup zu erstellen vergisst man doch immer, so musste eine automatisch Lösung her.
Es gibt da ein gutes Script, welches automatisch Backups anlegt und das mit guter Anleitung.
Hier mal die Installation des Scriptes und weitere Hinweise, die dort nicht erwähnt werden und bei mir nötig waren.
Installation des raspibackup Scriptes:
1 2 3 4 5 6 |
# Script downloaden wget http://www.linux-tips-and-tricks.de/de/downloads/raspibackup-sh/download -O raspiBackup.sh # und nach /usr/local/bin verschieben mv raspiBackup.sh /usr/local/bin # Ausführungs Rechte vergeben sudo chmod 755 /usr/local/bin/raspiBackup.sh |
Für das formatieren und mounten des USB-Sticks kann man hier schauen.
Kurz:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# Schauen wo der USB-Stick ist cat /var/log/messages # oder ls -l /dev/sd* # Mount Verzeichnis anlegen mkdir /media/usbstick # Usb-Stick mit ext4 formatieren mkfs.ext4 /dev/sda1 # Mounten sudo mount /dev/sda1 /media/usbstick # das Mounten überprüfen cat /etc/mtab # UUID ermitteln ls -l /dev/disk/by-uuid/ # umount sudo umount /dev/sda1 # für das autom. Booten eintragen sudo nano /etc/fstab # in /etc/fstab ergänzen UUID=ermittelte uuid /media/usbdisk ext4 defaults 0 0 # reboot sudo reboot # check ob autom. gemountet cat /etc/mtab |
Das Backup soll nun automatisch ausgeführt werden. Dazu wird die cron verwendet.
Die crontab muss mit einer Leerzeile enden.
Um das Script automatisch zu starten, und eine E-Mail Benachrichtigung zu versenden in der Crontab die folgenden Befehle ergänzen.
Öffnen der Crontab Datei:
1 |
sudo crontab -e |
Folgende Zeilen ergänzen (leer Zeile am Ende nicht vergessen):
1 2 3 4 5 6 |
# Jeden Sonntag um 22 Uhr ein Backup nach usbstick im tar Format der ganzen SD-Karte und 4 Versionen vorhalten und e-mail versenden 00 22 * * 0 /bin/bash --login /usr/local/bin/raspiBackup.sh -p /media/usbstick -t tar -k 4 -s ssmtp -e email@kein-spam.de # Jeden Samstag um 5 Uhr ein dd backup auf den usbstick der ganzen SD-Karte und 4 Versionen behalten und e-mail versenden 00 5 * * 6 /bin/bash --login /usr/local/bin/raspiBackup.sh -p /media/usbstick -t dd -k 4 -s ssmtp -e email@kein-spam.de # Jeden Mittwoch um 23 Uhr ein tar backup auf den usbstick der ganzen SD-Karte und 4 Versionen behalten und e-mail versenden 00 23 * * 3 /bin/bash --login /usr/local/bin/raspiBackup.sh -p /media/usbstick -t tar -k 4 -s ssmtp -e email@kein-spam.de |
Restarten der crontab mit:
1 |
sudo /etc/init.d/cron restart |
Um E-Mails zu versenden, muss wie hier beschrieben ssmtp installiert und eingerichtet sein.
Wenn es Fehler gibt kann man im Log unter /var/log/syslog
nachschauen. Z.b. mit
1 |
cat /var/log/syslog |
Was nun noch fehlt, ist eine ausführliche Beschreibung für die Wiederherstellun im Fehlerfall oder das Clonen des Systems mit den erstellen Sicherungskopien. Das kommt dann in einen eigenen Blogeintrag.
Oder die Datensicherung mit zwei oder mehr USB-Sticks nach dem Türme von Hanoi Prinzip.
Der Raspberry PI kam Anfang 2012 auf den Markt und das neue Patientenrechtegesetzt im BGB (§ 630) erst 26.02.2013
Bankenstresstest 2014 statt Raspberry Pi
Wie wird Truecrypt 7.1auf einem Raspberry Pi installiert?
Truecrypt 7.1 kann gut wie in dieser Anleitung beschrieben installiert werden.
Hier in Kurzform wie die nötigen Packages geladen, ausgepackt und selbst compiliert werden können, da es für den rPi keine fertigen Packages gibt. Der compile Vorgang dauert ca. 1 Stunde, dabei darf das Terminal Fenster nicht geschlossen werden.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
sudo apt-get update sudo apt-get upgrade sudo apt-get install libfuse-dev screen wget "https://github.com/AuditProject/truecrypt-verified-mirror/raw/master/Source/TrueCrypt%207.1a%20Source.tar.gz" tar xfz "TrueCrypt 7.1a Source.tar.gz" cd truecrypt-7.1a-source wget ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/*.h wget http://prdownloads.sourceforge.net/wxwindows/wxWidgets-2.8.12.tar.gz tar xfz wxWidgets-2.8.12.tar.gz make NOGUI=1 WX_ROOT=~/truecrypt-7.1a-source/wxWidgets-2.8.12 wxbuild make NOGUI=1 WXSTATIC=1 cp Main/truecrypt /usr/local/bin/ sudo chmod +x /usr/local/bin/truecrypt rm -rf truecrypt-7.1a-source/ rm TrueCrypt\ 7.1a\ Source.tar.gz truecrypt --version |
Ergebnis: TrueCrypt 7.1a
Nun alle Befehle ausgeben mit:
1 |
truecrypt --help |
liefert die Anleitung:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 |
Synopsis: truecrypt [OPTIONS] COMMAND truecrypt [OPTIONS] VOLUME_PATH [MOUNT_DIRECTORY] Commands: --auto-mount=devices|favorites Auto mount device-hosted or favorite volumes. --backup-headers[=VOLUME_PATH] Backup volume headers to a file. All required options are requested from the user. -c, --create[=VOLUME_PATH] Create a new volume. Most options are requested from the user if not specified on command line. See also options --encryption, -k, --filesystem, --hash, -p, --random-source, --quick, --size, --volume-type. Note that passing some of the options may affect security of the volume (see option -p for more information). Inexperienced users should use the graphical user interface to create a hidden volume. When using the text user interface, the following procedure must be followed to create a hidden volume: 1) Create an outer volume with no filesystem. 2) Create a hidden volume within the outer volume. 3) Mount the outer volume using hidden volume protection. 4) Create a filesystem on the virtual device of the outer volume. 5) Mount the new filesystem and fill it with data. 6) Dismount the outer volume. If at any step the hidden volume protection is triggered, start again from 1). --create-keyfile[=FILE_PATH] Create a new keyfile containing pseudo-random data. -C, --change[=VOLUME_PATH] Change a password and/or keyfile(s) of a volume. Most options are requested from the user if not specified on command line. PKCS-5 PRF HMAC hash algorithm can be changed with option --hash. See also options -k, --new-keyfiles, --new-password, -p, --random-source. -d, --dismount[=MOUNTED_VOLUME] Dismount a mounted volume. If MOUNTED_VOLUME is not specified, all volumes are dismounted. See below for description of MOUNTED_VOLUME. --delete-token-keyfiles Delete keyfiles from security tokens. See also command --list-token-keyfiles. --export-token-keyfile Export a keyfile from a security token. See also command --list-token-keyfiles. --import-token-keyfiles Import keyfiles to a security token. See also option --token-lib. -l, --list[=MOUNTED_VOLUME] Display a list of mounted volumes. If MOUNTED_VOLUME is not specified, all volumes are listed. By default, the list contains only volume path, virtual device, and mount point. A more detailed list can be enabled by verbose output option (-v). See below for description of MOUNTED_VOLUME. --list-token-keyfiles Display a list of all available security token keyfiles. See also command --import-token-keyfiles. --mount[=VOLUME_PATH] Mount a volume. Volume path and other options are requested from the user if not specified on command line. --restore-headers[=VOLUME_PATH] Restore volume headers from the embedded or an external backup. All required options are requested from the user. --save-preferences Save user preferences. --test Test internal algorithms used in the process of encryption and decryption. --version Display program version. --volume-properties[=MOUNTED_VOLUME] Display properties of a mounted volume. See below for description of MOUNTED_VOLUME. MOUNTED_VOLUME: Specifies a mounted volume. One of the following forms can be used: 1) Path to the encrypted TrueCrypt volume. 2) Mount directory of the volume's filesystem (if mounted). 3) Slot number of the mounted volume (requires --slot). Options: --display-password Display password characters while typing. --encryption=ENCRYPTION_ALGORITHM Use specified encryption algorithm when creating a new volume. --filesystem=TYPE Filesystem type to mount. The TYPE argument is passed to mount(8) command with option -t. Default type is 'auto'. When creating a new volume, this option specifies the filesystem to be created on the new volume (only 'FAT' and 'none' TYPE is allowed). Filesystem type 'none' disables mounting or creating a filesystem. --force Force mounting of a volume in use, dismounting of a volume in use, or overwriting a file. Note that this option has no effect on some platforms. --fs-options=OPTIONS Filesystem mount options. The OPTIONS argument is passed to mount(8) command with option -o when a filesystem on a TrueCrypt volume is mounted. This option is not available on some platforms. --hash=HASH Use specified hash algorithm when creating a new volume or changing password and/or keyfiles. This option also specifies the mixing PRF of the random number generator. -k, --keyfiles=KEYFILE1[,KEYFILE2,KEYFILE3,...] Use specified keyfiles when mounting a volume or when changing password and/or keyfiles. When a directory is specified, all files inside it will be used (non-recursively). Multiple keyfiles must be separated by comma. Use double comma (,,) to specify a comma contained in keyfile's name. Keyfile stored on a security token must be specified as token://slot/SLOT_NUMBER/file/FILENAME. An empty keyfile (-k "") disables interactive requests for keyfiles. See also options --import-token-keyfiles, --list-token-keyfiles, --new-keyfiles, --protection-keyfiles. --load-preferences Load user preferences. -m, --mount-options=OPTION1[,OPTION2,OPTION3,...] Specifies comma-separated mount options for a TrueCrypt volume: headerbak: Use backup headers when mounting a volume. nokernelcrypto: Do not use kernel cryptographic services. readonly|ro: Mount volume as read-only. system: Mount partition using system encryption. timestamp|ts: Do not restore host-file modification timestamp when a volume is dismounted (note that the operating system under certain circumstances does not alter host-file timestamps, which may be mistakenly interpreted to mean that this option does not work). See also option --fs-options. --new-keyfiles=KEYFILE1[,KEYFILE2,KEYFILE3,...] Add specified keyfiles to a volume. This option can only be used with command -C. --new-password=PASSWORD Specifies a new password. This option can only be used with command -C. -p, --password=PASSWORD Use specified password to mount/open a volume. An empty password can also be specified (-p ""). Note that passing a password on the command line is potentially insecure as the password may be visible in the process list (see ps(1)) and/or stored in a command history file or system logs. --protect-hidden=yes|no Write-protect a hidden volume when mounting an outer volume. Before mounting the outer volume, the user will be prompted for a password to open the hidden volume. The size and position of the hidden volume is then determined and the outer volume is mounted with all sectors belonging to the hidden volume protected against write operations. When a write to the protected area is prevented, the whole volume is switched to read-only mode. Verbose list (-v -l) can be used to query the state of the hidden volume protection. Warning message is displayed when a volume switched to read-only is being dismounted. --protection-keyfiles=KEYFILE1[,KEYFILE2,KEYFILE3,...] Use specified keyfiles to open a hidden volume to be protected. This option may be used only when mounting an outer volume with hidden volume protected. See also options -k and --protect-hidden. --protection-password=PASSWORD Use specified password to open a hidden volume to be protected. This option may be used only when mounting an outer volume with hidden volume protected. See also options -p and --protect-hidden. --quick Do not encrypt free space when creating a device-hosted volume. This option must not be used when creating an outer volume. --random-source=FILE Use FILE as a source of random data (e.g., when creating a volume) instead of requiring the user to type random characters. --slot=SLOT Use specified slot number when mounting, dismounting, or listing a volume. --size=SIZE Use specified size in bytes when creating a new volume. -t, --text Use text user interface. Graphical user interface is used by default if available. This option must be specified as the first argument. --token-lib=LIB_PATH Use specified PKCS #11 security token library. --volume-type=TYPE Use specified volume type when creating a new volume. TYPE can be 'normal' or 'hidden'. See option -c for more information on creating hidden volumes. -v, --verbose Enable verbose output. IMPORTANT: If you want to use TrueCrypt, you must follow the security requirements and security precautions listed in chapter 'Security Requirements and Precautions' in the TrueCrypt documentation (file 'TrueCrypt User Guide.pdf'). Examples: Create a new volume: truecrypt -t -c Mount a volume: truecrypt volume.tc /media/truecrypt1 Mount a volume as read-only, using keyfiles: truecrypt -m ro -k keyfile1,keyfile2 volume.tc Mount a volume without mounting its filesystem: truecrypt --filesystem=none volume.tc Mount a volume prompting only for its password: truecrypt -t -k "" --protect-hidden=no volume.tc /media/truecrypt1 Dismount a volume: truecrypt -d volume.tc Dismount all mounted volumes: truecrypt -d |
Raspberry Pi: Sniffen mit TShark, aber nicht als root User
Zuerst mal eine Mindmap zu TShark, dem Kommandline-Tool von Wireshark (frühe Ethereal).
Installation
Zuerste den rPi aktualisieren und das Packet installieren mit:
1 2 3 |
sudo apt-get update sudo apt-get upgrade sudo apt-get install tshark |
Zuerst einmal die Befehle und die Version für die Komandozeile mit
1 |
tshark -h |
ausgeben:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
TShark 1.12.1 (Git Rev Unknown from unknown) Dump and analyze network traffic. See http://www.wireshark.org for more information. Copyright 1998-2014 Gerald Combs <gerald@wireshark.org> and contributors. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. Usage: tshark [options] ... Capture interface: -i <interface> name or idx of interface (def: first non-loopback) -f <capture filter> packet filter in libpcap filter syntax -s <snaplen> packet snapshot length (def: 65535) -p don't capture in promiscuous mode -I capture in monitor mode, if available -B <buffer size> size of kernel buffer (def: 2MB) -y <link type> link layer type (def: first appropriate) -D print list of interfaces and exit -L print list of link-layer types of iface and exit Capture stop conditions: -c <packet count> stop after n packets (def: infinite) -a <autostop cond.> ... duration:NUM - stop after NUM seconds filesize:NUM - stop this file after NUM KB files:NUM - stop after NUM files Capture output: -b <ringbuffer opt.> ... duration:NUM - switch to next file after NUM secs filesize:NUM - switch to next file after NUM KB files:NUM - ringbuffer: replace after NUM files Input file: -r <infile> set the filename to read from (- to read from stdin) Processing: -2 perform a two-pass analysis -R <read filter> packet Read filter in Wireshark display filter syntax -Y <display filter> packet displaY filter in Wireshark display filter syntax -n disable all name resolutions (def: all enabled) -N <name resolve flags> enable specific name resolution(s): "mntC" -d <layer_type>==<selector>,<decode_as_protocol> ... "Decode As", see the man page for details Example: tcp.port==8888,http -H <hosts file> read a list of entries from a hosts file, which will then be written to a capture file. (Implies -W n) Output: -w <outfile|-> write packets to a pcap-format file named "outfile" (or to the standard output for "-") -C <config profile> start with specified configuration profile -F <output file type> set the output file type, default is pcapng an empty "-F" option will list the file types -V add output of packet tree (Packet Details) -O <protocols> Only show packet details of these protocols, comma separated -P print packet summary even when writing to a file -S <separator> the line separator to print between packets -x add output of hex and ASCII dump (Packet Bytes) -T pdml|ps|psml|text|fields format of text output (def: text) -e <field> field to print if -Tfields selected (e.g. tcp.port, _ws.col.Info) this option can be repeated to print multiple fields -E<fieldsoption>=<value> set options for output when -Tfields selected: header=y|n switch headers on and off separator=/t|/s|<char> select tab, space, printable character as separator occurrence=f|l|a print first, last or all occurrences of each field aggregator=,|/s|<char> select comma, space, printable character as aggregator quote=d|s|n select double, single, no quotes for values -t a|ad|d|dd|e|r|u|ud output format of time stamps (def: r: rel. to first) -u s|hms output format of seconds (def: s: seconds) -l flush standard output after each packet -q be more quiet on stdout (e.g. when using statistics) -Q only log true errors to stderr (quieter than -q) -g enable group read access on the output file(s) -W n Save extra information in the file, if supported. n = write network address resolution information -X <key>:<value> eXtension options, see the man page for details -z <statistics> various statistics, see the man page for details --capture-comment <comment> add a capture comment to the newly created output file (only for pcapng) Miscellaneous: -h display this help and exit -v display version info and exit -o <name>:<value> ... override preference setting -K <keytab> keytab file to use for kerberos decryption -G [report] dump one of several available reports and exit default report="fields" use "-G ?" for more help WARNING: dumpcap will enable kernel BPF JIT compiler if available. You might want to reset it By doing "echo 0 > /proc/sys/net/core/bpf_jit_enable" |
Erst wollen wir uns die vorhandenen Interfaces anschauen und die Nummer merken.
1 |
sudo tshark -D |
Liefert die folgende Liste der verfügbaren Interfaces:
1. eth0
2. wlan0
3. wlan0mon
4. any
5. lo (Loopback)
6. nflog
7. nfqueue
8. usbmon1
Dann mal 10 Sekunden in die Datei traffic.pcap den Netzwerkverkehr von 1 (eth0) sichern mit:
1 |
tshark -i 1 -a duration:10 -w traffic.pcap |
Kommt es zu dieser Fehlermeldung:
1 2 3 |
Capturing on 'eth0' tshark: The capture session could not be initiated on interface 'eth0' (You don't have permission to capture on that device). Please check to make sure you have sufficient permissions, and that you have the proper interface or pipe specified. |
dann nicht aus Sicherheitsgründen mit sudo starten. TShark sollte nicht als root ausgeführt werden und der aktuelle User hat nicht die Rechte auf die Schnittstellen zuzugreifen.
Abhilfe
Den aktuellen User (hier pi) für den Zugriff reconfigurieren mit:
1 |
sudo dpkg-reconfigure wireshark-common |
Es erscheint so ein Dialog:
Dort mit Ja antworten.
Damit die Berechigung für den User (pi) gesetzt wird, und es nicht zu dieser Fehlermeldung kommt:
1 |
tshark: Couldn't run /usr/bin/dumpcap in child process: Keine Berechtigung |
Einmal:
1 |
sudo usermod -a -G wireshark pi |
Dann einmal abmelden:
1 |
exit |
und wieder anmelden.
Schon können Dateien im PCAP Format auf dem Raspberry Pi erzeugt werden und auf einem anderen Rechner mit Wireshark ausgewertet werden.
Raspberry Pi: Kismet ( قسمة ) installieren unter Debian (jessie)
Wie wird Kismet auf dem Raspberry Pi installiert? Zuerst mal eine Mindmap als Überblick zu Kismet:
Kismet wird wie folgt installiert, nachdem das System upgedated wurde:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install kismet
„Raspberry Pi: Kismet ( قسمة ) installieren unter Debian (jessie)“ weiterlesen
Raspberry Pi: Sicherheitsupdate CVE-2014-3634 für das Package rsyslog (version 5.8.11-3+deb7u1) vorhanden
Für Rsyslog gibt es für den Raspberry Pi (Debian, wheezy) ein Sicherheitsupdate.
Als Folge von dieser Schwachstelle kann ein Angreifer fehlerhafte Nachrichten an einen Server senden, wenn dieser Daten aus nicht vertrauenswürdigen Quellen annimmt. Damit könnte dann ein Denial-of-Service-Angriff gestartet werden. Das rsyslog hat diese Abhängigkeiten als Mindmap auf einem Raspberry Pi (jessie):
Update auf der Konsole wie gewohnt:
1 2 3 4 5 6 7 8 |
sudo apt-get update sudo apt-get upgrade # Optional: Version checken mit: apt-show-versions rsyslog # Ausgabe: # rsyslog/wheezy uptodate 5.8.11-3+deb7u1 |
Wie kann das Update für ShellShock auf den Mac installiert werden?
Der ShellShock zieht Kreise, nun gibt es auch ein update für Macs, wie bei Heise beschrieben.
Das Update muss aber manuell von Apple geladen und installiert werden.
Dann doppelklick und folgende Dialoge bestätigen.
Nach der installation im Terminal checken ob der update geklappt hat:
1 |
bash --version |
Ausgabe:
Für den Raspberry Pi gibt es hier im Blog ein paar Links.
Wie kann das Sicherheitsupdate für die Linux-Bash (CVE-2014-6271) des Raspberry Pi gescheckt und installiert werden?
Wie in dem Heise Artikel beschrieben, gibt es in der bash eine Sicherheitslücke CVE-2014-6271.
Das sind die Abhängigkeiten der bash, auf meinem Raspberry Pi (Debian, Jessie)
Für den Raspberry Pi gibt es schon ein Update. Ob das System verletzbar ist kann wie folgt in der Konsole getestet werden:
1 |
env x='() { :;}; echo verwundbar' bash -c "echo Test ob die bash verwundbar ist." |
Wenn das System verletzbar ist, wird „verwundbar“ ausgegeben:
Auch mit:
1 |
apt-show-versions bash |
bekommt man den Hinweis, das ein Update möglich ist.
Also den rPi updaten mit:
1 2 |
sudo apt-get update sudo apt-get upgrade |
Dann noch checken, mit dem Test:
Ok.
Und noch mal die Version checken:
Ok, wir sind nun wieder auch der sicheren Seite oder doch nicht (ShellShock) (CVE-2014-7169).
Sicherheitsupdate für das Raspberry Pi wheezy Package APT erschienen
Mittels APT (Advanced Packaging Tool) ist es sehr einfach, Programmpakete zu suchen, zu installieren oder auch das ganze System auf den neuesten Stand zu bringen. Für dieses Tool gibt es nun ein Sicherheitspatch der installiert werden sollte.
Zitat: „It was discovered that APT, the high level package manager, does not
properly invalidate unauthenticated data (CVE-2014-0488), performs
incorrect verification of 304 replies (CVE-2014-0487), does not perform
the checksum check when the Acquire::GzipIndexes option is used
(CVE-2014-0489) and does not properly perform validation for binary
packages downloaded by the apt-get download command (CVE-2014-0490).
For the stable distribution (wheezy), these problems have been fixed in
version 0.9.7.9+deb7u3.
For the unstable distribution (sid), these problems have been fixed in
version 1.0.9.“
Bei der Gelegenheit gleich alles updaten mit: „Sicherheitsupdate für das Raspberry Pi wheezy Package APT erschienen“ weiterlesen
FRITZ!Box 7490 erhält neues FRITZ!OS 6.20 vs. TR-069
Es gibt für die Fritz!Box ein neues Update. Heise berichtet darüber.
Jetzt mit der neuen Auto-Update Funktion. Wichtige Sicherheitsupdates werden nun automatisch installiert. Diese Option ist standardmäßig aktiviert.
Abschalten kann man die bei Bedarf über Systeme – Update – Auto update.
In diesem Zusammenhang kann man sich auch mal mit TR-069 beschäftigen und evl. die default Einstellungen anpassen. Sehr gut, das die Fritz!Box die Wahlmöglichkeit bietet. Hier mal eine Mindmap als Startpunkt:
Wie kann aircrack-ng 1.2 Beta 3 auf einem Raspberry Pi B+ installiert werden?
Um Schwachstellen im WLAN zu finden, kann ldt. Wikipedia das Tool aircrack-ng.org verwendet werden. Dazu für den Überblick mal eine Mindmap: Wie kann aircrack nun auf dem rPi installiert und an eigenen System getestet werden? „Wie kann aircrack-ng 1.2 Beta 3 auf einem Raspberry Pi B+ installiert werden?“ weiterlesen
Wie kann mit dem Raspberry Pi eine grafische Netzwerk Protokollanalyse mit ntop v.5.0.1 erstellt werden?
Network top ist ein Tool welches Netzwerkverkehr mitschneiden und analysieren kann. Ntop bringt einen eigenen Webserver mit und erzeugt schöne Grafiken.
Auf einem Raspberry Pi kann es schnell installiert werden mit:
sudo apt-get install ntop rrdtool
chmod 755 /var/lib/ntop
chown -R nobody:nogroup /var/lib/ntop/rrd
Während der Installation kommt dieser Dialog wo man die Schnittstelle eth0 angeben kann: „Wie kann mit dem Raspberry Pi eine grafische Netzwerk Protokollanalyse mit ntop v.5.0.1 erstellt werden?“ weiterlesen
Wie kann das klassische Tool, nmap Version 6.46 zum Analysieren eines LANs (und auch WLANs) auf einem Raspberry Pi installiert werden?
Habe schon in einigen Beiträgen von nmap berichtet. Heute wird die Installation und erste Befehle für den Raspberry Pi beschrieben.
Die Aktuelle nmap Version 6.46 braucht nicht aus den Sourcen compiliert werden, da es für den rPi fertige Packages gibt (Update: 26.07.2018: aktuell 7.4. obwohl es schon eine 7.7. gibt, aber noch nicht für den PI)
Also erst das System auf den aktuellen Stand bringen und nmap installieren:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install nmap
Nach ein paar Minuten ist nmap installiert. Erster Test, ausgabe der nmap Version:
nmap -version
So, jetzt den ersten Scann aller vorhandenen Adressen, aber nur auf eigene Netzwerke wie hier beschrieben:
nmap -sP 192.168.2.0/24
Schon werden alle 256 IP Adressen in 8 Sekunden gescannt:
Host is up.
nmap done: 256 IP addresses (15 hosts up) scanned in 8.41 seconds
Oder alle offenen Ports anzeigen mit:
nmap localhost
Oder wenn man das Ziel Betriebssystem ermitteln will, das dauert aber etwas:
nmap -O -v localhost
Manchmal braucht man eine Liste aller Hosts im Netzwerk, das geht so:
nmap -sn 192.168.2.0/24
Eine sehr ausführliche deutsche Beschreibung gibt es unter
man nmap
Welche Befehle findet ihr noch nützlich?
Wie kann das Netzwerkanalyse Programm Ettercap für eine MITM-Attacke (ARP-Spoofing) auf dem Raspberry Pi installiert werden?
Das Netzwerkanalyse Programm Ettercap kann als Text-Version oder auch als grafische Version auf dem rPi ziemlich schnell wie folgt installiert werden:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ettercap-text-only
Auch die grafische Version, die bei der Installation etwas länger dauert, kann mit dem folgenden Aufruf installiert werden:
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install ettercap-graphical
Nach der Installation die Version checken mit:
ettercap -v
Es wird die aktuelle Version vom 21. Sep 2013 ausgegeben: 0.0.8
Hilfe gibt es mit
ettercap -h
Hier ein kleiner Überblick zu Ettercap als Mindmap:
Starten im Text Modus mit
ettercap -T
oder mit einer Text-GUI:
ettercap -C
Quickstart MITM-Attacke
MITM-Attacke könnten wie hier beschrieben ausgeführt werden. Kurz die Text Variante:
ettercap -C
Menü: Sniff - Unified sniffing...
Eingabe: eth0
Menü: Hosts - Scan for hosts
Menü: Hosts - Hosts list
Router in Hosts list markieren und Taste 1 (für Target 1) klicken
Ziel (Opfer) in Hosts list markieren und Taste 2 (für Target 2) klicken
Hilfe mit SPACE
Menü: Targets - Current Targets
Menü: Mitm - ARP poisoning ... (ohne Parameters)
Menü: View - Statistics
Menü: Start - Start sniffing
Menü: View - Statistics
Opfer PC sieht nun "falsche" MAC vom Router, siehe arp -a auf Opfer PC
Hier mal ein paar Statistics eines kurzen test Laufs:
Zum Stoppen wieder:
Menü: Mitm - Stop mitm attack(s) (MAC wieder orginal vom Router)
Menü: Start - Stop sniffing
Es kann nun alles leicht auch geloggt und gefiltert werden. Alles nur im eigenen Netzt mit eigenen Rechnern evl. mit 2 rPi oder eine rPi und einem WR703 ausprobieren.
Wie wird Kismet auf dem Raspberry Pi unter jessie installiert?
Kismet braucht nicht aus den Quelltexten erzeugt werden. Die letzte Version (Stand 12.7.2014) von Kismet Kismet-2013-03-R1b gibt es aus als Package. Also kann es mit
apt-get update && apt-get upgrade
apt-get install Kismet
Bei der Installation kommt zuerst dieser Config-Dialog:
Antwort „Ja“ und dann kommt noch
wo der User z.B. „pi“ ergänzt werden kann. Dann ok, und schon ist Kismet installiert und kann wie in dem Quick Start beschrieben gestartet werden.
Strten mit kismet … aber ohne WLAN Stick…
So, jetzt kann kismet in der Datei /usr/local/etc/kismet.conf
configuriert werden. Aber erst mal einen passenden WLAN-Stick suchen …
Wie kann ein Passwortgenerator (pwgen) auf dem Raspberry Pi installiert werden?
Wer sich Passwörter leicht generieren möchte, kann das mit dem coolen Tool pwgen tun.
Dieser Generator ist schnell installiert mit:
apt-get update && apt-get upgrade
apt-get install pwgen
Dann einfach pwgen eingeben und es werden Passwörter generiert, hier ein Beispiel (natürlich diese nicht verwenden ;-)):
Piec3Eeg oothei5J Jah5eyoo eeya3IeM pi3ahyeT Zohw0udo oovai7Ji Nohgha6j
voP5ieho Ahpit7ta neiX6eex ni6zu1Ei lahV4aix Heuth7Ch kie5Zaim oache8Oo
ooPh3xof Hied4she quuph3Qu lai3Aefu ruaF2rie Ing7faes quoh7taP nieNoa9f
aiTh4sho iecheiT6 Ahj2wah8 Cee6uu1x Iefah3oh pah3Jode yoBoh7oo Aicea4qu
la5uoSee Lesai2ha XeiKie5E meiNg1Ov poogee6W she9Ohji lieJ6Poh EiC1veit
Zouc9sei pie1NaMi jaiph3iS pixei7Ei nei8eeCi kiel4Yoo Chah5ale dei1tieZ
AiSahB3D ohy6Air6 Ozie4qui uiG1Eoji Jeireo0t hedooY3i od1vauDe eereF5ku
ootei4aZ ieB0ij9e ahgia2Oo Eeng2tah AiWi2aiz JaeR3hio ieTie9ti aeN8seid
ieg9Ea2f ahth0Oon goeQu6ae eivee7Ei toh7Ding Ohhein3w hiph0Aec sheiJie0
sheeBo7u dooYah4e gai4og2E aih6Epha Shuth3Ju cheaLoK9 oo2BuM5a nae0ooTh
eakeeHa9 ohB2aqu9 Ahxuz5fo si2Paexu iek5cieH eejie3Gu eeTh6tai ashuu4Ai
Aibux0ua Rohghoh1 Jahp2Uhu rie4xeCu IeJ2leiR gia3OoRo An2ohJae auJa6mai
iub1Pei6 Tei7Hahd chib6Hei ouf6Zooc As1tasae fee2Jang ahcee4Ie Mahke0io
paw6UJai Quuc8wa3 oe7Wurah iJu1ieG3 ohgh6Poh eeKo7ip9 fahjooM3 ooS1ohju
xua7riZo pueW0iex sheig3Al Zeuc0min Oor7keet dahm4ahH Ki8aiqua bee9Choh
GaisaeN5 aijo7EiB die9Aipo Ne8ohvoo leSheK5d vei3Regi ishung5W Nue3Aide
Aiw9aibo ieTah2ug Iey9eeng iehoh0Oe Fai3OhSo uPhae6Ie It9oeyiu dahNgoh9
mio6EiGe Eichee3u ku4veiSh eu3Ohsev pish5AB3 Ishir7ai thei2Sai Lae0phei
Fer2ki3W xoop0Wae uM9engee cha8cahB Iexeip0I Ze1avo2a zohZoh2K ohg3Ooco
Eijoh1Ee Yiex6ahh Ov8onuSh Wug1yuo5 phewee8A Gohqu6io Deighoo4 ielo2eiJ
Der pwgen hat aber noch mehr Optionen, die werden mit:
pwgen -help
oder mit
man pwgen
angezeigt:
Usage: pwgen [ OPTIONS ] [ pw_length ] [ num_pw ]
Options supported by pwgen:
-c or --capitalize
Include at least one capital letter in the password
-A or --no-capitalize
Don't include capital letters in the password
-n or --numerals
Include at least one number in the password
-0 or --no-numerals
Don't include numbers in the password
-y or --symbols
Include at least one special symbol in the password
-s or --secure
Generate completely random passwords
-B or --ambiguous
Don't include ambiguous characters in the password
-h or --help
Print a help message
-H or --sha1=path/to/file[#seed]
Use sha1 hash of given file as a (not so) random generator
-C
Print the generated passwords in columns
-1
Don't print the generated passwords in columns
-v or --no-vowels
Do not use any vowels so as to avoid accidental nasty words
Wenn ich also eine Liste von 20 Stelligen sicheren (s) Passwörtern und keinen ähnlichen Zeichen (wie l und 1) haben möchte (B), kann ich folgenden Befehl absetzen:
pwgen -sB 20
Das Ergebnis:
YgjNwvYemaAhWx9fHThg ATwxvf3NJwYntwxjWWzL CWRYn9KaAus4YLfb4Cro
XCPtEXNmUiAEP4ULizgN XepEta7NjypmFJfCzHsc N7kFENh3PMi9qbVwryKb
gNwjqveYkshdaL4gjehT fjzzmNfgtnVoaCH7dVKt rb3suCzadpj7fp9y3JHt
s3YwxAUqMrNNANPmWxFa FsuWngN9qLqXp7jTxJr7 VcWyXgskfAyuvzHeLh7e
7wEjhadTdmAe4Riz3oaH MAogzqyiYVegJFx4nwqa sAwW3w4V7mUmUsiWEN44
KeMeAb9kfHuyAsh3W4oL N9NXjWV3JVgddeas7vWz PhoCNLzxHNEdtCxo4MYh
MsRLj44Xe4uvM4oLTdxa HLVvqq94TqrnyycbaKJC sx3rcnYrMFcaq9nFHChT
Jvc3TtLUHpnbqFpbjWYe r4z4R7Uzc7jyLAVd9wNu vkgdqkmsUnNTR3aJXcTm
UArR4WCcndEnNRPorr7e cCW9TYjizh3FxLEMiWsd dqxu3NWgEWEcVnR7kdtb
KorKCagv3tiFPedRCxY4 MvaKWq4aMfuvqudKNATv dPgR4rFyMfjiMCwx4mac
PrnmoJwiHd4sNtpUhwrt 44uFHPxgsqvvkxCUfTMg iofY9kMvqjFnLrzREtAV
XVXAoe3eHvFArCvphhRJ 7ozVRLVAcWwKnwsy47oy wEjehHscpLXRMuvxua9z
EKvChrkLfXdRuWT4U9WH KyAjaTXuh7xkeFb3RoRU VNz33urjqEAMtNFgNMoL
e49ic3ceuAwabgfKrxdj PkR4ETdqKufWcep7hscx bxwRRALNVWkEqqAM9bRm
EYqqLnjR3exqpmNo9bMp fpvuh4CarVLXhwsULodK oedNeFstpnryXV9qvYmY
n4ptWFwmLw9XmvgEteRX vimxprjruksCK3iaTzxn EVCJFvPAiu4NK9cNgKda
vMFw4wJvfkpuuCjtz4rb UFd4HLqVvV7awtJHWwHf rftMpbCTuHzbLU3YEMeg
FUveaeHvV4dLdFwfuaF3 WdYqhCxe3rC9fLxUHJjc YmgzCkzkLqdTqfJry9jX
UnfEPWVqk3kPkhEcbKCs Whho7FfCtuqbbgEKtJvj CFu4AsMHANnw4HXpem3t
4TWweTY7iEqqPqpeX9en 3Viq7hqkh3FwsgpEnmzX Yw4bfMmJAotymPTJkfjM
Viel Spaß beim generieren von Passwörtern?
Wie kann auf einem TP WR703N der Zugriff auf Luci mit SSL abgesichert werden?
Bei einer normalen Luci Installation geht der Zugriff auf Luci über http://IP-ADRESSE.
Dieser Zugriff kann leicht verschlüsselt erfolgen. Dafür muss auf der Konsole das luci-ssl
Package wie folgt installiert und das SLL Zertifikat generiert werden:
opkg update
opkg install luci-ssl
/etc/init.d/uhttpd start
/etc/init.d/uhttpd enable
oder wenn luci schon läuft einmal restarten mit:
/etc/init.d/uhttpd restart
Anschließend kann auf Luci mit https://IP-ADRESSE zugegriffen werden.
Wie kann Multi-WAN auf einen TP-WR703N unter OpenWrt mit Luci installiert werden?
Multi-WAN erlaubt es, mehrere ISP-Verbindungen gleichzeitig oder als Ersatzverbindung beim Ausfall der Hauptverbindung zu verwenden.
Multiwan kann über Luci einfach installiert werden. In der System-Paketverwaltung als Filter multiwan eingeben und das Paket luci-app-multiwan installieren.
Nach der Installation gibt es den neuen Reiter Netzwerk – Multi-WAN in der Luci GUI:
Wer noch nichts zum Thema Multi-Wan gehört hat, kann sich diese spannende Anleitung anschauen:
Wie kann die neue Port Version 2.3.1 auf dem Mac (OS X) installiert werden?
Es ist eine neue Version von Port erschienen und zwar die Version 2.3.1. Mit Port hat man nun einen Zugriff auf 14191 Programmen und es werden täglich mehr.
Der update ist einfach. Auf der Konsole nur:
sudo port selfupdate
eingeben und ein paar Minuten warten. Hier das Log:
Dann noch alle Programme aktualisieren mit:
sudo port upgrade outdated
Was ist Neu in dieser Port Version? Es ist ein bugfix release mit kleinen Änderungen:
Release 2.3.1
- – Added macports-clang-3.4 to compiler fallback lists
- – Added quoting to PATH and MANPATH variables set by the installer, to accomodate paths containing spaces
- – Update for automatic dependencies for fetch.type git, needed due to the git-core port being renamed to git
- – Fixed failure to sync using daily tarball
323 Mindmap
Erste-Hilfe-Rettungskette Mindmap
Wie kann auf einem Raspberry Pi alle mDNS/DNS-SD Services mit avahi-browse gelistet werden?
Es gibt eine avahi-browse, mit dem kann auf einem Raspberry Pi alle Services im lokalen Netz angezeigt werden. Über Avahi gibt ein Rechner seine Präsenz und seine angebotenen Dienste im lokalen Netzwerk bekannt. Dazu muss Avahi nicht konfiguriert werden, es funktioniert “Out-of-the-box”. Und keine Angst, Avahi ignoriert sämtlichen Traffic, der nicht aus dem eigenen LAN kommt.
Dazu die avahi-utils installieren mit:
sudo apt-get install avahi-utils
Dann kann mit
avahi-browse -at
die Liste aller im LAN registrierten Services auf der Konsole ausgegeben werden.
Will man nur die Domänen anzeigen, geht das mit:
avahi-browse -Dt
Eine ganz ausführliche Liste mit aufgelösten IP usw. gibt es mit
avahi-browse -art
Weitere Parameter zu dem avahi-browse können mit
man avahi-browse
ausgegeben werden. Hier eine Mindmap zu dem Thema:
Die TOP 5: Wie werden auf dem Raspberry Pi alle angelegten Nutzer angezeigt?
Evl. will man ja mal schauen, ob nicht ein unbekannter einen Nutzer angelegt hat 😉
Um alle im System angelegten Nutzer anzuzeigen gibt es viele Möglichkeiten.
Die Nutzer werden in der Datei /etc/passwd
abgelegt.
Jede angezeigte Zeile hat dieses Format:
Name:Passwort:User-ID:Group-ID:Kommentar:Verzeichnis:Shell
Es gibt viele Seiten, die alles genau beschreiben, hier eine kleine Auswahl:
- itDozent
- nixCraft
- selfLinux
- galileocomputing
Aber jetzt zu den TOP 5 Befehlen, die die Nutzer ausgeben (alle mit cat /etc/passwd
), aber nur die User:
cut -d: -f1 /etc/passwd
at /etc/passwd | cut -d: -f1
sed 's/:.*//' /etc/passwd
cat /etc/passwd | awk -F : '{print $1}'
awk -F: '{print $1}' /etc/passwd
Kennt ihr auch noch einen? 😉
Wie kann per Karotz eine Sprachausgabe (Klingelbenachrichtigung) über Fhem und Raspberry Pi mit PushingBox realisiert werden?
Seit langem habe ich einen Karotz und schon einige Beiträge darüber hier veröffentlicht. Nun wollte ich ihn mal in Fhem für die Hausautomatisation einsetzen.
Habe nun eine generelle Lösung über die kostenlose PushingBox realisiert.
Es können jegliche Textausgaben auf den Karotz gemacht werden. Bei mir läuft eine Ansage, wenn es an der Haustür klingelt. Es könnte auch jede Stunde die Temperatur von Karotz angesagt werden oder … (weitere Ideen als Kommentar).
Was ist also nötig?
1. Die kostenlose App PushingBox auf den Karotz über die Karotz Seite installieren. Es ist diese App, die auch über die Suchefunktion im englischen Store gefunden werden kann. Klickt man dann auf die installierte App, findet man dort die Install id die wird für weiter installation benötigt.
2. Einen kostenlosen Account bei PushingBox mit dem Google-Account einrichten.
3. Im Menü auf My Services klicken und auf Add a Service Button klicken:
Dann den Karotz Service auswählen mit klick auf den Button „Select this Service“.
4. Im folgenden Dialog den „Namen der Karotz configuration“ eingeben, der kann frei gewählt werden und der InstallID eintragen. Die kann wie unter 1. beschrieben ermittelt werden. Die Sprache auswählen, damit Karotz auch deutsch spricht einstellen und klick auf „Submit“.
5. Dann unter „My Scenarios“ über den Button „Add an Action“ hinzufügen. Bei dem Parameter folgenden Text eingeben: $nachricht$
Der Service Name ist frei wählbar. Nach dem speichern erscheint in der Tabelle die DeviceId die später noch verwendet wird.
Jetzt einmal auf den „Test“ Button klicken. Karotz muss nun „Nachricht“ sagen. Wenn das alles läuft, kann es an die Einrichtung in Fhem gehen.
6. In der 99_Utils.pm (oder besser eine neue anlegen 99_myUtils.pm analog zu 99_Utils.pm) folgende Funktion ergänzen und abspeichern. Neueste Version kann auch von GitHub geladen werden.
#
# Sendet eine Nachricht an Karotz.
#
# Aufruf z.B.: {Set_Karotz_Nachricht('Device ID','Hallo herzlich Willkommen zu Hause')}
#
sub
Set_Karotz_Nachricht
{
my ($devid, $text) = @_;
Log 5, ">>> Set_Karotz_Nachricht: $text";
Log 5, ">>> ---------------------------------------------------------------------------------";
system("curl -d \"devid=$devid&nachricht=$text\" http://api.pushingbox.com/pushingbox");
return "OK, sende die Nachricht:\"$text\" an Karotz.";
}
7. Fhem restarten und in der Kommandline die Funktion testen mit (?? durch DeviceID ersetzen):
{Set_Karotz_Nachricht(‚v??????????‘,’Hallo herzlich Willkommen zu Hause‘)}
und return. Schon spricht Karotz!
8. Jetzt kann diese Zeile in die gewünschten Abläufe in Fhem integriert werden.
Z.b. wenn es klingelt:
define klingenOffPush notify fl_klingel_1:on* {\
Set_Karotz_Nachricht('v???????','Hallo, es hat an der Haustür geklingelt.');;\
}
wird nun die Meldung: „Hallo, es hat an der Haustür geklingelt.“ von Karotz ausgegeben.
Hast Du noch weitere Anwendungsfälle, dann hinterlasse einen Kommentar?
Wie kann auf dem Raspberry Pi der SSH Zugang per RSA Key eingerichtet werden?
Wer keine Lust hat immer das Passwort einzugeben, und wer auf der sicheren Seite stehen will, kann sich mit dem RSA Key anmelden. Dazu wie hier ausführlich beschrieben auf den Raspberry Pi per SSH anmelden (evl. für alle anderen User auch wiederholen) und in das .ssh
Verzeichnis anlegen und dahin wechseln mit:
1 2 |
mkdir .ssh cd .ssh |
Wer noch RSA Keys benötigt, die können mit
1 |
ssh-keygen -t rsa |
im .ssh
Verzeichnis erstellt werden.
Auf dem Raspberry Pi die Datei
1 |
sudo nano ~/.ssh/authorized_keys |
anlegen oder ergänzen mit dem (USER)/.ssh/id_rsa.pub des Quell Rechners.
In der
1 |
sudo nano /etc/ssh/sshd_config |
sicherstellen, das diese Einträge auf yes bzw. no stehen und alle einkommentiert sind:
1 2 3 4 |
PasswordAuthentication no RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys |
SSH neu starten mit
1 |
sudo /etc/init.d/ssh restart |
Konsole offen lassen, und von einer neuen Konsole versuchen, ob der Login nun ohne Passwort geht. Sonst in der anderen Konsole den Fehler suchen.
Wie wird eine Pushover Benachrichtigung auf dem Raspberry Pi bei Zugriff per SSH versendet um Einbrüche zu erkennen?
Damit ich benachrichtigt werde, wenn die NSA oder jemand anders per SSH auf meinen Server einbricht, kann dieses Script dienen, welches eine Pushover Nachricht an das Handy oder iPad sendet wenn jeman sich per SSH auf den Raspberry Pi einloggt. Als Basis diente diese sehr ausführliche Seite die sowas mit Pushbullet realisiert hat.
Diese pushover-ssh.sh
Datei „Wie wird eine Pushover Benachrichtigung auf dem Raspberry Pi bei Zugriff per SSH versendet um Einbrüche zu erkennen?“ weiterlesen
Sicherheitsupdate 7.0.6 für iOS 6 und 7 macht es evl. nötig, die iTunes Media von der SSD auf die Festplatte zu verschieben, um für backups Platz zu schaffen
Das neue Sicherheitsupdate für iOS 6 und 7 für iPad…, iPhone und auch Apple TV muss installiert werden, um die Probleme mit SSL/TLS zu fixen.
Vor der Installation wird jeweils ein Backup angefertigt, das für die vielen Apple Geräte doch viel Platz einnimmt. Dafür ist nun meine SSD zu klein. Deshalb wird die iTunes Media wie hier beschrieben auf die Festplatte verschoben.
Für die Backup Dateien siehe diese Anleitung.
Wie kann man das WLAN Passwort im iPhone und iPad /iPadMini ändern?
Über „Einstellungen -> WLAN“ dann auf das WLAN was Du ändern möchtest (auf das Bild mit den kleinen blauen i im Kreis drücken)
dann erscheint IP Adresse Subnetzmaske usw. und ganz oben der Punkt „Dieses Netzwerk ignorieren“ dort drauf klicken und bestätigen.
Dann gehst Du wieder raus und erneut in die WLAN Einstellungen und wenn Du wieder auf das bekannte WLAN klickst, fragt er dich nach dem Passwort und dort gibst Du dann das neue Passwort ein.