PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Hacker - oder was macht dieses Script?



Seiten : [1] 2

Slurm
10.06.03, 15:32
Hallo an Alle!

Auf unserem Server fand ich heute das Script im Anhang. Es war als cronjob eingetragen und lief wohl schon 2 Tage :( .

Abgesehen davon, dass viele Prozesse durch dieses Script gestartet wurden, die sich nicht selber beendeten, was macht dieses Script?

Und wie konnte es auf den Server kommen?

Und was kann man machen, damit das in Zukunft nicht mehr passiert?

Nur zur Info:
Auf dem Server läuft Suse 8.0, das erst vor 2 Wochen vom Provider aufgesetzt wurde. Die Firewall ist eingerichtet und lässt nur die relevanten Ports (20, 21, 22, 25, 80, 110,...) durch.
An Diensten läuft: Apache 1.3.23, Sendmail 8.12.3, Pure-FTP 1.0.12 und Webmin 1.090 (nicht auf Port 10000).

hiTCH-HiKER
10.06.03, 15:34
Ich glaub ich pack meinen Amiga 4000 wieder aus, unter Linux gibts einfach zu viele Hacker ;)

derRichard
10.06.03, 15:43
Original geschrieben von Slurm
Hallo an Alle!

Auf unserem Server fand ich heute das Script im Anhang. Es war als cronjob eingetragen und lief wohl schon 2 Tage :( .

Abgesehen davon, dass viele Prozesse durch dieses Script gestartet wurden, die sich nicht selber beendeten, was macht dieses Script?

Und wie konnte es auf den Server kommen?

Und was kann man machen, damit das in Zukunft nicht mehr passiert?

Nur zur Info:
Auf dem Server läuft Suse 8.0, das erst vor 2 Wochen vom Provider aufgesetzt wurde. Die Firewall ist eingerichtet und lässt nur die relevanten Ports (20, 21, 22, 25, 80, 110,...) durch.
An Diensten läuft: Apache 1.3.23, Sendmail 8.12.3, Pure-FTP 1.0.12 und Webmin 1.090 (nicht auf Port 10000).
hallo!

hast du auch alle sicherheitsupdates eigespielt?
der apache 1.3.23 hat eine "nette" sicherheitslücke.

//richard

Slurm
10.06.03, 15:44
Nochwas, was vielleicht wichtig ist:

Das Script war im /tmp Ordner und lief als wwwrun.

derRichard
10.06.03, 15:45
Original geschrieben von Slurm
Nochwas, was vielleicht wichtig ist:

Das Script war im /tmp Ordner und lief als wwwrun.
hallo!

dann kann kannst dir sicher sein, dass man dich über den apachen gecrackt hat.

//richard

Slurm
10.06.03, 16:00
Danke für den Hinweis!

Ich hab zwar laut yast das letzte Update vor 5 Tagen gemacht, aber bei einem erneuten Update gerade eben war auch ein Apache Paket dabei.

Es war allerdings nicht mit einem X markiert, wie sonst alle Pakete, die meine Installation betreffen. Ich habs jetzt aber trotzdem installiert und hoffe, dass ich damit die Sicherheitslücke geschlossen habe.

hiTCH-HiKER
10.06.03, 16:04
Schätze mal du wirst den Server neu aufsetzen müssen wenn das eine Sicherheitslücke ist die dem Angreifer uneingeschränkten Zugriff auf dein System ermöglicht.

derRichard
10.06.03, 16:04
Original geschrieben von Slurm
Danke für den Hinweis!

Ich hab zwar laut yast das letzte Update vor 5 Tagen gemacht, aber bei einem erneuten Update gerade eben war auch ein Apache Paket dabei.

Es war allerdings nicht mit einem X markiert, wie sonst alle Pakete, die meine Installation betreffen. Ich habs jetzt aber trotzdem installiert und hoffe, dass ich damit die Sicherheitslücke geschlossen habe.
hallo!

ich kenne mich bei suse's sicherheitsupdates nicht gut aus, aber frag mal bei suse bzw. deinem provider nach.
achja, mach die maschine soft platt und setze sie neu auf!

//richard

Slurm
10.06.03, 16:08
Ich weiss leider nicht, was alles über die Sicherheitslücke im Apache möglich ist, wenn ich mir aber nicht sicher sein kann, dass nicht noch weitere Scripts laufen oder etwas geändert wurde, werde ich wohl meinen Provider bitten müssen, den Server neu aufzusetzen.

pibi
10.06.03, 16:09
Alle Antworten bis jetzt sind ja gut und schoen, aber eigentlich nicht viel mehr als Stammtisch-Parolen. Nun mal Butter bei die Fische: WAS GENAU macht dieses Script? Perl sagt mir naemlich (noch) so gut wie gar nix. Leider :-(

Gruss Pit.

derRichard
10.06.03, 16:11
Original geschrieben von Slurm
Ich weiss leider nicht, was alles über die Sicherheitslücke im Apache möglich ist, wenn ich mir aber nicht sicher sein kann, dass nicht noch weitere Scripts laufen oder etwas geändert wurde, werde ich wohl meinen Provider bitten müssen, den Server neu aufzusetzen.
hallo!

schau dir das mal an:
http://www.suse.de/de/security/2002_22_apache.html

//richard

taylor
10.06.03, 16:12
Original geschrieben von pibi
Nun mal Butter bei die Fische: WAS GENAU macht dieses Script?
Ist das denn überhaupt relevant?

Die Maschine wurde gehackt, also muss man sie neu aufsetzen. Was dieses Skript tut, ist ja egal. Die schlichte Existenz ist Problem genug. :)

Gruß,
Taylor

(ich hab mir das Script nicht angesehen)

hiTCH-HiKER
10.06.03, 16:13
Wenn er vor 5 Tagen ein Update gemacht hat, dann kann es wohl kaum diese Sicherheitslücke sein.

derRichard
10.06.03, 16:13
Original geschrieben von pibi
Alle Antworten bis jetzt sind ja gut und schoen, aber eigentlich nicht viel mehr als Stammtisch-Parolen. Nun mal Butter bei die Fische: WAS GENAU macht dieses Script? Perl sagt mir naemlich (noch) so gut wie gar nix. Leider :-(

Gruss Pit.
hallo!

es sieht so aus alsob das skript auf einem zufälligen port (tcp und udp) hört und da dann befehle entgegen nimmt und die dann ausführt.

aber mein perl-wissen ist auch nicht so gut, dass ich dafür meine hand ins feuer legen würde :D

//richard

Slurm
10.06.03, 16:16
Also die Sicherheitslücke ist es wohl bestimmt nicht. Meine volle Apache Version lautet 1.3.23-142 und die Updates habe ich schon gemacht. Deshalb war wohl auch der letzte Patch, den ich heute installiert habe nur "recomended" und nicht "security".

Ums Neuaufsetzen werd ich also sicher nicht umhinkommen. :mad:

hiTCH-HiKER
10.06.03, 16:19
Nimm dann gleich SuSE8.2, das kannst du über FTP kostenlos installieren...

Slurm
10.06.03, 16:43
Das Neuaufsetzen ist zum Glück Aufgabe des Providers!

Aber ich werde ihn schon bitten gleich Suse 8.2 aufzusetzen. Lieber wäre mir allerdings Debian, aber das will der Provider nicht aufsetzen (dafür ist kein Image da, kein Techniker kennt sich damit aus, da gibts keinen Support, ...).

pibi
10.06.03, 16:49
Original geschrieben von taylor
Ist das denn überhaupt relevant?Ja, das finde ich eigentlich schon. Je nach Angriffsart (wenn es denn ueberhaupt eine externe Attacke war) kann man daraus Schluesse fuer sein weiteres Verhalten ziehen. Warum ist mein System angreifbar geworden? Wo habe ich mir den Eindringling geholt? Wie kann ich es das naechste Mal besser machen? Firewall optimieren? Rechte anders vergeben etc. Aber all das kann ich nur beantworten, wenn ich weiss, welche Luecke bei mir ausgenutzt wurde/wird.
Die Maschine wurde gehackt, also muss man sie neu aufsetzen.Ja, das ist die Radikalkur. Kommt mir fast vor wie bei Windows: "..dann musst Du halt neu installieren...". Vielfach wuerden aber auch weitaus weniger brutale Methoden ausreichen, um sein System wieder hinzubiegen. Aber auch das bedeutet, dass man sein System kennen und damit sich damit intensiv beschaeftigen muss.

All das scheint auch bei Linux nicht mehr allzuhoch im Trend zu liegen. Ist eigentlich schade.

Gruss Pit.

PS: Nein, ich bin weder Hacker noch sonstwie drauf aus, besagtes Script missbraeuchlich zu verwenden. Ich bin will einfach verstehen, WARUM etwas geschieht. WIE etwas funktioniert. WO ich eingreifen muss usw. Und da mir leider die Perl-Syntax relativ fremd ist (man kann ja schliesslich nicht alles wissen), wuerde ich mich freuen, wenn ein paar Perl-Experten hier eine etwas detailliertere Antwort als "musst Du halt neu aufsetzen" geben koennten.

majobu
10.06.03, 16:50
BTW:
Wenn du eh neu installierst, dann backst du dir deinen Apache am besten selber. So kannst du schneller Fixes einspielen und musst nicht warten bis SuSE sich bequemt das Update auf den Server zu legen.

Und dann ist da natürlich noch der Lerneffekt wenn du selber kompilierst :D Oder du beschäftigst dich mit dem System, machst die Änderungen des Scripts rückgängig und baust den Apache dann selber.

ciao,
majobu

taylor
10.06.03, 16:54
Original geschrieben von pibi
Ja, das finde ich eigentlich schon. Je nach Angriffsart (wenn es denn ueberhaupt eine externe Attacke war) kann man daraus Schluesse fuer sein weiteres Verhalten ziehen. Warum ist mein System angreifbar geworden? Wo habe ich mir den Eindringling geholt?

Diese Frage ist natürlich interessant, aber der Inhalt dieses Scripts wird Dir dabei wohl nicht helfen.
Da wird kaum "Lücke #13151 in Apache genutzt" drinstehen.

Diese Antwort muss man woanders suchen.

Spike05
10.06.03, 16:55
Ist ja wohl kein Problem ein Debian Minimalsystem zu installieren! Den Rest kannst du ja selbst mit apt-get erledigen! Würde auf jeden Fall noch mal mit deinem Hoster Kontakt aufnehmen! Die Sicherheitsupdates kommen wesentlich schneller als bei SuSE oder anderen...

cu

Jochen

majobu
10.06.03, 17:00
Ich hab gerade nochmal ins Script geguckt... ich kann zwar nicht sooooo viel mit Perl anfangen, aber bist du sicher das du da nicht irgendein überbleibsel gefunden hast das irgendeinen dynamischen DNS mit deiner IP versorgt? für mich sieht das nämlich in der Sub ddns fast so aus:



sub ddns
{
my $host = shift;
my $time = shift;
$sock = new IO::Socket::INET->new(Proto => 'udp', PeerAddr => $host,
PeerPort => 53) or exit;
$sock->autoflush(1);
$SIG{ALRM} = sub { exit };
alarm 15 unless(alarm $time);
while(1) {
my $s = int(rand(89)+10);
my $r1 = int(rand(89)+10);
my $r2 = int(rand(89)+10);
my $r3 = int(rand(89)+10);
my $r4 = int(rand(89)+10);
send($sock,"$s\x01\x00\x00x\01\x00\x00\x00\x00\x00\x00\x02$r1\ x02$r2\x02$r3\x02$r4\x07in-addr\x04arpa\x00\x00\x0c\x00\x01",0);
}}


Vielleicht liege ich damit auch total daneben.... ist nur eine Vermitung, denn so wie das Script heist liegt das nahe (nscd = Name Service Caching Daemon)

ciao,
Majobu

Slurm
10.06.03, 17:35
@majobu: Das Script ist erst seit 2 Tagen auf dem Server, der Eintrag im crontab ebenfalls. Ich hoffe ja nicht, dass mein System eigenmächtig Scripts installiert und startet.

@pibi: Ich stimme dir voll und ganz zu, ich bin absolut kein Freund von Holzhammermethoden, und mir wäre eine andere Lösung auch lieber, aber solange ich nicht genau weiß, was überhaupt passiert ist, fühle ich mich nicht mehr sicher.

Der Server muss leider rund um die Uhr laufen und auch aus diesem Grund hätte ich gerne eine Lösung, die nicht mehrere Stunden offline bedeutet. Vielleicht hast du Tipps, wie ich das Ganze angehen soll, Ursachen herausfinden, Lösungen suchen, Probleme beheben.

@Spike05: Ich weiß, dass Debian schnell aufgesetzt ist, aber das Problem ist, dass der Server ca. 200 km entfernt steht und wenn er nach einem Neustart nicht hochfährt oder Probleme beim Raid Einbinden das System crashen lassen, wärs mir doch lieber, wenn der Provider diese Arbeiten übernimmt, da ja der Server auch fast immer erreichbar sein soll. Ich kann mich da nicht auf Experimente einlassen.

Jinto
10.06.03, 20:42
Original geschrieben von pibi
Ja, das finde ich eigentlich schon. Je nach Angriffsart (wenn es denn ueberhaupt eine externe Attacke war) kann man daraus Schluesse fuer sein weiteres Verhalten ziehen. Warum ist mein System angreifbar geworden?
Die Frage nach dem Warum ist nicht mit Hilfe des neu installierten Scripts zu bentworten.

Wo habe ich mir den Eindringling geholt? Wie kann ich es das naechste Mal besser machen? Firewall optimieren? Rechte anders vergeben etc. Aber all das kann ich nur beantworten, wenn ich weiss, welche Luecke bei mir ausgenutzt wurde/wird.
Das kannst du aber nciht anhand des neu installierten Scripts erkennen.

Ja, das ist die Radikalkur. Kommt mir fast vor wie bei Windows: "..dann musst Du halt neu installieren...". Vielfach wuerden aber auch weitaus weniger brutale Methoden ausreichen, um sein System wieder hinzubiegen.Du meinst, dann ist es vielleicht nur noch ein bischen kompromitiert, oder?
PS: Dein Vergleich hinkt.

All das scheint auch bei Linux nicht mehr allzuhoch im Trend zu liegen. Ist eigentlich schade.Da der Denkansatz schon falsch war, ist es das Resultat auch.


Und da mir leider die Perl-Syntax relativ fremd ist (man kann ja schliesslich nicht alles wissen), wuerde ich mich freuen, wenn ein paar Perl-Experten hier eine etwas detailliertere Antwort als "musst Du halt neu aufsetzen" geben koennten. Du solltest versuchen Ursache und Wirkung zu finden, vielleicht wirst du dann die bereits getroffenen Antworten anders interpretieren.

cane
10.06.03, 20:50
wie sieht´s denn in den gängigen logs aus?
keine besonderen vorkommnisse?

Stormbringer
10.06.03, 20:54
Hi,

wenn Du eh neu installierst (was anzuraten ist), denke auch gleich bspw. über tripwire o. ä. nach.

Gruß

Schwarzer'Engel
10.06.03, 22:02
Hallo,

mich würde mal interessieren warum man das System gleich neu aufsetzen muss wenn man gehackt wurde. Das ist doch ne ziemlich radikale Maßnahme. Kann man den Angreifen (durch ne Firewall) nicht einfach aussperren?
Ich dachte eigentlich, die Systemsicherheit unter Linux wäre höher als unter Windows bzw. wenn man unter Linux gehackt wurde wäre es einfacher die Lücke zu schließen ohne das ganze System neu aufzusetzen, was man wahrscheinlich bei nem Windows Server tun sollte.

Gruss
Chris

derRichard
10.06.03, 22:06
Original geschrieben von Schwarzer'Engel
Hallo,

mich würde mal interessieren warum man das System gleich neu aufsetzen muss wenn man gehackt wurde. Das ist doch ne ziemlich radikale Maßnahme. Kann man den Angreifen (durch ne Firewall) nicht einfach aussperren?
Ich dachte eigentlich, die Systemsicherheit unter Linux wäre höher als unter Windows bzw. wenn man unter Linux gehackt wurde wäre es einfacher die Lücke zu schließen ohne das ganze System neu aufzusetzen, was man wahrscheinlich bei nem Windows Server tun sollte.

Gruss
Chris
hallo!

wie willst du dir bei einem gecrackten system 100% sicher sein, dass nicht noch irgendwo ein rootkit versteckt ist?

//richard

hiTCH-HiKER
10.06.03, 22:07
Original geschrieben von Schwarzer'Engel
Hallo,

mich würde mal interessieren warum man das System gleich neu aufsetzen muss wenn man gehackt wurde. Das ist doch ne ziemlich radikale Maßnahme. Kann man den Angreifen (durch ne Firewall) nicht einfach aussperren?


Wenn der Angreifer root-Zugang hatte (und davon ist in dem Fall auszugehen), dann kann er quasi alles verändert haben und das ist in einem normalen Linux-System kaum nachvollziehbar. Also muß man wohl oder übel das System neu einrichten um evtl. noch versteckte Skripte auszuschließen.

slack
10.06.03, 23:04
bin zwar kein perl kenner, habe es aber einfach mal in einer vm gestartet. es öffnet einen udp-port 1337 und so wie ich den rest des scriptes verstehe, reagiert es auf "ping" (antwort pong *g*) "die" "redir" "shell" "ddns" "udp" und führt die entsprechende sub aus, sofern pass stimmt.
ich würde darauf tippen, dass es eine backdoor des providers ist der das system aufgesetzt hat. müßte sich ja klären lassen.
ansonsten denke ich auch, dass derjenige rootzugang hatte, also würde ich erstmal klären wie das möglich war, bevor ich irgendetwas neu aufsetzen würde.