CBack (CrackerTracker) – Schutz gegen Hacker!

Posted by eddy14 - 02/06/07 at 07:06 am

Habe mir vor 3 Tagen den “Stand alone CrackerTracker” angeschaut, und festgestellt, das es garnicht so sicher ist :S

Vielleicht kennt ihr das Script als “CBack” was so manche Foren (als phpBB Version!) benutzen, um sich gegen Hacker-Angriffe zu schützen. Ich habe mir nur die Standalone Version angeschaut (nicht die Foren-Version!) und viele Lücken entdeckt:

Schaut euch die kleine Datei mal an, die euch vor jeglichen Angriffen (wie z.B. SQL-Injections) schützen soll.

$cracktrack = $_SERVER['QUERY_STRING'];
$wormprotector = array(‘chr(‘, ‘chr=’, ‘chr%20′, ‘%20chr’, ‘wget%20′, ‘%20wget’, ‘wget(‘,
‘cmd=’, ‘%20cmd’, ‘cmd%20′, ‘rush=’, ‘%20rush’, ‘rush%20′,
‘union%20′, ‘%20union’, ‘union(‘, ‘union=’, ‘echr(‘, ‘%20echr’, ‘echr%20′, ‘echr=’,
‘esystem(‘, ‘esystem%20′, ‘cp%20′, ‘%20cp’, ‘cp(‘, ‘mdir%20′, ‘%20mdir’, ‘mdir(‘,
‘mcd%20′, ‘mrd%20′, ‘rm%20′, ‘%20mcd’, ‘%20mrd’, ‘%20rm’,
‘mcd(‘, ‘mrd(‘, ‘rm(‘, ‘mcd=’, ‘mrd=’, ‘mv%20′, ‘rmdir%20′, ‘mv(‘, ‘rmdir(‘,
‘chmod(‘, ‘chmod%20′, ‘%20chmod’, ‘chmod(‘, ‘chmod=’, ‘chown%20′, ‘chgrp%20′, ‘chown(‘, ‘chgrp(‘,
‘locate%20′, ‘grep%20′, ‘locate(‘, ‘grep(‘, ‘diff%20′, ‘kill%20′, ‘kill(‘, ‘killall’,
‘passwd%20′, ‘%20passwd’, ‘passwd(‘, ‘telnet%20′, ‘vi(‘, ‘vi%20′,
‘insert%20into’, ‘select%20′, ‘nigga(‘, ‘%20nigga’, ‘nigga%20′, ‘fopen’, ‘fwrite’, ‘%20like’, ‘like%20′,
‘$_request’, ‘$_get’, ‘$request’, ‘$get’, ‘.system’, ‘HTTP_PHP’, ‘&aim’, ‘%20getenv’, ‘getenv%20′,
‘new_password’, ‘&icq’,'/etc/password’,'/etc/shadow’, ‘/etc/groups’, ‘/etc/gshadow’,
‘HTTP_USER_AGENT’, ‘HTTP_HOST’, ‘/bin/ps’, ‘wget%20′, ‘uname\x20-a’, ‘/usr/bin/id’,
‘/bin/echo’, ‘/bin/kill’, ‘/bin/’, ‘/chgrp’, ‘/chown’, ‘/usr/bin’, ‘g\+\+’, ‘bin/python’,
‘bin/tclsh’, ‘bin/nasm’, ‘perl%20′, ‘traceroute%20′, ‘ping%20′, ‘.pl’, ‘/usr/X11R6/bin/xterm’, ‘lsof%20′,
‘/bin/mail’, ‘.conf’, ‘motd%20′, ‘HTTP/1.’, ‘.inc.php’, ‘config.php’, ‘cgi-’, ‘.eml’,
‘file\://’, ‘window.open’, ‘<SCRIPT>’, ‘javascript\://’,'img src’, ‘img%20src’,’.jsp’,'ftp.exe’,
‘xp_enumdsn’, ‘xp_availablemedia’, ‘xp_filelist’, ‘xp_cmdshell’, ‘nc.exe’, ‘.htpasswd’,
‘servlet’, ‘/etc/passwd’, ‘wwwacl’, ‘~root’, ‘~ftp’, ‘.js’, ‘.jsp’, ‘admin_’, ‘.history’,
‘bash_history’, ‘.bash_history’, ‘~nobody’, ‘server-info’, ‘server-status’, ‘reboot%20′, ‘halt%20′,
‘powerdown%20′, ‘/home/ftp’, ‘/home/www’, ‘secure_site, ok’, ‘chunked’, ‘org.apache’, ‘/servlet/con’,
‘<script’, ‘/robot.txt’ ,’/perl’ ,’mod_gzip_status’, ‘db_mysql.inc’, ‘.inc’, ‘select%20from’,
‘select from’, ‘drop%20′, ‘.system’, ‘getenv’, ‘http_’, ‘_php’, ‘php_’, ‘phpinfo()’, ‘<?php’, ‘?>’, ‘sql=’);$checkworm = str_replace($wormprotector, ‘*’, $cracktrack);if ($cracktrack != $checkworm)
{
$cremotead = $_SERVER['REMOTE_ADDR'];
$cuseragent = $_SERVER['HTTP_USER_AGENT'];

die( “Attack detected! <br /><br /><b>Dieser Angriff wurde erkannt und blockiert:</b><br />$cremotead – $cuseragent” );
}

Ok, die erste Sicherheitslücke die ich fand, war die, das nur die URL nach verdächtigen Strings durchsucht wird ($_SERVER['QUERY_STRING'] durchsucht nur die URL). Man kann also immernoch alle Exploits nutzen, die durch $_POST in das System eindringen

Als 2tes fand ich, das nicht mal wirklich “union” und “select” ausgefiltert werden. Eher das “select” mit einem Leerzeichen hinten dran (“select%20″).
Was bedeutet das? Richtig, wir können “select+” oder “select/**/” verwenden, was genau das gleiche tut, und somit die Schutzvorrichtung umgeht.

Aber man muss sagen, das die vor XSS Schutz bieten (Per POST XSS zu machen ist fuck, und sowas wie “<script>” wird rausgefiltert … stimmts? Jo stimmt, aber jetzt kommt das komische, und die 3te Lücke die ich fand.
CBack selbst bietet uns eine XSS Lücke an

die( “Attack detected! <br /><br /><b>Dieser Angriff wurde erkannt und blockiert:</b><br />$cremotead – $cuseragent” );

Unseren User-Agent können wir fälschen! Wir müssen die URL nur abändern, sodass diese Meldung erscheint, und dabei müssen wir unseren User-Agent z.B. zu

<script>alert(document.cookie)</script>

ändern. Aaaaber, filtert CBack nicht die “<script>”s raus? Ja schon, aber wie gesagt, nur in der URL, und unseren User-Agent gibt der Browser beim ansurfen der Seite mit
Der einzige Nachteil, und wieso man diese Lücke nicht effektiv nutzen kann ist: Man kann vom User nicht verlangen, den HTTP_USER_AGENT zu fälschen xD Aber, das komische sollte ja sein, das eine Schutzvorrichtung, eine Lücke hat, vor der es schützen sollte! ^^

Aber dann gibts noch die 4te, und wohl erschreckenste Lücke:
str_replace ist case-sensitive! Das heißt, es achtet auf die Klein und Großschreibung … und dies heißt wiederum, das sowas wie z.B. “UnIoN%20″ oder “UNION%20″ nicht gefiltert wird…. und dies heißt nochmals, das die Abfrage:

if ($cracktrack != $checkworm)
{


Fehlschlägt, und das Script nicht abbricht weiterzu arbeiten.

Letzendlich finde ich, das CBack fast keine Schutzvorrichtung bietet … (sogar eine Lücke öffnet, um genau zu sein ^^)

If you enjoyed this article please consider staying updated via RSS. Links to your own social media pages could be added here.

Umziehen

Posted by eddy14 - 02/06/07 at 07:06 am

Wollt grad ein Backup der Datenbank machen, und zu einem anderen Hoster umziehen. Diese Downtimes mehrmals am Tag nerven wirklich sehr stark :(

Aber neeein, Das Backup-Plugin von WordPress will nicht … und mein Hoster hat kein phpmyadmin drauf :(

Tja… muss wohl hier verweilen :’(

If you enjoyed this article please consider staying updated via RSS. Links to your own social media pages could be added here.

Neues Design

Posted by eddy14 - 25/05/07 at 07:05 am

Hab das Design kurz zu so einem “Professionelleren” gewechselt :P Hoffe euch gefällts…

If you enjoyed this article please consider staying updated via RSS. Links to your own social media pages could be added here.

Geschafft!

Posted by eddy14 - 25/05/07 at 07:05 am

14 Tage sind um, und ich bin stolzer Linux Besitzer/Nutzer =)

Hab ich es geschafft mich “süchtig” zu machen? Jep hab ich :D

Ein paar Sachen muss ich aber trotzdem auf Windows erledigen. z.B. Das reversen oder schreiben von Viren/Trojaner/was-auch-immer muss/will ich auf Windows erledigen …

Ausserdem haben wir mit Kabel/Sens0r noch vor etwas in C zu coden, was auf Windows laufen muss … und ich will ein paar API Befehle testen … mit DLL’s möchte ich mich auch mal wieder ausseinandersetzen … scheinen doch ganz interessant zu sein ;D

If you enjoyed this article please consider staying updated via RSS. Links to your own social media pages could be added here.

Tag 11 + Tag 12 + Tag 13 + Tag 14

Posted by eddy14 - 24/05/07 at 08:05 am

Der letzte Tag…

Danach hab ichs munter “überstanden” :D Ich war 2 Wochen lang NUR auf Linux! xD

Es gefällt mir hier, und ich hab irgendwie nichts an Windows vermisst o_O.

Naja ok, ehrlich gesagt schon ein bisschen -> Ich hatte Lust ein bisschen Scheisse zu bauen, mit der API oder den Programmen, und sich nackt im Internet zu fühlen … fehlt mir alles xD…

Werde morgen dann endlich ein paar Pläne von mir nachgehen, und endlich wieder Reversen xD

If you enjoyed this article please consider staying updated via RSS. Links to your own social media pages could be added here.