Hallo!
Post by Knut KruegerDann wäre eventuell auch möglich dass man ein Script schreibt, dass alle
möglichen URLs sucht (rudimentäre Suchmaschine) diese URLs aufruft und
so tut als ob man von den Seiten verwiesen wird.
Dann kommt der Eintrag auch in die Logfiles.
Genau.
Post by Knut KruegerWenn so etwas möglich wäre so würden solche Dinge doch großen Traffic
verursachen, da niemand vor irgendwelchen Browsern sitz und Tasten
drücken muss und auch wenn man davon ausgeht, dass ich nicht der einzige
bin der diese Dinge in den Logfiles hat.
Nein. Du könntest dir beispielsweise das Programm "wget" ansehen. Es
kennt die Option "--referer=<URL>" und die Option "--spider". Ich habe
es gerade mal lokal ausprobiert und habe folgende Daten erhalten:
| ***@hugh:~$ wget --spider http://localhost:1080 \
| --referer="http://wewewe.das-mehdorn.de/"
| --15:11:48-- http://localhost:1080/
| => `index.html'
| Resolving localhost... done.
| Connecting to localhost[127.0.0.1]:1080... connected.
| HTTP request sent, awaiting response...
(An der Stelle habe ich abgebrochen)
Am anderen Ende habe ich mit einer Netzkatze gelauscht:
| ***@hugh:~$ nc -lp 1080
| HEAD / HTTP/1.0
| User-Agent: Wget/1.8.1
| Host: localhost:1080
| Accept: */*
| Connection: Keep-Alive
| Referer: http://wewewe.das-mehdorn.de/
Wie du siehst, erzeugt wget bei "--spider" lediglich einen
Head-Request, d. h. er lädt nicht etwa die Seite vollständig mit der
GET-Methode auf den Rechner, sondern holt sich nur eine kurze
Information vom Web-Server. Das könnte beispielsweise so aussehen:
| ***@hugh:~$ netcat mindwood.de 80
| HEAD / HTTP/1.0
|
| HTTP/1.1 200 OK
| Date: Sat, 08 Jan 2005 14:16:28 GMT
| Server: Apache/1.3.26 Ben-SSL/1.48 (Unix) Debian GNU/Linux PHP/4.1.2
| Last-Modified: Tue, 31 Aug 2004 23:44:54 GMT
| ETag: "1cb1b0-d2c-41350d76"
| Accept-Ranges: bytes
| Content-Length: 3372
| Connection: close
| Content-Type: text/html; charset=iso-8859-1
|
| ***@hugh:~$
Viel mehr kommt da üblicherweise nicht als Antwort, d. h. man bekommt
nur Informationen über die Seite, muß sie aber nicht herunterladen. Das
Verfahren wird häufig benutzt, um vor dem Download die Größe der Datei
zu ermitteln oder auch, um festzustellen, ob sich eine Seite geändert
hat und damit erneut geladen werden sollte, da sich im Browser-Cache
eine alte Version befindet.
In diesem Fall wurden nicht einmal 500 Bytes Nutzdaten übermittelt,
trotzdem dürfte in einem Log ein HEAD-Request mit dem Referer
auftauchen.
Beim wirklichen Einsatz kommt allerdings noch ein wenig Overhead durch
durch die TCP/IP-Protokollfamilie dazu. Eventuell gab es vorher noch
eine DNS-Anfrage und einen Portscan[0].
Wenn ich so etwas basteln würde, würde ich so vorgehen:
In einer fetten Schleife gehe ich einen ganzen Adreßbereich durch,
vielleicht alle IPv4-Adressen überhaupt, oder nur einen bestimmten
Bereich eines bestimmten Hosters, der üblicherweise viele Kunden mit
eigenem Webserver hat etc. Damit spare ich mir die DNS-Anfragen und muß
auch keine Links auswerten.
Schließlich will ich nur in den Logfiles auftauchen, und da ist es
egal, ob ich nun die Server-Hauptseite besuche oder eine spezielle
Unterseite.
Bei jeder Adresse, die ich in meiner Schleife erhalte, prüfe ich kurz,
ob der Rechner erreichbar ist. Das könnte man auch mit wget machen (es
beschwert sich, wenn der Rechner nicht erreichbar ist), oder eben mit
einem kurzen Portscan auf Port 80. Falls dort ein Webserver lauert,
starte ich einen Sub-Prozeß mit dieser Adresse. Danach gehe ich in jedem
Fall zur nächsten Adresse weiter, setze also die Schleife fort.
Der Sub-Prozeß kann jetzt sehr unterschiedlich aussehen. Entweder holt
er nur die Seite mit dem passenden Referer, was einen Log-Eintrag
beschert, oder er startet seinerseits eine Schleife, die mit etwas
zeitlichem Abstand -- vielleicht noch zufällig immer etwas anderem
Abstand, damit es "natürlicher" aussieht -- mehrere Requests abschickt.
Damit kann man dann ganze Bereiche abgrasen und dort viele Einträge in
Logfiles hinterlassen. Und wenn dort lustige Analysen erstellt werden,
freut man sich. Und wie erwähnt: So ein Zugriff benötigt nicht mal 1kiB
Traffic. Zehn Zugriffe benötigen also weniger als 10kiB Daten. Hinter
einem einfachen Modem kann man also schon relativ einfach die
Statistiken in die Höhe treiben.
Ach ja, die Warnung noch:
.---------------------------------.
| Kinder, macht das nicht daheim! |
`---------------------------------'
Post by Knut KruegerAllerdings müsste derjenige versuchen dass der Traffik nicht über seinen
Server als Seitenaufrufe auftritt.
Wie gesagt: Es geht auch schon mit einem ganz kleinen Client an einer
dünnen Leitung. Wenn man ein trojanisches Pferd irgendwo aufgebracht
hat, kann man das sogar recht unauffällig irgendwo bei einem
DSL-Besitzer im Hintergrund laufen lassen, ohne daß es durch den Traffic
nennenswert[1] auffällt.
Post by Knut KruegerWäre dies eventuell die Antwort auf die Frage (anderer Tread) warum ein
Spammer über einen Proxy geht?
Eher nicht. Das Füllen von Logfiles mit seltsamen Referern würde ich
nicht als Spam ansehen. Spammer benutzen offene Proxies und Bot-Netze,
um unentdeckter zu bleiben. Wenn man aber sowieso für seine Seite
Werbung macht, hilft das Verstecken hinter einem Proxy wirklich wenig.
Und ob man den Traffic nun über einen Proxy erzeugt oder nicht, ändert
an der Menge nichts.
Post by Knut KruegerEventuell kann jemand der sich mit Scripts gut auskennt das bestätigen.
Man muß sich nicht sehr gut auskenne, um ein wenig HTTP zu verstehen.
Man braucht nicht einmal wget dafür, ein wenig netcat/telnet genügt zum
Abwerfen der Referer auf die Webserver eigentlich auch schon.
Post by Knut KruegerDann hätte ich eine Erklärung dafür
Ich hoffe, du hast das Prinzip einigermaßen verstanden. Falls du mit
einigen der mit "|" eingerückten Zeilen nicht zurecht kommst, solltest
du mal nach "RFC" und "HTTP" sowie dem Zeilenanfang bis zum Doppelpunkt
gurgeln. Dann solltest du relativ schnell Antworten dazu finden.
Christoph
[0] Im Sinne von "wir gucken, ob auf Port 80 ein Webserver lauscht",
nicht ein Scan aller gebräuchlichen Ports oder so etwas.
[1] Viele Leute bemerken nicht einmal, daß ein neuer Wurm hunderte Mails
herausschickt, die meist so wenigstens 50kiB haben.
--
Du rufst also an einem Dir noch unbekannten Unix vor _jedem_ Befehl
erstmal dessen Manpage auf? Natürlich in der Annahme, daß "man"
wirklich die Manpages aufruft und nicht etwa das Kürzel für "modify
all networks" oder "must attack neighbour" ist. (Markus Kaufmann)