Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
(In)security allgemein Sicherheit, Anonymität im Netz. Schutz und Maßnahmen. Prävention und Konzepte. Sicherheitsarchitekturen allgemein und auf der Netzwerkebene.

Gameserver crashen?

Diskussion: Gameserver crashen? im Forum (In)security allgemein, in der Kategorie Security Area; Anzeige guten abend zusammen, ich habe mal ne frage, die mich schon eine ganze weile interessiert und vllt könnt ihr ...

Like Tree2Likes
  • 2 Post By enkore

Antwort
Alt 25.06.11, 17:47   #1 (permalink)
 
Registriert seit: 25.06.11
1m4ng4ng Leistung: Facit NTK
Likes: 0
Standard Gameserver crashen?

Anzeige

guten abend zusammen, ich habe mal ne frage, die mich schon eine ganze weile interessiert und vllt könnt ihr mir weiter helfen. ich weis zwar nicht ob ich hier richtig bin um sowas zu fragen aber ich glaube wenn es jemand weis, dann jemand von hier es geht darum einen gameserver zu crashen bzw zum absturz zu bringen. zb bei shootern wie cs oder to. es passiert immer wieder, dass cheater auf unseren server kommen und wenn sie gebannt werden, geht ein paar sek später der server down. wie geht sowas in so kurzer zeit? nur mit einer ddos attacke? dann müssten diese ( kiddicheater ) ja ein eigenes botnet besitzen und das kann ich mir nicht vorstellen. danke schonmal im vorraus für die antworten

1m4ng4ng ist offline   Mit Zitat antworten
Alt 25.06.11, 18:34   #2 (permalink)
 
Benutzerbild von Eydeet
 
Registriert seit: 14.04.06
Eydeet Leistung: Facit NTK
Likes: 4
Standard

Bei vielen Gameservern ist es so, dass für jeden Benutzer schon vor der erfolgreichen Anmeldung einiges an Ressourcen geladen wird. Mit ein wenig Wissen über das Protokoll des Spiels ist es (vermutlich) keine Schwierigkeit, ein Programm zu schreiben, dass sich hunderte Male pro Sekunde auf dem Server einloggt, sodass der RAM voll läuft und sich der Server aufhängt, bzw. crashed.
Eine andere Möglichkeit ist, dass der Server 'nen Bug hat, sodass es reicht, ein unerwartetes Paket an den Server zu schicken, um ihn zum Absturz zu bringen. Da man über eine derartige Lücke oft auch Schadcode einscheusen kann, will ich das mal nicht hoffen.
Verhindern kann man das entweder über eine IP-Sperre, oder über eine sorgfältige Programmierung des Servers (Update verfügbar?).
Wo genau bei Counterstrike das Problem liegt, kann ich dir nicht sagen. Du könntest dir aber mal das Log des Servers anschauen, und die Auslastung (CPU/Memory) des Servers überprüfen, während der Angriff läuft. Vielleicht verrät dir das, wie genau der Absturz zustande kommt.
Eydeet ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 25.06.11, 18:50   #3 (permalink)
Themenstarter
 
Registriert seit: 25.06.11
1m4ng4ng Leistung: Facit NTK
Likes: 0
Standard

danke für die antwort. wenn tippe ich mal auf deine erste theorie, hört sich plausibel an. leider kann ich cpu speicher nicht überwachen bzw. keine ahnung wie, da der server nur gemietet ist und es im interface keine soclhe funktion gibt. der log an sich sagt mir auch nichts. der server geht einfach bin sekunden nach kick des " cheaters " down und startet dann auch wieder von selbst. erkennen kann man nichts. ich kann halt nur sagen, dass wenn bestimmte leute gebannt werden, der server sofort down geht, so schnell als ob er/sie nur was in ein programm eingibt und zack.. würde auch zu deiner theorie#1 passen oder? nur wie soll das gehen : /
1m4ng4ng ist offline   Mit Zitat antworten
Alt 25.06.11, 22:49   #4 (permalink)
 
Registriert seit: 05.10.05
Inliferty Leistung: 8086
Inliferty eine Nachricht über ICQ schicken
Likes: 5
Standard

Ich kopier mal, was ich schon vor einiger Zeit wo anders geposted habe:

Where the magic happens (swds.dll):
Code:
.text:01DAB4DF ; void __cdecl clc_cvarvalue2(client_t *client)
.text:01DAB4DF clc_cvarvalue2  proc near               ; DATA XREF: .data:01E665DCo
.text:01DAB4DF
.text:01DAB4DF cvar_stack      = byte ptr -100h
.text:01DAB4DF client          = dword ptr  8
.text:01DAB4DF
.text:01DAB4DF                 push    ebp
.text:01DAB4E0                 mov     ebp, esp
.text:01DAB4E2                 sub     esp, 100h
.text:01DAB4E8                 push    ebx
.text:01DAB4E9                 push    esi
.text:01DAB4EA                 push    edi
.text:01DAB4EB                 call    MSG_ReadLong
.text:01DAB4F0                 mov     esi, eax
.text:01DAB4F2                 call    MSG_ReadString
.text:01DAB4F7                 push    eax             ; src
.text:01DAB4F8                 lea     eax, [ebp+cvar_stack]
.text:01DAB4FE                 push    eax             ; dest
.text:01DAB4FF                 call    strcpy           ; Here we can PWN the Stack!
.text:01DAB504                 add     esp, 8
.text:01DAB507                 call    MSG_ReadString
.text:01DAB50C                 mov     ebx, [ebp+client]
.text:01DAB50F                 mov     edi, eax
.text:01DAB511                 mov     eax, dword_2124DD0
.text:01DAB516                 test    eax, eax
.text:01DAB518                 jz      short loc_1DAB52F
.text:01DAB51A                 mov     edx, [ebx+4B9Ch]
.text:01DAB520                 lea     ecx, [ebp+cvar_stack]
.text:01DAB526                 push    edi
.text:01DAB527                 push    ecx
.text:01DAB528                 push    esi
.text:01DAB529                 push    edx
.text:01DAB52A                 call    eax ; dword_2124DD0
.text:01DAB52C                 add     esp, 10h
.text:01DAB52F
.text:01DAB52F loc_1DAB52F:                            ; CODE XREF: clc_cvarvalue2+39j
.text:01DAB52F                 lea     eax, [ebp+cvar_stack]
.text:01DAB535                 push    edi
.text:01DAB536                 push    eax
.text:01DAB537                 add     ebx, 4D08h
.text:01DAB53D                 push    esi
.text:01DAB53E                 push    ebx             ; Args
.text:01DAB53F                 push    offset aCvarQueryRes_0 ; "Cvar query response: name:%s, request I"...
.text:01DAB544                 call    Con_DPrintf
.text:01DAB549                 add     esp, 14h
.text:01DAB54C                 pop     edi
.text:01DAB54D                 pop     esi
.text:01DAB54E                 pop     ebx
.text:01DAB54F                 mov     esp, ebp
.text:01DAB551                 pop     ebp
.text:01DAB552                 retn
.text:01DAB552 clc_cvarvalue2  endp
Create a Packet like this one:
4 Bytes - Packet Sequence (random Number)
4 Bytes - Chunk (random Number)
1 Byte - Msg Id (11)
4 Bytes - Req. Id (random Number)
> 256 Bytes - CVarName (String)

Requirements:
WinPcap installed
It must be a Windows Server to PWN (the Function is not implemented on Linux Servers - lol?)
You must be connected to the Server with a Client (otherwise the Packet will be dropped) or you create a Fake-Connection (not included in the Source-Code)
The Src-Ip & Src-Port must match the Ip & Port from Client (otherwise the Packet will be dropped).

Credits:
Emmanuel Herrera (RawPacket Class)
aluigi (HL1 Packet Encryption Routine)
DeepBlueSea & XEPT & xgx (Smalltalk)

Have a nice day,
Inliferty

Edit:
Also working on Linux Servers (got an old .so-File )
The Stack is a little bit bigger (12 Bytes)

Original Post:
Tool HL1 Windows Server Crasher

Eydeet ich muss dir leider mitteilen, dass es auch möglich ist Schadcode über diese Lücke auszuführen (ScriptKiddies sollten aber Probleme mit ASLR und DEP bekommen)
Ps: Dieses Exploit existiert noch immer :/

Geändert von Inliferty (25.06.11 um 22:52 Uhr)
Inliferty ist offline   Mit Zitat antworten
Alt 25.06.11, 23:21   #5 (permalink)
Themenstarter
 
Registriert seit: 25.06.11
1m4ng4ng Leistung: Facit NTK
Likes: 0
Standard

ohje Inliferty, wäre dir super dankbar wenn du das mal in deutsch und nooblike formulieren könntest. verstehe nur bahnhof, dank dir
1m4ng4ng ist offline   Mit Zitat antworten
Alt 26.06.11, 12:10   #6 (permalink)
Senior Member
 
Registriert seit: 13.07.08
enkore Leistung: K 6-3enkore Leistung: K 6-3enkore Leistung: K 6-3
Likes: 85
Standard

Mit anderen Worten: Man brauch nur ein kleines Programm um einen Server abzuschiessen
Inliferty and beavisbee like this.
__________________
"It is the human race! The deterioration of the spirit of man. Man undermining himself, causing a self-willed, self-imposed, self-evident self-destruction."
+++ BREAKING +++ Troll ertrinkt im Planschbecken +++
enkore ist offline   Mit Zitat antworten
Alt 26.06.11, 13:23   #7 (permalink)
 
Registriert seit: 05.10.05
Inliferty Leistung: 8086
Inliferty eine Nachricht über ICQ schicken
Likes: 5
Standard

Hehe, enkore bringt genau das rüber, was ich sagen wollte.
Nur etwas User-freundlicher

MfG
Inliferty
Inliferty ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Security Area » (In)security allgemein » Gameserver crashen?
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61