Counter-Strike13.10.2007, Marco
Counter-Strike

Special: Cheat-Spezial Teil 8 - Interview mit xgx

Counterstrike.de setzt die Cheater-Spezial Reihe mit diesem 8. Teil fort. Im Interview: Cheatercoder xgx unter anderem zum Thema Kernelmode/ring0 Hacks.

Counterstrike .de brachte im Jahr 2006 mit der Cheater-Spezial Reihe eine wahre Flut an Berichterstattung zum Thema Cheaten ins Rollen, an denen sich mehrere Fan- und Szeneseiten, als auch GIGA mit eigenem Sendeformat beteiligt hatten. 

In den 6 Teilen auf Counterstrike .de wurden Interviews mit Cheat- und Anti-Cheat-Tool Codern geführt, erstmals Inhalte aus Cheatdatenbanken der Community präsentiert und letzten Endes sogar eine von zwei Cheatdatenbanken komplett veröffentlicht.  

Für den 8. Teil konnten wir den Cheat-Coder xgx gewinnen, der insbesondere im Zusammenhang mit Hacks die im Kernelmode/ring0 laufen bekannt wurde. Der 22 jährige kommt aus Bayern und ist vom Nicknamen her nicht nur in der Cheater-Szene ein Bekannter.   

Counterstrike .de: Wie bist du zum cheaten gekommen bzw. wie bist du zum coden von Cheats gekommen?

xgx: Ich habe früher selbst aktiv CS gespielt. Angefangen habe ich zu irgend einer späteren Beta-Version, bis hin zu CS 1.3. Mit der Version 1.3 habe ich auch erstmals online gespielt und die erste Begegnung mit "skilled" Spielern gehabt. Zum damaligen Zeitpunkt habe ich allerdings noch nicht gewusst, dass es so etwas wie Cheats gab.

Später bin ich dann auf das *OGC-Forum gestoßen und hab später auf 00de die ersten Cheats für mich ausprobiert. Allerdings kam dann irgendwann CS-Guard und auch VAC zum Einsatz.

Durch das spielen von Cheats hat es mich noch mehr interessiert wie Cheats funktionieren und suchte den Kontakt zu weiteren Cheatern, welche mich auf ein weiteres Forum verwiesen haben, worauf das Unheil seinen Lauf genommen hat :-)

 

Counterstrike .de: Auch wenn dein letzter Satz mit einem Smilie endet, wie groß ist deiner Meinung nach das "Unheil" Cheats bzw. Cheater auf Public-Servern oder in Liga-Wars?

xgx: Das ist nicht leicht zu sagen. Auf den Public-Servern lassen sich prinzipiell mehrere Sorten Cheater unterscheiden. Einmal die Leute die einfach provozieren möchten und sehr offensichtlich cheaten und deren Ziel es ist, den Server "leer zu cheaten". Der nächste Typ ist dann der "skilled" Cheater der versucht seine Cheats möglichst gut zu verstecken und es so aussehen zu lassen, als ob es Skill wäre. Für mich ist eindeutig der letzte Typ der schlimmere, denn derjenige, der offensichtlich cheatet, versaut einem für ein paar runden den Spielspass bis sich die Spieler auf dem Server eine neue Spielwiese suchen oder der Cheater gebannt wird.

Wenn jemand versucht durch Cheats Skill vorzutäuschen, wird er sehr viel länger unentdeckt bleiben, als der andere, der offensichtliche Cheater-Typ. Der Nachteil dieser Typen die Skill nur vortäuschen, ist das wachsende Misstrauen in der Community, welche anderen gegenüber immer mehr wächst. Auch wenn jemand nur Glück hatte oder wirklich gut spielt, ist er immer gleich Cheater.

Zu den Liga-Cheatern kann ich nur sagen, dass sehr viele cheaten und die ausnahmslos Cheater vom Typ "Skill vortäuschen" sind.

Geht es um Wettbewerbe mit Geldpreisen, sollte meiner Meinung nach härter durchgegriffen werden, da dort Leute durch Cheater um ihr eigentlich verdientes Preisgeld gebracht werden.

 

Counterstrike .de: Demnach bist der der Typ der "alten/echten" Cheatcommunity, die cheaten als Fun ansehen, wie die meisten Cheatcoder und weniger den dicken Profi vortäuschen? Wohl eher eine aussterbender Rasse oder?

xgx: Ja, das stimmt wohl leider. Früher war es üblich, dass die meisten Cheater unter sich blieben und ausschließlich auf ungesicherten Server gespielt haben. Dabei ging es nur darum wer den besseren Cheat hat und teilweise auch darum, wer mehr Erfahrung einbringen konnte. Heutzutage gibt es aber kaum noch Cheatserver. Dafür findet man eben auf so gut wie jedem Public-Server entsprechend geschätzte 30% Cheater.

Den meisten Leuten merkt man aber das Cheaten auch gar nicht an, weil sie es sehr gut verstecken können. Hinzu kommt noch, dass selbst ein CS-Beginner mit laufendem ESP kein Überskiller wird.

 

Counterstrike .de: Wie viele Cheats hast du selber schon gecodet oder dabei mitgewirkt einen fertigzustellen?

xgx: Je nachdem ob man Nachfolgeversionen, also Ableger oder umfangreiche Updates mit einrechnet, würde die Anzahl sehr variieren. Komplett neue Cheats, ohne Updates oder ähnliches eingerechnet, etwa 8 bis 10 Stück.

 

Counterstrike .de: Die mit Sicherheit auch in diversen Ligen ihren Einsatz finden nehme ich mal an?

xgx: Ja, einige Cheats sind darauf ausgelegt. Anderseits spielen auch viele Spieler mit einem Public-Cheat in Online-Ligen. Die ESL ausgenommen, da die ESL ein Anti-Cheat Schutz (Anm.d. Red.: Aequitas) hat.

 

Counterstrike .de: Ist das nicht ein Widerspruch in sich selbst, gegen Wettbewerbscheaten zu sein, aber Cheats coden, die wissentlich in Ligen ihre Verwendung finden?

xgx: Das könnte man so sehen. Aber in den meisten Fällen geht es in den Online-Ligen um keine materiellen Güter oder bares Geld, sondern um Punkte und Ranglisten, welche nur aussagt wer der angeblich Beste ist. Die EPS klammer ich jetzt mal aus, da dort meiner Meinung nach keiner oder fast keiner cheatet.

Eine andere Sache ist natürlich die Definition von cheaten. Cheaten bedeutet letzten Endes nichts anderes, als sich einen unfairen Vorteil zu verschaffen. Allerdings wird es wohl schwierig da genaue Grenzen zu ziehen, da streng genommen schon die unterschiedlichen PC`s bzw. PC-Stärke, die Internetverbindungen, Custom-Models oder Files oder auch die Config.cfg Vorteile verschaffen kann.

Mir ist schon klar das mich für diesen Satz oder den Vergleich viele angreifen werden, zumal auch in der ESL auf Dinge wie Configs und Custom-Files geachtet wird. Dennoch gibt es viel zu viele Manipulationen mit denen sich einzelne Vorteile verschaffen können. Ein Cheat ist da nur ein Schritt weiter zum Vorteil. Allerdings hat man mit einem Cheat das Risiko zu tragen erwischt zu werden.

 

Counterstrike .de: Was ist dein Antrieb oder Motivation zum coden von Cheats? Ist es das Geld oder der Ruhm?

xgx: Ich denke es ist von allem etwas. Am Anfang war es die reine Neugierde zu sehen wie so etwas überhaupt funktioniert und natürlich oder vor allem der Spaß am programmieren selber. Nachdem das umgehen von dem hauseigenen Valve Anti-Cheat Tool, also VAC, keine Herausforderung mehr darstellt, sucht man sich eben neue Herausforderungen.

 

Eine Zeit lang war es auch schön zu sehen wie sich Leute über neue Veröffentlichungen meiner Cheats gefreut haben. Mittlerweile ist es aber leider so, dass man zwar zu 70% positives Feedback bekommt, der Rest aber nur Kritik ist, die eigentlich gar keine ist. Zumindest keine verwertbare Kritik, sondern nur welche die dazu dient die Veröffentlichung schlecht zu machen, rumzuspammen. Wenn man dann so viele Stunden in ein Cheatprojekt gesteckt hat und teilweise dann diese Art und Weise von Kritik hört, man sehr schnell die Lust und Motivation verliert in Zukunft nach was zu veröffentlichen.

 

Counterstrike .de: Wenn vieles auf Herausforderung abzielt, warum war dann das Erstellen eines Anti-Cheat-Tools nie Herausforderung? Eine Frage im übrigen, die sich wohl jeder Cheat-Coder stellen lassen muss.

xgx: Sicher wäre das eine Herausforderung und wenn ich ehrlich bin, dann hatte ich so etwas auch schon mal begonnen. Mit Steeno, einem guten Freund von mir, waren wir dabei ein AC-Tool zu entwickeln. Es sollte ein Screenshot-Client werden, mit Prozess/Modul Auflistung und ein paar weiteren Features. Ähnlich zum heutigen Aequitas von T-Man. Allerdings hat dann letzten Endes der Support gefehlt, um das relativ umfangreiche Projekt durchzuziehen.

   Bisherige Cheat-Spezial Berichte:
Cheat-Spezial Teil 8 - Interview mit xgx Teil 1 zum Thema ring0
Cheat-Spezial Teil 8 - Interview mit xgx Teil 2 zum Thema ring0
Cheat-Spezial Teil 7 - Organner veröffentlicht Cheaterlisten
Cheat-Spezial Teil 6 - Cheat-Datenbank ist Online
Cheat-Spezial Teil 5 - Cheaten war gestern... neues AC-Tool
Cheat-Spezial Teil 4 - Spielst du noch oder cheatest du schon?
Cheat-Spezial Teil 3 - Cheater-Accounts veröffentlicht
Cheat-Spezial Teil 2 - Interview mit AC-Coder T-Man
Cheat-Spezial Teil 1 - Interview mit Cheatcoder uall
                                                              

Counterstrike .de: Ein AC-Tool also, welches ähnlich ist wie das ESL eigene Aequitas. Ist Aequitas ein brauchbares Anti-Cheat-Tool?

xgx: Schwer mit wenigen Worten zusammenzufassen, aber ich denke man kann durchaus sagen das Aequitas ein brauchbares Anti-Cheat-Tool ist. Es soll ja dazu dienen die Anzahl der Cheater im Ligabetrieb einzudämmen. Und das tut es definitiv!

Die Aussage der ESL das alle Cheater erwischt werden stimmt so natürlich nicht und dient nur dazu die breite Masse einzuschüchtern. Wenn es jemand darauf auslegt mit Aequitas cheaten zu können und die nötigen Kenntnisse, Kontakte und/oder Geld besitzt, dann versagt Aequitas.

Auch in den bekannten monatlichen News, wo mit xyz erwischten Cheatern durch Aequitas aufgewartet wird, dient nur zum einschüchtern, da dort zum Teil Leute mit irgend einem Cheat erwischt wurden, welche x-beliebige Public-Cheats verwendet haben die nicht für den Einsatz mit Aequitas entwickelt wurden.

Außerdem ist die Aufmachung der News meiner Meinung nach im BILD-Zeitungs Stil gehalten. News mit Texten wie: "und wieder hat Aequitas xyz Cheater erwischt" und zusätzliche Einträge im Playerprofil wie "owned by Aequitas", halte ich für übertrieben. Aber darüber habe ich mit T-Man auch schon selber gesprochen, weiss aber nicht, ob bei Cheatern die erwischt wurden noch immer diese Einträge gemacht werden oder ob dies korrigiert wurde. Ein einfaches "12pp for cheating" würde meiner Meinung nach vollkommen ausreichen. Aber auch hier sieht man deutlich, dass die ESL versucht die Leute abzuschrecken.

 

Counterstrike .de: Gerade von dir liest man in den letzten Tagen und Wochen immer wieder, dass du Hacks entwickelt hast, die Aequitas umgehen können. Wie brauchbar kann ein AC-Tool sein, welches du mehrfach umgangen hast?

xgx: Zeitlich gesehen zieht sich das schon wesentlich länger hin als Tage und Wochen. Von daher ist diese Einschätzung also nicht ganz richtig. In Wirklichkeit sind das jetzt schon etwa 1 - 1,5 Jahre. Allerdings gab es in letzter Zeit natürlich einen großen Hype um das Thema Kernelmode/Ring0 Hacks.

Wie ich bereits erwähnt habe, dient Aequitas dazu die breite Masse an Cheatern zu erwischen oder einzuschüchtern. Wenn jemand programmieren kann und etwas von "re" versteht, sollte es kein Problem sein einen entsprechenden Hack zu schreiben, der wohl auch sehr lange unerkannt bleibt. Zumindest so lange unerkannt, wie ihn T-Man ihn nicht in die Finger bekommt. Da aber die meisten Leute die CS spielen eher der Altersgruppe von 14-19 einzuordnen sind und viele von diesen Leuten auch nicht die Ausdauer und den Willen haben sich mit dem nicht gerade simplen Thema coden länger auseinanderzusetzen, wird es eher wenige geben die Cheats entwickeln und diese ausschließlich für sich selber nutzen.

Um noch mal auf die Brauchbarkeitt von Aequitas zurückzukommen: Aequitas erfüllt bis auf wenige Ausnahmen wohl sehr gut seinen Zweck für den es gebaut wurde. Von daher würde ich es schon als brauchbar einstufen. Auch wenn einige äussere Bedingungen nicht ganz so optimal sind.

 

Counterstrike .de: Gerade der von dir angesprochene Hype von Cheats im Kernelmode/Ring0 steht in direkter Verbindung mit deiner Person. Wie muss ich mir das mit Ring0 als Laie vorstellen ohne ins Fachchinesisch abzutauchen?

xgx: Ich versuche es mal einfach auszudrücken.

Es gibt zwei Ebenen unter Windows einmal die KernelMode (ring 0) und einmal die UserMode (ring 3) Ebene, die anderen zwei werden nicht verwendet auf die moechte ich jetzt auch nicht eingehen. Die UserMode Ebene ist der Teil, wo der "Benutzer" arbeitet. Dort laufen beispielsweise die ganz normalen Programme wie ICQ, Firefox, ThunderBird und mIRC. Um gewisse Funktionen nutzen zu können, die etwas hardwarenäher sind als normale, gibt es noch die WinApis im UserMode.

Um das etwas näher zu bringen, möchte ich mal ein kleines Beispiel machen, wie das alles ungefähr abläuft. Als Beispiel nehme ich eine Funktion die etwas in einem Prozess ausliest ReadProcessMemory . Wenn man diese Funktion im Usermode benutzt, wird vom Betriebssystem erst geprüft, ob der Aufruf der angegeben Parameter OK ist und dann erst auf die KernelMode Ebene sozusagen weitergeleitet.

Gewöhnlich ruft man ReadProcessMemory aus der Kernel32.dll auf, die dann den Aufruf in die ntdll.dll weiterleitet. Dort dann ZwReadVirtualMemory genannt und dann in den KernelMode weiterleitet durch die jeweilige ServiceID ( KernelMode ).

Würde man so einen Aufruf direkt aus dem KernelMode von NtReadVirtualMemory mit falschen Parametern machen, dann würde RtlRaiseException() eine Exception werfen, die abgefangen werden muss. Tut man das nicht, dann wird man einen gnadenlosen BSOD ( BlueScreen of Death ) bekommen, der den PC neustartet.

Wenn man nun im KernelMode eine Funktion hookt, zum Beispiel aus der Service Descriptor Table, demnach eine Funktion sobald diese aufgerufen wird zu seiner eigenen Funktion weiterleitet, eigenen Code ausführt und wieder zur Original-Funktion springt, kann man die Daten die z.B. ReadProcessMemory im Usermode ausgibt manipulieren. Und zwar ohne das es vom Usermode aus ersichtlich ist.

Ich wurde oft auf Alternativen angesprochen, die es erleichtern sollen aus dem UserMode zu arbeiten und man nicht erkannt werden sollte, wie zum Beispiel Hardware Breakpoints. Man kann Hardware Breakpoints nicht mit einem puren "Treiberhack" vergleichen, nur weil sie nicht sichtbar sind auf den ersten Blick, sie haben eigentlich mehr Nachteile als Vorteile. Auf der KernelMode Ebene kann man voellig ausschliessen, dass eine Detection möglich ist, wenn der Hack sich wie ein Rootkit verhält und das Anti-Cheat Tool ein reines UserMode Programm ist wie Vac, Vac2, Aequitas, SSclient, etc, etc.. Sogar professionelle Antiviren Hersteller wie Kaspersky, Norton haben Probleme derartige Programme zu erkennen, obwohl sie teilweise sogar auf der selben Ebene arbeiten.

Da Aequitas im Usermode läuft, ist es nicht möglich in den KernelMode einzugreifen. Er kann vielleicht mit viel Aufwand die gehookten Einträge der Service Descriptor Table lesen. Nehmen wir mal an er tut es (Ich weiss gar nicht ob das überhaupt möglich ist mit Visual Basic), dann wäre immer noch die Frage, ob man daraus keine false-positive Detection erhält, da viele Antiviren Hersteller Funktionen aus der Service Descriptor Table hooken, um ihre Software vor Malware zu schützen.

Zusammenfassen zum KernelMode & Aequitas...

Sicherlich ist sehr vieles undokumentiert und unbrauchbar, insbesondere aus der Win32k.sys, aber ein guter Programmierer soll sich nicht von "Kleinigkeiten" abringen lassen. Ausserdem ist ring 0 die "source of inspiration" :-).

Man munkelt auch, dass sobald Aequitas nicht mehr in der Lage ist den Cheat über den Speicher zu erkennen, es mal eben Ordner nach bekannten Namen absucht. Dabei ist dann egal, ob der Cheat vor 10 Tagen benutzt wurde oder heute, man wird gnadenlos gebannt. Wenn man böse Hintergedanken hätte könnte man das als Zeichen der Hilflosigkeit ansehen ;-)

An dieser Stelle möchte ich mich bei [ZELDA] bedanken, der mir bei der Entwicklung sehr geholfen hat.

 

Counterstrike .de: Du sagtest "so lange ihn T-Man nicht in die Finger bekommt". Muss ich mir dann eine Detection von Aequitas etwa so vorstellen wie bei VAC mit Fingerprint, einem Daumenabdruck sozusagen?

xgx: Jein! Im Vergleich zu VAC1, ist VAC2 eher ein Rückschritt geworden, da einige effektive Detections einfach entfernt wurden. Im Prinzip kann man unter VAC sehr vieles machen. Allerdings beschränkt sich die Detection bei Public-Hacks fast ausschließlich auf Fingerprint den du erwähnt hast, wobei ein Hash des Cheats erstellt wird und dann den Spieler bannt sobald eine Übereinstimmung gefunden wurde.

Aequitas arbeitet etwas anders. T-Man liest Prozess- und Modulliste aus und hasht diese um bekannte Cheats zu erkennen. Zusätlich benutzt er einen Selfcheck in Aequitas auf "push rtn detours". Und dann noch einige Checks in Half-Life/Counterstrike selber.

So lange der Hack in der Modulliste von HL.exe zu finden ist, ist die Erkennung kein Problem. Bei privaten Hacks was es bisher so, dass sie oft erst erkannt wurden, nachdem T-Man an den Cheat herangekommen war.

 

Counterstrike .de: Demnach ist in all den Jahren immer eines gleich geblieben - ein hin und ein her. Coder entwickeln Cheats, AC-Coder reagieren darauf und der Kreislauf beginnt von neuem?!

xgx: Ja, genau so ist das und wird wohl auch immer so bleiben. Es gibt auf keiner Seite die ultimative Lösung denke ich.

 

Counterstrike .de: Nachdem es um einen Kollegen von dir fast ein Jahr mehr oder weniger still war, hat er nun wieder etwas angesäuert Benutzerlisten veröffentlicht. Findest du das von Organner ok?

xgx: Na ja, die von ihm veröffentlichten Benutzerlisten beinhalten ausschließlich nicht legitimierte Benutzer seiner Software. Jeder Programmierer ist wohl bestrebt seine Software bestmöglich zu schützen und wenn dann Leute die Software in die viel Arbeit investiert wurde einfach so ohne Einwilligung des Autors nutzen, dann finde ich es auch durchaus in Ordnung solche Leute in Form einer solchen Liste an den Pranger zu stellen.

 

Counterstrike .de: Das heisst dann also, dass auch deine Hacks über die sogenannte Anti-Leak Funktion verfügen?

xgx: Alles andere wäre wohl dumm :-)

 

Counterstrike .de: Wie alle unsere Interviewpartner kannst auch du noch Grüße loswerden.

xgx: Mein Dank geht an burN, steeno, [ZELDA] und Patrick, die mir in der Vergangenheit oft hilfreich zur Seite standen. Zum Schluss möchte ich gerne noch das Team von *mph, *c-p, *pm grüßen, sowie burN, steeno, anarx, Anni, Patrick, panzer/rob, [ZELDA], ORGANNER, Iarumas, h1web, zaubermicha, uall, Donneker, Flex`` und eraa und alle anderen die ich wohl vergessen habe :-)

 

Counterstrike .de bedankt sich für die Zeit und die Antworten.

  Bisherige Cheat-Spezial Berichte:
Cheat-Spezial Teil 8 - Interview mit xgx Teil 1 zum Thema ring0
Cheat-Spezial Teil 8 - Interview mit xgx Teil 2 zum Thema ring0
Cheat-Spezial Teil 7 - Organner veröffentlicht Cheaterlisten
Cheat-Spezial Teil 6 - Cheat-Datenbank ist Online
Cheat-Spezial Teil 5 - Cheaten war gestern... neues AC-Tool
Cheat-Spezial Teil 4 - Spielst du noch oder cheatest du schon?
Cheat-Spezial Teil 3 - Cheater-Accounts veröffentlicht
Cheat-Spezial Teil 2 - Interview mit AC-Coder T-Man
Cheat-Spezial Teil 1 - Interview mit Cheatcoder uall
                             

 
0
Kommentare

Du musst mit einem 4Players-Account angemeldet sein, um an der Diskussion teilzunehmen.

Es gibt noch keine Beiträge. Erstelle den ersten Beitrag und hole Dir einen 4Players Erfolg.