🌐 Обзор проверенных способов поиска скрытых конечных точек |

🌐 Обзор проверенных способов поиска скрытых конечных точек

Мануал

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

Многие организации сталкивались с атаками на критические уязвимости через скрытые конечные точки.

Учитывая это, давайте посмотрим, как мы можем найти скрытые конечные точки.

Существуют различные методы поиска Скрытых конечных точек:

1. Google дорки

Google всегда был и будет главным собирателем информации.

Google дорки не так просты, как обычный поиск Google.

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

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

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

Ниже приведены некоторые из операторов Google, которые мы можем использовать для поиска скрытых конечных точек:

site:example.com ext:doc | ext:docx | ext:odt | ext:rtf | ext:sxw | ext:psw | ext:ppt | ext:pptx | ext:pps | ext:csv 
site:s3.amazonaws.com + example.com
site:accounts.example.com inurl:user_id
site:example.com inurl:login | inurl:signin | intitle:Login | intitle:"sign in"

2. Github

Github – это отличный инструмент, с помощью которого можно собрать много информации об инфраструктуре компании.

Для начала мы можем просто использовать название цели, и мы сможем найти множество коммитов, сделанных в их репозиториях.

⚓ Github-Dorks – Коллекция Github дорков и вспомогательного инструмента для автоматизации процесса проверки

Мы можем узнать, используют ли они какие-либо внутренние инструменты, такие как JIRA, Asana или любые другие инструменты, из их коммитов.

🔍 Shhgit – поиск секретов в GitHub в реальном времени

Проверка Github – очень важный этап проверки веб-приложений, поскольку в репозиториях Github хранится множество закрытых ключей API и учетных данных, необходимых для работы приложения.

🔎 yar: инструмент OSINT для разведки репозиториев / пользователей / организаций на Github

Репо Github также хранит поддомены, конечные точки API в своем коде, и мы можем использовать Github дорки для поиска этой конфиденциальной информации.

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

Иногда в процессе поиска скрытых конечных точек может произойти несколько ошибок:

Мы можем выйти за пределы области применения, обнаружив стороннее приложение.
Мы можем обнаружить очень старые ключи или токены, не используемые целью
Мы можем обнаружить, что найденные конечные точки уже удалены или больше не используются.

Некоторые из Github дорков, которые мы можем использовать для поиска скрытых конечных точек, следующие:

“example.tld” API_link 
“example.tld” API_key
“example.tld” secret_key
“example.tld” aws_key
“example.tld” Password 
“example.tld” FTP
“example.tld” login 
“example.tld” github_token

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

3. APK

Файл пакета приложений Android (APK) – это формат файла, используемый для установки прикладного программного обеспечения на операционную систему Android.

Apk’ы могут быть декомпилированы, и мы можем просмотреть все файлы кода, чтобы найти скрытые конечные точки.

Хотя это можно сделать вручную, лучше использовать автоматические инструменты для более быстрого и эффективного процесса.

Одним из таких инструментов, который можно использовать для поиска скрытых конечных точек из Apk’ов, является ApkLeaks.

3.1 ApkLeaks

Apkleaks – это инструмент с открытым исходным кодом на основе python, который может быть использован для поиска различных скрытых конечных точек, секретов в Apk-приложении.

Он очень быстрый, эффективный и легко доступен в различных дистрибутивах Linux.

3.1.1 Установка ApkLeaks

Вы можете скачать Apkleaks двумя способами:

  • менеджер пакетов pip3
  • Исходники

Установка с помощью pip3

pip3 install apkleaks

Установка с использованием исходников

git clone https://github.com/dwisiswant0/apkleaks

cd apkleaks/

pip3 install -r requirements.txt

3.1.2 Использование ApkLeaks для поиска конечных точек

Сканирование APK-файла для поиска конечных точек

python3 apkleaks.py -f file.apk

Запись результатов в файл

python3 apkleaks.py -f /home/spi3er/Downloads/Templerun.apk -o ../output.txt
_ ____ _ ___ _
/ \ | _ \| |/ / | ___ __ _| | _____
/ _ \ | |_) | ' /| | / _ \/ _` | |/ / __|
/ ___ \| __/| . \| |__| __/ (_| | <\__ \
/_/ \_\_| |_|\_\_____\___|\__,_|_|\_\___/
v2.6.1
--
Scanning APK file for URIs, endpoints & secrets
(c) 2020-2021, dwisiswant0

** Decompiling APK...
INFO - loading ...
INFO - processing ...
INFO - done

** Scanning against 'com.disney.TempleRunOz.goo'

[Artifactory_Password]
- AP2tMkmTC0clySJvgUxUmczyyQU

[Facebook_Secret_Key]
- FB_APP_SIGNATURE = "30820268308201d102044a9c4610300d

[IP_Address]
- 1.25.0.3
- 10.0.1.7
- 10.0.2.2
- 192.168.1.1
- 192.168.1.8
- 192.168.2.1

[LinkFinder]
- /1.1/statuses/update_with_media.json
- /Android/data/
- /analytics
- /analytics/
- /android_v2/handle_app_loads
- /android_v2/handle_crashes
- /android_v2/handle_exceptions
- /android_v2/ndk_crash
- /android_v2/update_package_name
- /android_v2/update_user_metadata
- /cache
- /com.crittercism/lib/
- /files
- /foo/bar/dumdum
- /foobar/workspace/
- /forum/springboard
- /friends
- /libcrittercism-ndk.so
- /me/
- /proc/cpuinfo
- /proc/meminfo
- /sdcard
- /sdcard/NSFileManagerTests
- /sdcard/NSFileManagerTestsDestination
- /sdcard/NSFileManagerTestsSource
- /strings/
- /tmp
- AES/CBC/PKCS5Padding
- AES/ECB/NoPadding
- Android/data
- OZ/Tinted_Alpha_Font
- Oz/Materials/oz_ww_master_opaque
- Prefabs/Temple/environments/darkforest/oz_df_master_opaque
- Prefabs/Temple/environments/emeraldcity/oz_ec_master_opaque
- assets/bin/
- bin/Data/settings.xml
- challenges/team
- config.json
- content/unknown
- content://com.facebook.katana.provider.AttributionIdProvider
- curly.txt
- http://api.kaixin001.com/oauth/access_token
- http://api.kaixin001.com/oauth/authorize?oauth_token=%s
- http://api.kaixin001.com/oauth/request_token
- http://api.t.163.com/oauth/access_token
- http://api.t.163.com/oauth/authenticate?oauth_token=%s
- http://api.t.163.com/oauth/authorize?oauth_token=%s
- http://api.t.163.com/oauth/request_token
- http://api.t.sina.com.cn/oauth/access_token
- http://api.t.sina.com.cn/oauth/authorize?oauth_token=%s
- http://api.t.sina.com.cn/oauth/request_token
- http://api.t.sohu.com/oauth/access_token
- http://api.t.sohu.com/oauth/authorize?oauth_token=%s
- http://api.t.sohu.com/oauth/request_token
- http://api.twitter.com
- http://api.twitter.com/oauth/access_token
- http://api.twitter.com/oauth/request_token
- http://disneynetwork0-a.akamaihd.net/mobilenetwork/referralstore/bootstrap/
- http://foursquare.com/oauth/access_token
- http://foursquare.com/oauth/authorize?oauth_token=%s
- http://foursquare.com/oauth/request_token
- http://java.sun.com/j2se/1.3/
- http://openapi.lovefilm.com/oauth/access_token
- http://openapi.lovefilm.com/oauth/request_token
- http://schemas.android.com/apk/res/android
- http://vimeo.com/oauth/access_token
- http://vimeo.com/oauth/authorize?oauth_token=%s
- http://vimeo.com/oauth/request_token
- http://www.amazon.com/gp/mas/get-appstore/android/ref=mas_mx_mba_iap_dl
- http://www.apple.com/DTDs/PropertyList-1.0.dtd
- http://www.apple.com/DTDs/PropertyList-1.0.dtd\
- http://www.burstly.com/scheme
- http://www.foo.com
- http://www.plurk.com/OAuth/access_token

Сохранение файла результатов в формате JSON

apkleaks -f file.apk -o results.json --json

4. Архивы

На архивных сайтах хранится много информации обо всех сайтах в настоящее время и о предыдущих данных.

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

Некоторые из наиболее полезных архивов – AlienVault, Common Crawl и WaybackMachine.

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

Наиболее популярные инструменты, используемые веб-пентестерами для поиска скрытых конечных точек с помощью архивных данных, – Gau и WaybackUrls.

4.1 Gau

GetallUrls (gau) – это инструмент с открытым исходным кодом, написанный на Go, который собирает все урлы из AlienVault, CommonCrawl, Waybackmachine для любого заданного домена.

Он работает быстро и может быть легко соединен со многими другими инструментами пентестинга для поиска множества скрытых конечных точек.

4.1.1 Установка Gau

Проверьте, установлен ли Go или нет

  Go version

Установите Gau с помощью следующей команды

go install github.com/lc/gau/v2/cmd/gau@latest

Проверьте, работает ли Gau нормально или нет

4.1.2 Использование Gau для поиска скрытых конечных точек

Задайте текстовый файл с доменами для поиска

cat domains.txt | gau > endpoints.txt

Запись результатов в файл

gau --o out.txt

Внесение png, jpg, gif в черный список сканирования

gau --blacklist jpg,gif,png domain.com

5. JS-файлы

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

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

Лучшие инструменты, которые я лично использую для поиска конечных точек в JS-файлах, это LinkFinder, JSFScan.

Итак, давайте запачкаем наши руки, используя эти замечательные инструменты

5.1 LinkFinder

Linkfinder – это инструмент с открытым исходным кодом, написанный на языке python для поиска параметров и конечных точек в файлах Javascript.

Linkfinder делает это, используя jsbeautifier для python с большим регулярным выражением.

Регулярное выражение отвечает за поиск:

  • полные URL
  • Абсолютные URL
  • Относительные URL с хотя бы одной косой чертой
  • Относительные URL без косой черты

5.1.1 Установка LinkFinder

Выполните следующие команды для установки LinkFinder

 git clone https://github.com/GerbenJavado/LinkFinder.git

 cd LinkFinder

 python3 setup.py install
5.1.1 Установка LinkFinder

Выполните следующие команды для установки LinkFinder

5.1.2 Использование LinkFinder для поиска скрытых конечных точек

Поиск конечных точек по URL-адресу

python3 linkfinder.py -i https://example.com/index.js -o cli

Отображение вывода в формате html

python3 linkfinder.py -i https://example.com/index.js -o results.html

Анализ домена на наличие файлов Js

python3 linkfinder.py -d todoist.com

5.2 JSFScan

JSFscan можно назвать лучшим инструментом для поиска Javascript, т.е. с помощью JSFscan вы сможете найти конечные точки, секреты, переменные, создать списки слов из Js файлов и многое другое.

Предварительные требования:

  • Gau
  • Httpx

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

5.2.1 Установка JSFScan

Установите Httpx с помощью следующей команды,

go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest

Установите JSFScan с помощью следующих команд,

git clone https://github.com/KathanP19/JSFScan.sh.git

cd JSFScan.sh
 
sudo chmod +x install.sh

 ./install.sh
5.2.2 Использование JSFScan для поиска скрытых конечных точек

Импорт файла, содержащего JS Urls

Bash JSFScan.sh -f ./path/to/JSUrls

Найти конечные точки из JSUrls

Bash JSFScan.sh -e

поиск конечных точек может работать только после импорта файла JSUrls. Файлы JSUrls должны содержать урлы типа https://static.bbc.co.uk/bbcdotcom/2.6.0/script/dist/bbcdotcom.dev.js.

Найти секреты в JsUrls

Bash JSFScan.sh -s

Заключение

В этой статье мы узнали о 5 способах поиска скрытых конечных точек во время пентеста веб-приложений.

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

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

см. также:

🐉 Kali linux – наиболее часто используемые инструменты для поиска субдоменов

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий