Всем доброго времени суток. Многие из Вас знают о Пентесте, кто-то имел даже с ним дело, а кто-то только слышал и хотел бы почувствовать себя мини специалистом в этой области. Давным давно, а может и не давно, на VulnHub появилась лаборатория, посвященная как раз этому. Для работы я использовал Kali Linux и VirtualBox, ну и саму лабораторию of course.
Теперь нам нужно соединить 2 машины. Сделать это просто: открываем cmd и переходим в директорию, где установлен VirtualBox и прописываем настройки для VboxManage  Теперь в настройках Kali и Pentest мы ставим название той сети, которую написали в cmd  Проверяем, видит ли Kali Linux нашу лабораторию.  Видим подключение на eth0. Теперь нам нужно узнать конкретный IP нашей машины. Для этого воспользуемся небезызвестной программой Nmap  IP нашей лаборатории 10.0.1.2 После как Nmap просканировал нашу виртуальную сеть, мы увидели, что на лаборатории открыто 3 порта: Пробуем подключиться по 80 порту. Для этого откроем браузер (в моем случае это FireFox)  Отлично! Сайт работает. Давайте проверим, какие директории он от нас скрывает. Для этого воспользуемся замечательной программой nikto и посмотрим на результат.  Директория secret должна быть интересной. Давайте же узнаем, что она скрывает  Выглядит, конечно, на 3 из 10, но это всё можно исправить, во имя красоты и удобства, естественно. Самые внимательные, наверное, уже догадались, да и nikto с Nmap нам ни раз намекали. Допишем в hosts название, через terminal: Теперь-то мы готовы увидеть всю красоту сайта  Теперь, как ищейки, смотрим все директории сайта, тыкаем на все, что тыкается и в конце узнаем, что сайт написан на WordPress. Да — да nikto нам и до этого говорил это, но легких путей мы не ищем. Давайте же воспользуемся сканером уязвимостей WordPress — WPScan WordPress Security Scanner by the WPScan Team
Version 2.9.3
Sponsored by Sucuri — https://sucuri.net
@WPScan, @ethicalhack3r, @erwan_lr, pvdl, @FireFart [+] URL: http://10.0.1.2/secret/
[+] Started: Thu Mar 8 17:47:02 2018
[!] The WordPress 'http://10.0.1.2/secret/readme.html' file exists exposing a version number
[+] Interesting header: LINK: http://vtcsec/secret/index.php/wp-json/; rel="https://api.w.org/"
[+] Interesting header: SERVER: Apache/2.4.18 (Ubuntu)
[+] XML-RPC Interface available under: http://10.0.1.2/secret/xmlrpc.php
[!] Upload directory has directory listing enabled: http://10.0.1.2/secret/wp-content/uploads/
[!] Includes directory has directory listing enabled: http://10.0.1.2/secret/wp-includes/
[+] WordPress version 4.9 (Released on 2017-11-15) identified from advanced fingerprinting, meta generator, links opml, stylesheets numbers
[!] 6 vulnerabilities identified from the version number
[!] Title: WordPress 2.8.6-4.9 — Authenticated JavaScript File Upload
Reference: https://wpvulndb.com/vulnerabilities/8966
Reference: https://wordpress.org/news/2017/11/wordpress-4-9-1-security-and-maintenance-release/
Reference: https://github.com/WordPress/WordPress/commit/67d03a98c2cae5f41843c897f206adde299b0509
Reference: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17092
[i] Fixed in: 4.9.1
[!] Title: WordPress 1.5.0-4.9 — RSS and Atom Feed Escaping
Reference: https://wpvulndb.com/vulnerabilities/8967
Reference: https://wordpress.org/news/2017/11/wordpress-4-9-1-security-and-maintenance-release/
Reference: https://github.com/WordPress/WordPress/commit/f1de7e42df29395c3314bf85bff3d1f4f90541de
Reference: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17094
[i] Fixed in: 4.9.1
[!] Title: WordPress 4.3.0-4.9 — HTML Language Attribute Escaping
Reference: https://wpvulndb.com/vulnerabilities/8968
Reference: https://wordpress.org/news/2017/11/wordpress-4-9-1-security-and-maintenance-release/
Reference: https://github.com/WordPress/WordPress/commit/3713ac5ebc90fb2011e98dfd691420f43da6c09a
Reference: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17093
[i] Fixed in: 4.9.1
[!] Title: WordPress 3.7-4.9 — 'newbloguser' Key Weak Hashing
Reference: https://wpvulndb.com/vulnerabilities/8969
Reference: https://wordpress.org/news/2017/11/wordpress-4-9-1-security-and-maintenance-release/
Reference: https://github.com/WordPress/WordPress/commit/eaf1cfdc1fe0bdffabd8d879c591b864d833326c
Reference: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17091
[i] Fixed in: 4.9.1
[!] Title: WordPress 3.7-4.9.1 — MediaElement Cross-Site Scripting (XSS)
Reference: https://wpvulndb.com/vulnerabilities/9006
Reference: https://github.com/WordPress/WordPress/commit/3fe9cb61ee71fcfadb5e002399296fcc1198d850
Reference: https://wordpress.org/news/2018/01/wordpress-4-9-2-security-and-maintenance-release/
Reference: https://core.trac.wordpress.org/ticket/42720
Reference: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5776
[i] Fixed in: 4.9.2
[!] Title: WordPress <= 4.9.4 — Application Denial of Service (DoS) (unpatched)
Reference: https://wpvulndb.com/vulnerabilities/9021
Reference: https://baraktawily.blogspot.fr/2018/02/how-to-dos-29-of-world-wide-websites.html
Reference: https://github.com/quitten/doser.py
Reference: https://thehackernews.com/2018/02/wordpress-dos-exploit.html
Reference: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-6389
[+] WordPress theme in use: twentyseventeen — v1.4
[+] Name: twentyseventeen — v1.4
| Latest version: 1.4 (up to date)
| Last updated: 2017-11-16T00:00:00.000Z
| Location: http://10.0.1.2/secret/wp-content/themes/twentyseventeen/
| Readme: http://10.0.1.2/secret/wp-content/themes/twentyseventeen/README.txt
| Style URL: http://10.0.1.2/secret/wp-content/themes/twentyseventeen/style.css
| Referenced style.css: http://vtcsec/secret/wp-content/themes/twentyseventeen/style.css
| Theme Name: Twenty Seventeen
| Theme URI: https://wordpress.org/themes/twentyseventeen/
| Description: Twenty Seventeen brings your site to life with header video and immersive featured images. With a…
| Author: the WordPress team
| Author URI: https://wordpress.org/
[+] Enumerating plugins from passive detection…
[+] No plugins found
[+] Finished: Thu Mar 8 17:47:06 2018
[+] Requests Done: 89
[+] Memory used: 37.828 MB
[+] Elapsed time: 00:00:03 Хммм, а давайте попробуем перечислить все имена пользователей с помощью флага --enumerate u.  Есть только один user. Значит, можно попробовать побрутить пароль.  К сожалению, наш брут не увенчался успехом, но мы увидели кое-что интересное — ошибка логина admin и пароля admin. Надо будет попробовать провести exploit через Metasploit Для начала нужно провести настройку Metasploit. Стартуем!  Нужно найти наш exploit. Воспользуемся командой search Из списка нам подходит wp_admin_shell_upload Запускаем его и проводим настройку Должно получиться так:  Запуск!  Переходим в браузер и заходим под admin/admin  Теперь попробуем получить доступ до terminal'а. Для этого опять нам понадобится Metasploit. Проводим настройку  Запуск! (вместо run можно использовать exploit)  Тадааам, мы получили доступ до консоли.