Ich werkelte einst für einen Kunden, der der Meinung war, daß Portscans nur was für Kriminelle seien. Trotzdem wollten wir aber zwecks Absicherung der Systeme wissen, welche Ports offen waren. Also ließen wir 1000 wilde Affen an einen Rechner (könnte zufälligerweise meiner gewesen sein), die rein zufällig die folgende Zeichenfolge einhackten:
perl -MIO::Socket::INET -e 'open I,"</etc/services";while(<I>){ (/^\s*($|#)/)&&next;($n,$p,@j)=split/\s+/;($p=~s/\/tcp//)||next; $s=IO::Socket::INET->new(PeerAddr=>$ARGV[0], PeerPort=>$p,Proto=>'tcp')? print"$n($p)-->Open\n":next}' <hostname>
Das haben die 1000 wilden Affen aber gut hingekriegt: Rein zufällig handelt es sich bei dieser Anhäufung zufälliger Tastendrücke um einen einfachen TCP-Portscanner in Form eines Perl-Einzeilers. Sich nur aus /etc/services zu bedienen, ist zwar zugegebenermaßen nicht sehr kreativ, aber immerhin sieht auf diese Weise die Ausgabe mit der Beschreibung zu jedem Port recht angenehm aus.
In der nächsten Ausbaustufe könnte man sich auch bei einer services-Datei von nmap bedienen. Aber wie könnte die bloß zufällig aufs System gekommen sein?
Leave a Reply