summaryrefslogtreecommitdiff
path: root/blog/2003/Spontanes_Gehacke_II.md
blob: 63e8429855e16659fde964b01b91a80d39cd0cc7 (plain)
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
<!--
.. date: 2003/12/16 06:42
.. title: Spontanes Gehacke II
-->

Als am Sonntag Starbug sein neues Domizil in Wedding mit den Moebeln aus
seiner alten Wohnung bestueckt hat, gemeinhin auch als Umzug bekannt,
habe ich seinen Bruder, meinen alten Studienkollegen kstar,
wiedergetroffen. Ungewoehnlicher Mensch mit vielen Flausen und dutzenden
cooler Ideen im Kopf. Weil ich neulich ein kleines Problem mit shell
push hatte, habe ich ihm davon erzaehlt. Und keine 2 Tage spaeter faellt
mir ein tarball aus der mailbox, in dem mein kleines Problem fast fertig
implementiert daliegt.

Es ging im Groben darum, dass ich auf einem unixoiden Host hinter einer
Firewall (ohne Zugriff auf diese) jemandem kurz einen login auf dem
Rechner geben wollte. Das funktioniert aber nach den althergebrachten
Mustern von telnet, rlogin, ssh etc. nicht, dort ist es ueblich, dass der
_Server_ das pty alloziert und dem Client, nachdem er sich authentifiziert
hat, das tty weitergibt. Was ich brauchte ist, dass ein Server auf
Connections von einem Client wartet, der ihm dann ein pty gibt. Zugegeben,
kein alltaegliches Problem, aber es begegnete mir schon ein paar Mal.
Nachteil ist natuerlich, dass jemand an dem Rechner sitzen muss (aber
eigentlich kamman das auch aus ner while true; ... sleep 10; end Schleife
machen und bei Bedarf den Server starten) andererseits will man so eine
Shell ohne wirklich Authentifizierung (siehe unten) nicht ohne sein
Beisein vergeben. Die Loesung von kstar lief leider nicht sofort auf
FreeBSD, dort gibt es statt getpt() nur posix_openpt(O_RDWR) und man muss
getaddrinfo() im hints noch den ai_socktype auf SOCK_STREAM setzen. Zudem
gibt es grantpt, unlockpt und ptsname erst seit FreeBSD 5.0, aber jetzt
laeuft es. Es gibt sogar eine rudimentaere "Verschluesselung", die darin
besteht, dass man Client und Server den selben Sessionkey geben muss, mit
der der Stream ge-xor-t wird.

Nichts fuer Cryptoexperten, aber bis ich da ssl reingeschraubt habe,
reichts. Wer ein aehnliches Problem hat, kann ja mal selber [compilen](https://erdgeist.org/arts/software/Code/through-firewall.tgz).

Hach, ich liebe nerdige Blogeintraege. Dass die sich jetzt haeufen,
hat einen Grund: Andrea ist in Skiurlaub gefahren. Bleibt massig Zeit zum
Rumnerden, ohne, dass man zu Sozialstress ermahnt wird. Eigentlich bin ich
ja ein wenig neidisch. Ich will auch Skifahrn, aber es liegt grad viel zu
viel Arbeit rum und dann ist da noch dieses Fundamentalistenfest und
danach der [Congress](https://www.ccc.de/congress/2003/) des [Chaos Computer Clubs](https://www.ccc.de/), den ich mir dieses
Jahr vielleicht mal anschauen werde. Bis dahin habe ich noch eine feiste
TODO-Liste abzuarbeiten: morgen hat Opi Geburtstag, am Samstag zieht Cryx
um (aus einer 5. Etage in eine 4. Etage, der Spinner :), ich will den SMB
noch fertig hacken, meinen Telefonbuchsubstringindizierer und den Treiber
fuer die PCMCIA-Firewire-Karte zurechthacken, die leider nicht out of the
box funktioniert.
Und noch ein wenig selbstinduzierter Sozialstress
(...).