MageScan – wsparcie w skanach aplikacji Magento

Bezpieczeństwo

Loading

MageScan – wsparcie w skanach aplikacji Magento to kolejna odsłona wpisów o narzędziach – wspierających Waszą pracę przy tematyce Security. MageScan, to narzędzie dedykowane analizie bezpieczeństwa aplikacji opartych o system Magento, popularną platformę e-commerce.

Wprowadzenie

Magento to jedna z najczęściej wybieranych platform do tworzenia rozbudowanych sklepów internetowych. Elastyczność, modularność i ogromne możliwości rozszerzeń sprawiają, że Magento bywa również częstym celem ataków — zwłaszcza przy niewłaściwej konfiguracji czy użyciu podatnych wersji. Do podstawowej diagnostyki bezpieczeństwa witryn Magento świetnie nadaje się MageScan.

Opis narzędzia

MageScan to lekkie i szybkie narzędzie typu open-source, napisane w PHP, stworzone przez społeczność Magento (twórca: Steve Robbins). Umożliwia zdalne skanowanie instancji Magento oraz lokalną analizę konfiguracji i uprawnień plików. Jest często używane przez pentesterów, administratorów i zespoły DevSecOps.

Kluczowe cechy MageScan

  • Dedykowane skanowanie Magento

    • Skoncentrowane na strukturze, ścieżkach, komponentach i wersjach Magento.

  • Wykrywanie wersji Magento

    • Pozwala na szybkie określenie wersji i sprawdzenie znanych podatności.

  • Sprawdzanie publicznych katalogów

    • Weryfikacja dostępności katalogów typu /var/, /app/, /downloader/ itd.

  • Analiza nagłówków bezpieczeństwa

    • Sprawdza obecność podstawowych nagłówków jak X-Frame-Options, Content-Security-Policy itp.

  • Skanowanie komponentów i rozszerzeń

    • Wykrywa moduły i znane komponenty narażone na ataki.

  • Lokalna analiza uprawnień

    • Umożliwia skanowanie lokalnego katalogu z kodem Magento w celu wykrycia niepoprawnych uprawnień plików.

  • Otwartoźródłowość

    • Dostępne jako darmowe narzędzie PHP – można łatwo pobrać i uruchomić.

  • Brak potrzeby instalacji Magento

    • MageScan działa niezależnie – nie wymaga dostępu do backendu.

Instalacja

MageScan jest dostępny jako plik .phar, więc instalacja sprowadza się do pobrania i nadania uprawnień:

curl -LO https://github.com/steverobbins/magescan/releases/latest/download/magescan.phar
chmod +x magescan.phar

Podstawowe i zaawansowane polecenia

1. Skanowanie podstawowe (wszystko naraz)
Wykrywa wersję Magento, moduły, nagłówki, publiczne katalogi, itp.
./magescan.phar scan:all https://example.com

2. Sprawdzenie wersji Magento

./magescan.phar scan:version https://example.com
3. Sprawdzenie komponentów
./magescan.phar scan:modules https://example.com

4. Sprawdzenie dostępnych katalogów i plików

./magescan.phar scan:paths https://example.com

5. Nagłówki bezpieczeństwa

./magescan.phar scan:headers https://example.com

6. Analiza uprawnień

./magescan.phar scan:permissions https://example.com

Jakie informacje możemy uzyskać dzięki MageScan

MageScan dostarcza zestawu praktycznych danych, które pozwalają szybko ocenić bezpieczeństwo instancji Magento. Oto przykłady najważniejszych informacji:


1. Identyfikacja wersji Magento

Na przykład, jeśli MageScan wykryje wersję 2.3.4, a wiadomo, że zawiera znane podatności typu Remote Code Execution (RCE), można podjąć decyzję o pilnej aktualizacji systemu.


2. Lista komponentów i modułów

Jeśli strona korzysta z popularnego rozszerzenia do płatności lub logistyki, a MageScan wykryje jego obecność, można zweryfikować czy dana wersja posiada zgłoszone CVE – np. podatności typu SQL Injection lub Directory Traversal.


3. Publicznie dostępne katalogi

MageScan może wykryć dostęp do katalogów takich jak:

  • /var/

  • /downloader/

  • /errors/

  • /app/

które w środowisku produkcyjnym powinny być zablokowane. Ich dostępność może oznaczać ryzyko wycieku informacji lub umożliwienie ataków typu LFI (Local File Inclusion).


4. Analiza nagłówków bezpieczeństwa

Narzędzie sprawdzi, czy serwer zwraca odpowiednie nagłówki zabezpieczające przeglądarkę i użytkownika końcowego, takie jak:

  • X-Frame-Options

  • Strict-Transport-Security

  • Content-Security-Policy

Ich brak może prowadzić do ataków typu clickjacking, downgrade attack, czy cross-site scripting (XSS).


5. Uprawnienia plików i katalogów (w analizie lokalnej)

Jeśli skanujesz kod źródłowy z repozytorium, MageScan wskaże pliki z nadmiernymi uprawnieniami (np. 777) lub brakującymi restrykcjami, co może prowadzić do eskalacji uprawnień lub umożliwić ataki typu tampering.

Integracja z gitlab-ci.yml

Aby uruchomić narzędzie na gitlabie aby uruchamiać skany szybko bez konieczności przygotowywania środowiska, wystarczy stworzenie skryptu:

stages:
  - scan

variables:
  MAGENTO_URL: "https://www.example-page.com/"

magento_scanner:
  stage: scan
  image: php:8.1-cli  
  before_script:
    - apt-get update && apt-get install -y git unzip curl
    - curl -LO https://github.com/steverobbins/magescan/releases/latest/download/magescan.phar
    - chmod +x magescan.phar
  script:
    - ./magescan.phar scan:all "$MAGENTO_URL" | tee magescan_report.txt
  artifacts:
    paths:
      - magescan_report.txt

Szkolenie

Jeżeli interesuje Cię mocno temat narzędzi dla QA do wsparcia tematów bezpieczeństwa, zajrzyj na naszą ofertę szkolenia wprowadzenia do testów bezpieczeństwa dla QA.

Zapisz się już teraz wraz z kodem LI-10 (-10%)

Podsumowanie

MageScan to przydatne, szybkie i lekkie narzędzie do podstawowego audytu instancji Magento – zarówno w kontekście zdalnego testu, jak i lokalnej analizy. Dzięki prostocie, wsparciu CI/CD i open-source’owej licencji, świetnie sprawdza się jako pierwszy krok w ocenie bezpieczeństwa środowisk Magento. MageScan – wsparcie w skanach aplikacji Magento to kolejny wpis na temat Security na serwisie dlaTesterow.PL. Narzędzie dzięki prostocie obsługi i możliwości integracji z innymi narzędziami jak np. z Gitlabem.