XMPP/Jabber, VoIP(jingle), Webcam und Remote Desktop auf Dockstar
Wenn man sich die anderen Beiträge hier anguckt, merkt man, dass ich mich in letzter Zeit ziemlich viel mit XMPP/Jabber, Verschlüsselung und VoIP beschäftige. Leider gab es lange Zeit keine gute Alternative zu Skype aber nach ein paar Stunden testen, meine ich tatsächlich eine Lösung gefunden zu haben: jitsi. Wer das schon länger verfolgt, kennt das Programm vielleicht noch unter dem Namen SIP-Communicator. Inzwischen ist es ein vollwertiger Instant Messenger, der auch ICQ, Windows Live(MSN) und weitere Messenger unterstützt. Mit der Implementierung von jingle gehen jetzt auch Voice Calls und Webcam, grade unter Windows 7 zu Windows XP und Ubuntu 10.04 getestet.
Nun ist man natürlich immer noch abhängig vom Anbieter des XMPP-Servers, allerdings nicht mehr von Red5, welches in Java geschrieben ist und somit wohl eher nicht auf z.B. der Dockstar (->Openfire) läuft :-/ ... mit der ebenfalls Webcam und Audio möglich war, s. jabber-server.de/red5 über Spark(Client) und Openfire (Server). Hier also mal eine kleine Auflistung von öffentlichen Jabber-Servern:
- http://jabber.org
- http://web.jabber.ccc.de/ (Chaos Computer Club Deutschland)
- http://jabber-server.de (privat, non-profit)
- JUNe-Projekt (Jabber Server von einigen Unis in Deutschland und Österreich)
- Liste öffentlicher Jabber Server im Ubuntu-Wiki
Für optimale Privacy kann man natürlich auch einen eigenen Jabber-Server, z.B. ejabberd aufsetzen. Das funktioniert auch mit einer 1GHz ARMEL CPU auf der Dockstar (!)
Ein sehr geiles Feature, nach dem ich überhaupt nicht überhaupt gesucht hatte, ist die Remote-Desktop Funkionlität. Sonst habe ich das immer über das proprietäre logmein.com/hamachi gemacht, aber das gefällt mir natürlich besser:) OTR für's chatten ist eingebaut und funktioniert auch out-of-the-box mit Pidgin auf der Gegenseite( und damit wohl auch Adium)
update: Die Gespräche sind über ZRTP verschlüsselt
Pidgin und OTR in einer Datei
Bei einer Diskussion beim Easterhegg 2011 kamen wir auf die Idee, dass die Leute vielleicht einfacher dazu bewegen wären, Pidgin mit OTR-Verschlüsselung zu installieren, wenn es einfach nur eine Installationsdatei geben würde und man nicht, wie auch z.B. in meinem Blog(engl.), man eine Anleitung dazu schreiben muss. Diese hier ist einfach:
1. Download
2. Draufklicken
- Pidgin Version: 2.7.11
- pidgin-otr Version: 3.2.0-1
(Sowohl Pidgin als auch pidgin-otr sind freie Software unter der GPL.)
//edit: Alternativ lohnt sich auch Jitsi, das auch noch Skype(Audio/Webcam) und Remote-Desktop Programme ersetzen kann.
Making Skype secure via VPN or SSH Tunnel
Since you just can not convince people not to use Skype because it really is insecure, I decided to make Skype more secure by adding extra encryption, which is, as I found out, pretty simple. Just for written conversations you might want to try cryptochat, an extension just for skype(128-bit RSA), but no guarantees, I just googled it myself. Also consider using another service besides Skype(de) for as many connections as possible.
VPN (Virtual Private Network) (easiest)
A VPN creates a tunnel to a service provider you trust, preferably in a country where providers are not allowed to store traffic data(unlike the US I think). This means every bit of traffic is as good secured as the encryption to the end of the tunnel is. Between you and your computer, there is nothing(not your ISP or eavesdropper) that could intercept the data. On the other hand, you have to trust the VPN Provider.
For a few bucks a month(~5€) you can rent a VPN Service from several providers, see list below. Be sure not to use PPTP, because this (theoretically) is fairly insecure as well, a good choice might be OpenVPN or IPSec/L2TP. Most of the providers also have an idiot-proof introduction and how-to on their homepage.
SSH(Secure Shell)(advanced)
With both putty under Windows and OpenSSH under Linux it is possible to create a tunnel and use it on your computer like a socks5 proxy server. For creating a really secure SSH connection, don't use passwords but public-keys. Without any programming you can set up the encryption up to 4096bit which is quite strong. Some of the latest OpenSSH Versions even support ECC (e.g. for mobile..(?)). Use this tutorial to create a tunnel with windows, for Linux use this command:
ssh -D 42 user@host
Where 42 is the port, user is the linux username and host is the hostname of your provider. Then configure your Skype with the following settings(not for VPN!):

Important
All the tweaks shown here don't make skype secure(!), just a little more secure as it was before, adding extra encryption (see RC4). It doesn't prevent Skype or Intelligence Services from intercepting what you're skyping. If your computer is insecure e.g. because of keyloggers, trojan horses etc, VPN/SSH is just useless.
Providers
- https://www.shellfire.de/
- https://www.vpntunnel.se/de (only e-mail adress, nickname and a payment method(see below))
- http://strongvpn.com/
- https://www.relakks.com/
- http://unblockvpn.com
- http://www.google.com/search?hl=en&q=rent%20vpn
Payment
- Anonymous payment at telecomix
- Pay via bitcoins, an "anonymous" internet crypto-currency
- Credit Cards
- Paypal
//edit: make sure you check out jitsi !
Establish secure instant messaging connections via jabber and OTR
//update: even easier: My installer for both messenger and encryption
So first of all, this site doesn't offer SSL, so if you're somewhat paranoid, consider using encrypted anonymous networks like TOR or i2p. Otherwise everybody could potentially listen what you're up to and the kind of software you're going to use.
Instant Messaging is what most of you might know as ICQ, AIM, YIM, Windows Live Messenger(or "MSN"), Skype, Google Talk, etc.
What I'm going to show you is how to install the instant-messenger Pidgin, the encryption extension OTR and create a jabber-account with a provider of your choice. But don't worry, this is not getting very technical, in fact, it probably takes you less than 5 minutes(!). At the end of the article you'll find some more explanations and backgrounds, if you're interessted.
Step by step
1. Download Pidgin at http://www.pidgin.im/download (Link for Windows)
2. Download the OTR Pidgin plugin at http://www.cypherpunks.ca/otr/ (Link for Windows)
3. Install Pidgin, just doubleclick on the icon and press next every time you're asked something. Then install the OTR plugin, same procedure.
4. Create a jabber account, for the beginning https://register.jabber.org/ will do (ignore the SSL warning, if you get one). Just choose a nickname, that might be your real name, a nickname or some letter-number-chaos, just remember it and the password too.
5. Open Pidgin, you're gonna be asked to create an profile/account. Choose XMPP as protocol. Username is the part in front of @jabber.org at your new jabber-address, so the nickname you chose before. Domain is jabber.org. Leave recource free and enter your password. Click Save.
7. Your buddy-list opens, as you might know it from ICQ or Skype. You can now add buddys via the main menu.
8. Enable OTR by clicking Tools/Plugins in the main menu, then scroll down, until you find Off-the-Records Messaging, make sure it's checked.
9. As soon as you chat with someome who also has OTR installed, Pidgin creates a pair of keys(only for the first time). As from now on the connection is encrypted. Just make sure, the person you're talking to, is really the person you think it is.
10. That's what the verifying function is about. On the right side of a chat window, there is a button with encrypted but not authorized butto, click on it and authorize your chat buddy via passphrase, question and answer or by compairing digital fingerprints over a secure connection, e.g. mobile phone or by standing next to each other.
Extra Information
Pidgin is a multi platform chat client. This means you can use whatever chat provider you want to, such as ICQ, Windows Live(MSN) or Skype and use just one programm for all of them. Also, OTR works with all of them, but to be completly independent on commercial providers, I chose jabber.
Now, jabber works a bit like e-mail (decentralized, that is). You have to choose a provider, just like you would choose hotmail.com, googlemail.com, yahoo.com etc for e-mail. There a quite a few providers, for example the Chaos Computer Club in Germany or even German Universities. Since jabber is free software you might even want set up your very own jabber server in your basement like me.
OTR has a pretty good encryption(AES, which is considered good enough for classified data by the US Intelligence Service National Security Agency(NSA), for more information, visit http://en.wikipedia.org/wiki/Advanced_Encryption_Standard). The big advantage is the encryption from end to end, so unless the attacker is in control over your computer, no ones gonna see what you're writing. Plus, it's plausible deniable, which means no one, not even your chat buddy, has any digital evidence you have ever said a word, see Plausible Deniability at wikipedia
Jabber, or rather the protocol XMPP is used by various big companies such as Google(google talk) or facebook(facebook chat). You just hardly ever get to know what's behind a system.
IPv6 Privacy extensions Ubuntu 10.04
If not already happened, add the following to /etc/udev/rules.d/70-persistent-net.rules:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*",
RUN+="sysctl net.ipv6.conf.%k.use_tempaddr=2"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*",
RUN+="sysctl net.ipv6.conf.%k.use_tempaddr=2"
Usually this happens when installing miredo or similar IPv6 tunneling software, but you might want to double-check it. Also, check if the eth* and wlan* fit your ethernet/wifi devices.
btw, unfortunately Android and I-Phone Devices don't have this, which causes quite a bit privacy concerns, see heise.de on IPv6 on Smartphones for more information (German)
iodine – free wifi hotspots mit IPv4 ueber DNS und Dockstar
Vorweg: Diese Anleitung dient nur zur Lehrzwecken, ich bin nicht dafür verantwortlich, wenn damit, sei es legal oder illegal Sicherheitssperren umgangen werden!
Jeder kennt das Problem, das man am Gate am Flughafen sitzt oder im ICE und es gibt einen W-LAN Hotspot, nur leider muss man dafür zahlen...In Australien gab es an jeder Ecke Paid HotSpots(häufig Global Gossip), zu horrenden Preisen und mit einer unverschämt langsamen Verbindung.
Nun hab ich grade über einen Bekannten eine theoretische Lösung für solche bzw. die meisten solcher unangenehmen Anbieter gefunden: iodine
Dieses kleine Programm sendet alle Pakete über Port 53, also DNS, welches die meisten Firewalls durchlassen, testen kann man das mit folgendem Befehl:
$ ping repat.de
PING repat.de (212.12.54.159) 56(84) bytes of data.
Wenn sich also der Name in eine IP-Adresse auflöst, dann sollte das hier prinzipiell möglich sein.
Eine kleine Anleitung, da ich hier nicht alles aufschreiben kann, was gemacht wurde: Als allererstes muss DNS richtig konfiguriert werden für die Domain, dazu brauch man vollen Zugriff. Es ist mit einer dyndns Adresse unseres Wissens nicht möglich, s. dazu das README .
Dann kann man auf der Dockstar, einem kleinen Homeserver, oder auch auf jedem beliegen Server, auf den man Root-Zugriff hat, den iodine-server starten :
iodined -P password 192.168.3.123 meine.dyndns.tld
Auf dem Client jetzt die /etc/default/iodine anpassen:
# Default settings for iodine. This file is sourced from # /etc/init.d/iodined START_IODINED="false" IODINED_ARGS="192.168.3 tunnel.domain.tld" IODINED_PASSWORD="Passwd"
Falls man die Dockstar benutzt, muss man nur noch Port 53 auf die Dockstar IP im Router forwarden und den Client starten:
sudo iodine -f tunnel.domain.tld
tunnel.domain.tld ist die subdomain, die der Bekannte für mich eingerichtet habt für meine dyndns Adresse.
Voila, free Internet überall:)
//update
Geschwindigkeitsoptimierer:
- Bilder ausstellen
- Einen User-Agent von mobilen Geräten/Smartphones benutzen(z.B. mit User Agent Switcher als Firefox-Plugin)
- Opera Turbo aktivieren beim Opera Browser(Website wird von Opera Servern angefragt, komprimiert, dir zugesendet und dort wieder entpackt, also quasi ein Proxy)
- lynx als textbasierten Browser
Cool things to do with ssh and Linux
Ich habe mich in den letzten paar Tagen mal mit SSH auseinandergesetzt und folgende "Projekte" sind entstanden:
1. Webcamübertragung
2. VNC, also Remote Desktop Steuerung
3. Steuerung von mp3playern/Musik generell
---
1. Wie schon im anderen Artikel beschrieben, nutzt man hier das /dev/videoX - Device, welches - im Normalfall - eine Webcam enthalten sollte. Drauf achten, dass es nicht z.B. TV-Karte ist. Einige Tips zum Einrichten der Webcam gibt es hier
Um nicht potentiell seinen Webcam Stream anderen zugänglich zu machen, kann man also einen SSH Tunnel nutzen. Dazu muss zum WebcamPC mit einem Client mit folgendem Befehl ein Tunnel erstellt werden:
ssh -L 9091:localhost:9091 user@host
Natürlich kann man hier jeden beliebigen Port nehmen. Wenn man schonmal über SSH verbunden ist, kann man hier auch gleich den VLC Stream starten:
vlc v4l2:// :v4l2-dev=/dev/video0 :v4l2-adev=/dev/dsp :v4l2-standard=0 :sout="#transcode{vcodec=mp4v,vb=640,scale=0.9,acodec=mpga,ab=128, channels=2}:duplicate{dst=std{access=http,mux=ts,dst=localhost:9091}}"
Dieser ganze Kram gibt einen VCL Stream mit dem V4L2Framework aus und zwar mit der Ausflösung 640 und einer grösse von 0.9. Guckt euch die VLC Seite zu Streaming an:
Jetzt braucht man nur noch einen geeigneten Client um das alles anzugucken...wie wärs mit VLC? Also:
vlc http://localhost:9091
Fertig ist der Stream:) Das hab ich mir natürlich nicht komplett alleine zusammengebastelt also danke an Ben von MoBlog.
Wenn es hier Probleme mit der Webcam gibt, guckt doch einfach mal einen Beitrag tiefer
2. Ok, selbes Spiel hier, nehmen wir mal den Port 5900 für VNC, also Tunnel erstellen:
ssh -L 5900:localhost:5900 user@host
Selbes Spiel, jetzt sind wir schonmal da, starten wir doch x0vncserver(evtl über -PasswordFile ein Passwort angeben, lässt sich mit vncserver anlegen). Dann nur noch mit einem VNC Client auf localhost:0 connecten und das wars schon. Alternativ kann man natürlich auch :1 oder :2 connecten, jenachdem welchen Server man startet, dazu gibt es eine gute Seite aus dem Ubuntu Wiki: http://wiki.ubuntuusers.de/VNC
3. Ok, dieser Teil hat etwas länger gedauert. Ich wollte also über SSH, z.B. über ein Android/Iphone-Handy oder über einen anderen Rechner einen vollwertigen MP3/OGG-Player haben. VLC geht natürlich wieder über eine Standard SSH Verbindung:
ssh user@host vlc -I ncurses
Irgendwie war ich damit aber nicht so zufrieden, also hab ich mal weiter gegoogelt und habe mp3blaster und orpheus gefunden. Beide eigentlich ganz zufriedenstellend, nur ist bei mp3blaster die Funktion "Select Files" auf F1 gelegt und das ruft im gnome-terminal nunmal die Hilfe aus-.- Das lässt sich bestimmt umstellen, aber mit orpheus war ich eigentlich ganz zufrieden, also hab ich den genommen.
Alternative: audacious2 mit audtty, da gibt es nur ein kleines Problem mit d-bus. Man muss dann ein kleines Script ausführen und wenn ich über WOL den Rechner anmache, muss ich - soweit ich das verstanden habe - am eigentlichen Rechner sitzen, und das ist nunmal nicht der Fall und nervt. Ausserdem hat es bei mir nur einmal funktioniert. Klar, hier geht auch mplayer/mpd etc.
Vista Passwort umgehen
Um einer Freundin zu helfen, die ihr Passwort vergessen hat, hab ich ein bisschen recherchiert und folgende Methode herausgefunden. Weiss nicht, ob schonmal jemand drauf gekommen ist und/oder es veröffentlicht wurde, aber das hat bei mir auf jeden Fall funktioniert:
Nach dem wir natürlich nicht versucht haben mit ophcrack (mein Blog-Eintrag) das Passwort einfach zu mit Rainbow Tables zu cracken, weil das illegal ist....und wir ja auch keinen Rapidshare Premium Account(oder andere Quellen für Rainbow Tables) hätten um entsprechende Tables runterzuladen, weil das Passwort nicht im Wörterbuch stand, hab ich mir mit der "Offline NT Password and Registry Editor"-CD das System etwas angeguckt. Dabei sind mir 3 Accounts aufgefallen. Der User Account, der Gast Account(deakt.) und der Admin Account(deakt.). Aufgrund wichtiger Daten schied eine Systemwiederherstellung und eine Datensicherung über eine Linux Live-CD aus, weil wir nicht sicher sein konnten, alle Daten sichern zu können.
Beim ganz normalen Starten hab ich dann F8 gedrückt um in das altbekannte Menü zu kommen, in dem man einstellen kann, wie man Windows nun starten möchte(Abgesicherter Modus etc, btw, das hätte vll auch klappen können?)
Auf jeden Fall hab ich Abgesicherter Modus mit Eingabeaufforderung gewählt und dann folgendes in die Shell eingegeben:
net user Administrator /active
Damit hab ich den Administrator Account aktiviert. Der ist nämlich standardmässig aus Sicherheitsgründen deaktiviert
... Zumindest bei Home Premium haben Rechner, auf denen Vista schon vom Hersteller installiert ist, kein Admin Passwort vergeben. Jetzt brauchte ich nur noch mich normal anmelden und dann auf Administator klicken um darüber das Passwort für den anderen Account zurückzusetzen.
Dann natürlich nicht vergessen, den Admin Account wieder zu deaktivieren
net user Administrator /active:no
Aircrack Dokumentation auf deutsch
Ich hab vor 3 Jahren oder so mal angefangen, die aircrack-Dokumentation zu übersetzen, bin aber nie fertig geworden. Hab den Rest mal eben übersetzt. Hab's immer in Etappen gemacht. Dementsprechent schlecht sind natürlich einige Passagen, da ich 2006 auch ehrlich gesagt noch nicht viel Ahnung von W-LAN, geschweige denn von WEP oder Verschlüsselungen allgemein hatte. Mein Englisch war natürlich auch schlechter.Man sollte auch beachten, dass die Informationen natürlich nicht mehr aktuell sind. Vielleicht bringt es aber doch noch dem einen oder anderen etwas.
Hier der Link:
http://repat.re.ohost.de/aircrack.html
Die originale und aktuelle Dokumentation findet man hier:
http://www.aircrack-ng.org/doku.php#documentation
Wie ich grad gemerkt hab, bin ich da sogar verlinkt oO:)
Meines Wissens fällt aircrack unter der Hackerparagraphen, wenn du also aus Deutschland kommst, ist es wohl illegal, das Programm runterzuladen und/oder zu benutzen.
Partitionen mit cryptsetup und luks verschlüsseln
Ich hab irgendwo in den Untiefen meiner Schränke noch ne alte 20GB-Festplatte gefunden und sie prompt in meinen Server eingebaut. Da ich die Möglichkeit die Festplatte zu verschlüsseln schon bei der Installation von Debian genutzt hatte, wollte ich diese nun auch verschlüsseln. Im Grunde ist das ne ziemlich simple Sache:
# apt-get install cryptsetup
Die Daten müssen eh gelöscht werden, wenn man die ganze Partition verschlüsselt. Die neu eingebaute Festplatte heisst lustigerweise hdd
Erstmal die restlichen Daten mit nonsense überschreiben:
#dd if=/dev/urandom of=/dev/hdd
Jetzt kommt cryptosetup zum Einsatz(luks ist bei dem cryptsetup-debian Paket schon dabei,sonst noch cryptsetup-luks installieren):
#cryptsetup luksFormat -y -c aes-cbc-essiv:sha256 /dev/hdd
Statt aes-cbc-essiv:sha256 kann man z.B. auch aes-xts-plain -s 512 oder twofish-cb-essiv:sha256 benutzen. Auf das grosse F beim luksFormat achten(!)
Jetzt kann die Partition geöffnet werden:
#cryptsetup luksOpen /dev/hdd hurz
Dabei ist hurz der Name, den man der Partition geben möchte. Diesen findet man dann auch in /dev/mapper wieder.
Nun muss die Platte mit einem Dateisystem ausgestattet werden. In diesem Fall ext3
#mke2fs -j /dev/mapper/hurz
Das wars eigentlich auch schon. Jetzt noch mounten:
#mount -t ext3 /dev/mapper/hurz /media/crypted2ndhdd
Wie man das alles über den Autostart öffnet, kommt später. Immer wenn man die Partition braucht einfach folgendes eingeben:
#cryptsetup luksOpen /dev/hdd hurz
Passwort
#mount -t ext3 /dev/mapper/hurz /media/crypted2ndhdd
Immer wenn man die Partition nicht mehr braucht, natürlich unmounten
# umount /media/crypted2ndhdd
Und wieder verschlüsseln:
# cryptsetup luksClose hurz
Weiterführende Links:
Artikel im Gentoo-Wiki
Artikel im Chaos-Wiki





