Bericht iwwer de Kompromiss vum Git Repository a Benotzerbasis vum PHP Projet

Déi éischt Resultater vun der Analyse vun engem Zwëschefall am Zesummenhang mat der Identifikatioun vun zwee béiswëlleg Verpflichtungen am Git-Repository vun engem PHP-Projet mat enger Backdoor aktivéiert wann Dir eng Ufro mat engem speziell entwéckelte User Agent Header schéckt. Am Laf vun der Studie vun de Spure vun den Aktivitéiten vun den Ugräifer gouf ofgeschloss datt de git.php.net Server selwer, op deem de Git-Repository läit, net gehackt gouf, awer d'Datebank mat de Konten vun de Projetsentwéckler kompromittéiert gouf. .

Et ass méiglech datt d'Ugräifer d'Benotzerdatenbank eroflueden, déi am DBMS um master.php.net Server gespäichert ass. D'Inhalter vu master.php.net sinn scho migréiert op den neien Main.php.net Server dee vu Schrack installéiert ass. All Entwéckler Passwierder, déi benotzt gi fir Zougang zu der php.net Infrastruktur ze kréien, goufen zréckgesat an de Prozess fir se z'änneren gouf duerch eng speziell Passwuert Erhuelung Form initiéiert. D'git.php.net an svn.php.net Repositories bleiwen nëmme liesen (D'Entwécklung gouf op GitHub geplënnert).

No der Entdeckung vum éischte béiswëllegen Engagement iwwer de Kont vum Rasmus Lerdorf, dem Grënner vu PHP, gouf ugeholl datt säi Kont gehackt gouf an den Nikita Popov, ee vun de Schlëssel PHP-Entwéckler, huet d'Ännerungen zréckgezunn an d'Verpflichtungsrechter blockéiert fir déi problematesch Kont. No enger Zäit koum d'Realiséierung datt d'Blockéierung net Sënn mécht, well ouni Verifizéierung vu Verpflichtungen mat enger digitaler Ënnerschrëft, all Participant mat Zougang zum php-src Repository eng Ännerung maache kann andeems en fiktiven Auteur ersat gëtt.

Als nächst hunn d'Attacker e béiswëlleg Engagement am Numm vum Nikita selwer geschéckt. Andeems Dir d'Logbicher vum Gitolite Service analyséiert, benotzt fir Zougang zu Repositories z'organiséieren, gouf e Versuch gemaach fir de Participant ze bestëmmen, deen d'Ännerungen tatsächlech gemaach huet. Trotz der Inklusioun vun der Comptabilitéit fir all Verpflichtungen, goufen et keng Entréen am Logbuch fir zwee béiswëlleg Ännerungen. Et gouf kloer datt et e Kompromëss vun der Infrastruktur gouf, well Verpflichtungen direkt bäigefüügt goufen, d'Verbindung iwwer Gitolit ëmgoen.

De git.php.net Server gouf séier zougemaach, an de primäre Repository gouf op GitHub verluecht. An der Eil gouf iwwersinn, datt et nieft dem SSH-Zougang iwwer Gitolite och en anere Login fir de Repository gouf, deen et erlaabt huet, Commits iwwer HTTPS ze schécken. An dësem Fall gouf de git-http-backend fir d'Interaktioun mat Git benotzt, an d'Authentifikatioun gouf iwwer den Apache2 HTTP Server duerchgefouert, deen d'Rechter verifizéiert huet andeems en op eng Datebank zougegraff gouf, déi op ... gehost gouf. Server master.php.net. Den Login war net nëmme mat Schlësselen, mä och mat engem normale Passwuert erlaabt. D'Analyse vun den HTTP-Serverprotokoller huet bestätegt, datt déi béiswëlleg Ännerungen iwwer HTTPS bäigefüügt goufen.

Eng Untersuchung vun de Logbicher huet erginn, datt d'Attacker net beim éischte Versuch eng Verbindung opgeholl hunn, mä als éischt probéiert hunn, den Numm vum Kont ze roden. Nodeems se en identifizéiert haten, hunn se sech beim éischte Versuch ageloggt. Dëst bedeit, datt si d'Passwierder vum Rasmus an dem Nikita am Viraus kannten, awer net hir Benotzernimm. Wa d'Attacker Zougang zum DBMS kruten, ass et net kloer, firwat se net direkt de richtege Benotzernumm benotzt hunn, deen do uginn ass. Dës Diskrepanz ass nach net zouverlässeg erkläert ginn. Den Hack vu master.php.net gëllt als dat warscheinlechst Szenario, wéi am Moment. Server Et goufe ganz ale Code an en veralteten Betribssystem benotzt, deen zënter laanger Zäit net aktualiséiert gi war an net-gepatchte Schwachstelle hat.

D'Aktiounen, déi geholl ginn, beinhalt d'Wiederinstallatioun vun der master.php.net Server-Ëmfeld an den Transfert vu Scripten op déi nei Versioun vu PHP 8. De Code fir mat der DBMS ze schaffen gouf geännert fir parametriséiert Ufroen ze benotzen, déi d'Substitutioun vum SQL Code komplizéiere kënnen. De bcrypt Algorithmus gëtt benotzt fir Passwuert-Hashen an der Datebank ze späicheren (virdrun goufen Passwierder mat engem onverlässlechen MD5-Hash gespäichert). Bestehend Passwierder ginn zréckgesat an Dir sidd opgefuerdert en neit Passwuert duerch d'Passwuert Erhuelung Form ze setzen. Zënter datt den Zougang zu de git.php.net a svn.php.net Repositories iwwer HTTPS un MD5 Hashes gebonnen ass, gouf decidéiert git.php.net an svn.php.net am Read-only Modus ze loossen, an och all ze réckelen déi verbleiwen zu hinnen PECL Extensioun Repositories op GitHub, ähnlech wéi den Haapt PHP Repository.

Source: opennet.ru

Kaaft zouverlässeg Hosting fir Site mat DDoS Schutz, VPS VDS Server 🔥 Kaaft zouverléissegt Websäithosting mat DDoS-Schutz, VPS VDS Server | ProHoster