Cracking für Anfänger

token

token

Jungspund
Wo soll man da anfangen?
Ich habe mir mal die Zeit genommen /usr/ports/security näher zu inspizieren und von den dort feilgebotenen Programmen testhalber Gebrauch zu machen.
Aus Langeweile habe ich über Korea, China, Indien, Mexico, USA, Frankreich, etc... meinen Server hier in Deutschland kräftig mit authforce, nmap, amap, smtpscan, hydra und Konsorten bearbeitet.
Welches Tool ich benutzt habe um nicht selbst in den Logs der Firewall aufzutauchen, schreibe ich hier ganz bewusst nicht rein.
Endergebnis: Ein ziemlich genaues Profil der Software welche darauf läuft. Angefangen mit dem OS, WWW, smtp, IMAP/s, POP3/s, etc... einfach alles.

Daß es keine hundertprozentige Sicherheit gab war mir klar, aber daß es so einfach war 100% anonym und unerkannt TCP und UDP Scans mit der Kirche ums Dorf zu machen wusste ich nicht; hatte bisher ja auch garkeinen Grund sowas zu machen.

Ich wurde angewiesen ganz China sowie ein paar andere Länder komplett zu blocken da wir ohnehin keine "Clientel" in diesen Ländern haben.
Aber ich kann das schlecht mit meinem Gewissen vereinbaren ganze Länder wegen ein paar Idioten zu blocken.


Wie dem auch sei, wie handhabt ihr (erfolglose) Breakin-Attempts?
Macht Ihr Euch die Mühe überhaupt noch mails an ********** zu schicken?
 
Nunja, ich komm nicht so ganz mit *g. Du hast Server in China gehackt und von daaus versucht deine Box zu rooten, ja? Oder zumindest mal ein schönes Footprinting zu erstellen?

Wie dem auch sei. Wenn du mit nem Auto anner Ampel stehst und sich ne andere Karre mit dir nen Dragrace liefern möchte, bringt dir understatemant (im sinne von typ und hubraum entfall) ja auch nichts. Entweder du zersägst ihn, oder nicht *g.

Ok, isn doofes Beispiel. Aber: was ich sagen möchte ist, dass man zwar Versionsnummern fälschen kann, aber das nichts gegen einen echt Angriff hilft. Ein OS gibt seine Versionnummer ausserdem nicht einfach so zurück. Viel mehr wird es an bestimmten ip-packeten fest gemacht. In einer Datenbank (von nmap z.B.) steht dann drin wie ein Packet aussehen muss, damit es von Windows2000 kommt.

Und das soetwas auch bei FTP- und HTTP Server realisiert werden könnte brauch ich glaube nicht zu erwähnen. Da ist das wahrscheinlich zum grössten Teil nicht der Fall, aber ich glaube schon das man hier auch an einem Verbindungs auf und abbau erkennen kann ob es sich um ProFTP 1 oder ProFTP 6 handelt.

Wie ich es Handhabe? Oder wie ich es gerne Handhaben würde, wenn ich mehr Zeit hätte :D? Also ich handhabe im Moment eigentlich ziemlich wenig. IPTables läuft zwar recht scharf, aber snort(-inline) und eine UML Umgebung habe ich trotzdem nicht installiert. Und genau das ist es, was ich gerne mit mehr Zeit nachholen würde.

Abuse schalte ich selten ein. Eigentlich nur immer dann, wenn son möchtegern H4x0r nen rootkit installiert hat, anstatt mir eben ne freundliche E-Mail zu schreiben das ich eine Sicherheitslücke haben ;). Und ja! Das ist mir schon mehrmals passiert. Allerdings nur bei Servern die neu waren und ich quasie zur Administration übernommen habe. Meine Server liefen bis jetzt (bis auf einen heftigen zwischenfall) sehr zufriedenstellend. Bei scanns und versuchten (aber vergeblichen) einbrüchen mach ich mir nicht die mühe mit abuse.

Havoc][
 
Was ist schon dabei, wenn einer dich scannt? Wenn einer dich mal gescannt hat, isses ja eh schon passiert. Also entweder verhinderst dus, oder ignorierst es einfach.

Das Scannen zu loggen wär ja sicherheitstechnisch bedenklicher als es einfach zu ignorieren.

Ich hab 1 mal auf einen Scan reagiert vor 4-5 Jahren und dem Admin dieses deutschen Wohnheimes angerufen. Naja, gemacht hat er nix, meine Mühe war umsonst.
 
Vorneweg: Ich habe keine Rechner in China gecrackt, sondern nur fehlkonfigurierte HTTPd's missbraucht welche CONNECT unterstützen. Ausser Traffic im Prinzip Nichts gewesen.

Aber genau das ist der Punkt der mich so massiv stört. Durch fehlkonfigurierte Rechner die irgendwo in Timbuktu stehen, kann jede Art von TCP-Traffic (fehlkonfigurierte HTTPd's) und UDP-Traffic (fehlkonfigurierte SOCKS') abgewickelt werden.

Man kann solche Fehlkonfigurationen dann noch in eine beliebig lange Kette schalten um letztenendes garnichtmehr zurückverfolgt werden zu können. Ich schätze das dauert ne Weile die Verantwortlichen der betroffenen Rechner aufzutreiben und zur Kooperation zu bewegen.

Alleine durch den PHPbb 2.0.10 Exploit habe ich einen Server regelrecht verwurmt vorgefunden nach vielleicht... 10 Stunden nach Bekanntwerden des Exploits. Von IRC Bots über Rootkits bis hin zu Warez war alles dabei.


Rootkits müssen auf dem System lauffähig sein, deshalb ist Recon so wichtig für den potentiellen Cracker; damit er weiß welches Paket er mitbringen muss um zu landen. Alleine deshalb stört es mich ständig gescannt zu werden.
Das schlimmste daran aber ist, daß ich trotz (FreeBSD) Hardenings es bisher nicht geschafft habe, nmap, amap und Konsorten davon zu überzeugen daß ein anderes OS darauf läuft.

Mittlerweile bin ich am überlegen ob ich nicht eine zweite IP-Adresse bei meinem Hoster beantrage und alles in einem Jail laufen zu lassen mit ein paar Honey Pot fake-services; um definitiv sämtliche Scanner zu verarschen bzw. ein akkurates Recon im Keim zu ersticken.
 
token schrieb:
[...] Das schlimmste daran aber ist, daß ich trotz (FreeBSD) Hardenings es bisher nicht geschafft habe, nmap, amap und Konsorten davon zu überzeugen daß ein anderes OS darauf läuft.
Ein anderes OS vorspielen? Würde es nicht schon reichen das nmap dein OS einfach nicht erkennt?
Vielleicht hilft da dieser Link[1], wo erklärt wird, welche Flags man mit pf filtern sollte, damit ein Fingerprinting erschwert wird.

[1] O'Reilly Hacks. Block OS Fingerprinting: http://hacks.oreilly.com/pub/h/1347
 
Is schon alles mit eingeflossen, leider.

Ich behaupte mal richtige Cracker kennen die flag --osscan_guess.

Nmap errät mit der Flag leider immernoch viel zu genau was da läuft. Sicherlich nicht die genaue Versionsnummer, aber immernoch FreeBSD 5.X :(

Sinnig wäre es einen Exoten wie beispielsweise ein Großrechner-OS vorzugaukeln.


Wie gesagt, es gefällt mir nicht daß Jemand anhand von ein paar "billigen" Scans weiß welches Werkzeug er mitnehmen muss.


(edit)
Code:
root@majorus (~) nmap -T 5 -O --osscan_guess -P0 ****.******.***

Starting nmap 3.78 ( http://www.insecure.org/nmap/ ) at 2005-05-07 15:32 CEST
Warning:  OS detection will be MUCH less reliable because we did not find at least 1 open and 1 closed TCP port
Interesting ports on ****.******.*** (***.***.***.***):
(The 1655 ports scanned but not shown below are in state: filtered)
PORT    STATE SERVICE
21/tcp  open  ftp
22/tcp  open  ssh
25/tcp  open  smtp
80/tcp  open  http
110/tcp open  pop3
143/tcp open  imap
443/tcp open  https
993/tcp open  imaps
995/tcp open  pop3s
Device type: general purpose
Running: IBM AIX 4.X
OS details: IBM AIX 4.3.2.0-4.3.3.0 on an IBM RS/*
Uptime 7.850 days (since Fri Apr 29 19:09:19 2005)

Nmap run completed -- 1 IP address (1 host up) scanned in 16.271 seconds

Das ist der aktuelle zwischenstand; nicht "FreeBSD" aber immernoch nicht exotisch genug :O
 
Zuletzt bearbeitet:
Phew, ist die Uptime real? ;o)

Ich dachte mal --osscan_guess == -O .. aber hab nmap schon lange nimmer gebraucht.

Ein Problem ist auch google. Hört sich blöd an, aber ist Fakt. Wenn eine Buggy Websoftware bekannt wird, sucht man nur nach einem String und findet überall im weiten Internet Installationen davon.

Es gab mal ein webbasiertes, in php geschriebenes "ping"-Webfrontend welches kein escaping machte. Man konnte also in das Feld statt nur der IP:
127.0.0.1; cat /etc/passwd
eintippen und der Befehl welchen php ausführte war:
ping 127.0.0.1; cat /etc/passwd
Durch diesen Exploit gelang es mir mal eine Maschine zu rooten da dieser noch eine webbasierte root-shell installiert hatte (so eine superdumme Idee) in dessen Datei das root-Passwort als Variable stand und natürlich für den Webserver-Benutzer lesbar sein musste.

Ich habe dies dem Betreiber gemeldet - Reaktion? - keine.

Gruss
Joel

BTW.
fortess:~# nmap -O localhost

Starting nmap V. 2.54BETA31 ( www.insecure.org/nmap/ )
Interesting ports on localhost (127.0.0.1):
(The 1546 ports scanned but not shown below are in state: closed)
Port State Service
...

Remote operating system guess: Linux Kernel 2.4.0 - 2.4.17 (X86)
Uptime 34.177 days (since Tue Apr 5 19:51:17 2005)

Nmap run completed -- 1 IP address (1 host up) scanned in 1 second
fortess:~# uname -a
Linux fortess 2.4.30 #1 Tue Apr 5 19:47:02 CEST 2005 i686 unknown
fortess:~# uptime
00:06:47 up 34 days, 4:15, 1 user, load average: 0.00, 0.01, 0.00

Fazit: Uptime korrekt, Kernelversion wahrscheinlich zu neu bzw. nmap Version von Debian stable zu alt.
 
Zuletzt bearbeitet:
Irgendwie verstehe ich die Seite nicht, von der Ihr den Gaul da aufzäumt. Token, wenn Du FreeBSD hat und mit deinem Fingerprint Script-Kiddies abschrecken willst, warum nimmst Du nicht einfach OpenBSD? Da brauchst du dich nicht zu verbiegen, die Wirkung ist sicher genausgut wie bei einem Fake - wer plagt sich schon damit herum einen Kugelfisch zu überlisten, wenn genügend sperrangelweit offene Fenster in Sicht sind? - und Dein OS *ist* tatsächlich so sicher, wie es aussieht.
Wenn es dir natürlich darum geht, ein "Geheimbetriebssystem" zu haben, das niemand erkennen kann, dann wird dir IMHO nichts anderes übrig bleiben, als wirklich jedes Paket per NAT neu zu generieren und die Filter erst dahinter zu setzen - womit du noch eine Kiste mehr zu sichern hättest. Klingt nicht nach einem sehr durchdachten Sicherheitskonzept ;)
Irgendwie erinnert mich der ganze Ansatz -Verzeihung, ich bin alt und böse- an den "Shields-Up" Menschen -$NAME_VERGESSEN nicht schade drum- auf jeden Fall war dessen "Stealth"-Firewall-Linie auch ziemliche Scharlatanerei.
Security by Obscurity? Ich bin, glaube ich mal, nicht der einzige, der dringend davon abraten würde, darauf zu setzen...
 
token schrieb:
Das schlimmste daran aber ist, daß ich trotz (FreeBSD) Hardenings es bisher nicht geschafft habe, nmap, amap und Konsorten davon zu überzeugen daß ein anderes OS darauf läuft.

Security by Obscurity sollte immer die letzte Lösung sein. Halte alle Dienste schön auf dem neuesten Stand, subscribe dich bei bugtraq und schon sind Scriptkiddies nicht mehr so ohne weiteres in der Lage, den Server zu cracken, wenn auch "der Rest" stimmt. ;)
 
Security by Obscurity? Ich bin, glaube ich mal, nicht der einzige, der dringend davon abraten würde, darauf zu setzen...

es ging token ja nicht darum, sich darauf zu verlassen. und als "flankierende" maßname halte ich das für durchaus akzeptabel: natürlich währe es richtiger z.b. ssh auf 22 lauschen zu lassen - aber wenn mein sshd mit schöner regelmäßigkeit "angegangen" wird, dann lauscht er eben auf port 54532. damit fallen schonmal einfach alle weg, die nur mal eben root:admin eintippen wollen. klar, wer wirklich will scannt auch die oberen ports - aber wer will denn schon wirklich? das gesammte system zu "verschleiern" halte ich allerdings auch nicht für gut - besser wäre dann, z.b. einen openbsd-screener vor die gesamte infrastrucktur vorzusetzen - das ist zwar mit mehrarbeit verbunden, aber an dem kann dann das allermeiste schon mal abprallen.

mfg

bananenman
 
Ja defenitiv sollte OpenBSD eingesetzt werden. Desweiteren rate ich zu Snort, Portsentry, 16 Zeichen Passwörtern, Read-Only Filesystemen, Loginsperren von 10 Minuten nach Falschlogin, HTTPS, SSL Tunnel für alle Daemons, regelmäßigen Updates. Mehr fällt mir auf die schnelle nicht ein, aber Literatur über OpenBSD Sicherheit wäre bestimmt auch eine sinnvolle Investition.
 
Sir Auron schrieb:
Ja defenitiv sollte OpenBSD eingesetzt werden. Desweiteren rate ich zu Snort, Portsentry, 16 Zeichen Passwörtern, Read-Only Filesystemen, Loginsperren von 10 Minuten nach Falschlogin, HTTPS, SSL Tunnel für alle Daemons

Da stimme ich erstmal zu: Wenn Sicherheit das Thema ist, dann OpenBSD. Welche weiteren Massnahmen im Allgmeinen und erst recht im Speziellen, da werden sich auch schon wieder kaum zwei gleiche Meinungen finden. Bei den "10 Minuten Loginsperren" zB stehen mir die Haare zu berge. :devil:
Wenn's denn wirklich Fort Knox ist, was da gesichert werden soll, dann nimm halt TrustedBSD oder gar TrustedSolaris. Da sind die einzelnen Sicherheitsmassnahmen besser abgestimmt, als wenn man jeden Dienst einzeln <lang=deng_DEUS> "hardened" </lang>.
 
Ich war nach den Perftests von Linux und den 3 großen *BSDs ... geschockt; und habe mich für FreeBSD entschieden.

OpenBSD ist einfach zu ... langsam... irgendwie... hmm :o
 
Naja, Loginsperren haben div. Nachteile das stimmt schon. Je nach Umfeld das Login auf Maschinen durch gespoofte Packages ggf. dauer-gesperrt werden so, dass der Admin mit seiner üblichen WS nicht mehr darauf connecten kann.. wäre also eine Art DOS. Wiederrum wuerde es Passwortratler aussperren.

Mein Tipp: Zertifikate & Passwort. Das sollte auf jeden Fall genug sein und ist immer noch 10x besser gesichert, als die 08/15 Server die im Internet anzutreffen sind.
 
@tr0nix, nur schon ein gutes passwort ist eine bessere sicherheit als viele server haben ;)

die sicherheit gegenüber dem net hängt ja nicht nur vom Server sondern auch von der FIREWALL ab und desen config. was habt ihr so offen, beziehungsweise was muss man da beachten!?
 
Jo wobei ich hier mal das Stichwort Portknocking einwerfen möcht. An sich denk ich eine gute Idee find ich.
 
StyleWarZ schrieb:
@tr0nix, nur schon ein gutes passwort ist eine bessere sicherheit als viele server haben ;)

die sicherheit gegenüber dem net hängt ja nicht nur vom Server sondern auch von der FIREWALL ab und desen config. was habt ihr so offen, beziehungsweise was muss man da beachten!?
Das find ich jetzt ein wenig ne lasche Aussage ;o). Ich selbst bin nicht so ein Firewallfetischist. IMHO sollte ein sicheres System auch ohne Firewall auskommen können. Firewall ist mehr so der letzte Schliff. Die Services up2date halten ist IMHO viel wichtiger und zum Glück dank den Pkg-Mgmnt-Tools auch sehr einfach unter Linux.

Sehr interessant finde ich allerdings auch Proxy-Software mit Virenfilter sofern die Pattern ebenfalls möglichst automatisiert up2date gehalten werden können. Dies ist allerdings meistens eher ein Thema in grossen Netzwerken mit vielen Usern.
 
Ich weiss gar nicht, was ihr alle habt, einfach den Rechner vom Netz nehmen, und schon kann niemand mehr erkennen, welches OS läuft, oder alle Partitionen verschlüsseln und den Key wegschmeissen, das soll mal ein Script-Kiddie knacken... ;-)

Nee, mal ersthaft, was hast Du davon dein OS zu verschleiern? Mach lieber alles dicht und schalte nur die absolut minimalen Services an... was dann noch an Restrisiko bleibt, muss eben durch ständiges Monitoring abgesichert sein... und schwupps hast Du einen Job bis zur Rente! ;-)

Momentan versucht alle Welt auch mehr IDS/IPS an den Start zu kriegen, aber auch hier bleibt genug Restrisko. Man muss eben akzeptieren, daß immer ein letztes Prozent Gefahr besteht. Und mal ehrlich... Systeme mit kritischen Daten & Anwendungen müssen manchmal einfach am Besten vom Internet isoliert sein. Der Datenaustausch erfolgt dann nur über ganz restriktiv gebaute Bridgelösungen, die intensiv gemonitort werden. Physikalische Trennung vom Internet war bisher immer ein sehr bequemer Weg ein System deutlich besser abzusichern... :-)

Just my 2 euro-cents
 
LiWiz: es gilt immer, das Restrisiko zu minimieren und einen optimalen Zwischenweg von Sicherheit und Usability zu beschreiten. Fuer manche ist Passwortschutz schon muehsam - hier haben sich wohl alle damit "abgefunden". Ein USB-Stick bzw. einen anderen Datentraeger mit sich haben zu muessen damit man zuhause einloggen kann, ist die naechste Stufe. Es gilt genau diese Dinge zu diskutieren und dabei vielleicht sogar Alternativen zu finden.

Kritische Daten nicht ans Internet? Na, interne Attacken sind ja die haeufigsten bzw. am meisten erfolgsversprechenden.
 
@tr0nix, wie ist das mit dem USB-Stick gemeint? den key für ssh auf dem stick am schlusselbund haben odr was?
 
Zurück
Oben