CMSploit – wyjawianie danych do baz danych za pomocą edytorów tekstu
Napisał: Patryk Krawaczyński
09/10/2012 w Ataki Internetowe, Bezpieczeństwo Brak komentarzy. (artykuł nr 375, ilość słów: 324)
“B
lisko 1% stron internetowych opartych na systemach CMS (takich jak WordPress lub Joomla) nieświadomie udostępnia dane do baz danych, dla tych którzy wiedzą gdzie ich szukać.” – do takiego wniosku doszedł Feross Aboukhadijeh pisząc mały programik o nazwie CMSploit. Ideą, na której polega jego działanie jest następująca:
– wiele administratorów i developerów do edycji plików konfiguracyjnych systemów zarządzania treścią używa prostych edytorów tekstu takich jak vim, emacs, czy nano. Podczas normalnej lub przerwanej edycji (np. zerwana sesja SSH) edytory te tworzą kopie zapasowe lub tymczasowe pliki. Na przykład edytując plik wp-config.php możemy doprowadzić do powstania plików o rozszerzeniu: .php~
(Vim, Gedit), .php#
(Emacs), .php.save
(Nano), .php.swp
(Vim) .php.bak
(dowolnie skonfigurowany edytor do zachowywania kopii zapasowych) lub .php.old
(często nazywane kopie przez administratorów). W ten sposób większość serwerów WWW odpytane o te rodzaje plików zwróci ich treść (traktując ich content-type
jako plaintext i pomijając pre-processor PHP).
Z przetestowanych 216.391 najbardziej popularnych stron (według Quantcast) – 230 plików konfiguracyjnych było podatnych na ten rodzaj ataku. Biorąc pod uwagę, że 0.11% (230 / 216391) z tej próbki przeszło pozytywnie wynik, a 13.8% z top 10.000 stron opartych jest wyłącznie o system CMS – oznacza to, że teoretycznie 0.77% [ 230 / (216391 * 0.138) ] stron opartych na CMS’ach jest podatna na ten rodzaj ataku (jedna na 130 stron).
Obrona przed tego rodzaju atakiem oczywiście wiąże się z stworzeniem odpowiednich list dostępu odnośnie tych rozszerzeń. Dla serwera Apache mogę one mieć następującą postać:
<Files ~ "(^#.*#|~|\.sw[op]|\.bak|\.old)$"> Order allow,deny Deny from all </Files>
Warto wspomnieć, że Riccardo Cecolin inspirując się programem CMSploit napisał skrypt http-config-backup do programu nmap.
Więcej informacji: 1% of CMS-Powered Sites Expose Their Database Passwords