Niniejszy artykuł jest dopełnieniem artykułu, o którym pisaliśmy chwilę wcześniej. Tym razem skupimy się na samych atakach jak i narzędziach, które do nich wykorzystamy. Ponadto, skupiamy się na zautomatyzowanych atakach.
Interact.sh
W poniższych atakach będziemy korzystać ze strony interact.sh. Jest to otwartoźródłowe narzędzie zaprojektowane do wykrywania błędów, które powodują zewnętrzne interakcje. Te błędy obejmują min.: Blind SQLi, Blind CMDi, SSRF oraz omawiany w niniejszym raporcie log4shell.
Log4j RCE Scanner
Pierwszym narzędziem którego użyjemy będzie Log4j RCE Scanner. Na początek należy ściągnąć lokalnie narzędzie poniższym poleceniem.
git clone https://github.com/adilsoybali/Log4j-RCE-Scanner.git.
Następnie po nadaniu uprawnień do pliku log4j-rce-scanner.sh
oraz wygenerowaniu na interact.sh
tokenu DNS, uruchamiamy narzędzie komendą:
./log4j-rce-scanner.sh -d target.com -b d60yce2vtc0044h3fx0g4doxggfdavbrb.interact.sh.
Uruchomiony zostaje subfinder, assetfinder, amass oraz zostają zastosowane różne metody ataku. W przypadku pomyślnego ataku powinniśmy dostać na interact.sh
dostęp do serwera.
Log4J-Scanner for Burp Suite (od 0xDexter0us)
Następny narzędziem będzie rozszerzenie do burpsuite o nazwie Log4J-Scanner. Nie jest ono dostępne w BApp Store i wymagane jest ściągnięcie pliku o rozszerzeniu .jar
celem zainstalowania go lokalnie. Aby narzędzie zadziałało, należy najpierw utworzyć historię requestów crawlując manualnie stronę, która nas interesuje. Rozszerzenie następnie powtórzy za nas requesty dodając wybrany przez nas payload w wybranych przez nas miejscach. Mogą to być między nagłówki Origin, Referer, User-Agent, ciasteczka i parametry w URL.
Podobnie jak w poprzednim przypadku, najpierw należy wygenerować DNS Token za pośrednictwem interact.sh
, a następnie uzupełnić wymagane pola w rozszerzeniu oraz kliknąć przycisk „Hack The Planet”.

Log4Shell scanner for Burp Suite (od PortSwigger)
Ostatnim użytym skanerem będzie Log4Shell od firmy PortSwigger. Podobnie jak w poprzednim przypadku, ściągamy z ich repozytorium plik o rozszerzeniu .jar
, który instalujemy lokalnie jako rozszerzenie do narzędzia Burp Suite. Plik znajduje się po linkiem:
https://github.com/silentsignal/burp-log4shell/releases/download/v0.2.1/burp-log4shell.jar.
Następnie w configuration library należy zaimportować plik extensions-only.json
.

Kolejnym krokiem będzie uruchomienie Proxy i utworzenie poprzez crawlowanie historii requestów. W naszym przypadku wejdziemy jedynie w jeden link. Z utworzonej listy requestów wybieramy endpoint nas interesujący oraz wybieramy na nim kolejno opcje: „Scan”, „Scan configuration” oraz „extensions-only” z naszej istniejącej biblioteki.

Po zatwierdzeniu skanu nasz audyt na podatność log4shell powinien pojawić się w zakładce „Dashboard”. W moim przypadku ilość przesłanych requestów wynosiła 28.

Źródła
https://bugspace.pl/podatnosc-roku-ktora-bezpiecznicy-zapiamietaja-na-dlugo-czyli-o-podatnosci-log4shell/
https://github.com/adilsoybali/Log4j-RCE-Scanner
https://app.interactsh.com/#/
https://github.com/0xDexter0us/Log4J-Scanner
https://github.com/PortSwigger/log4shell-scanner
https://vimeo.com/656095367/3642ba0859
https://github.com/silentsignal/burp-log4shell/releases/download/v0.2.1/burp-log4shell.jar