80,443 - Pentesting Web методологія
Tip
Вивчайте та практикуйте AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Вивчайте та практикуйте Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Підтримайте HackTricks
- Перевірте плани підписки!
- Приєднуйтесь до 💬 групи Discord або групи telegram або слідкуйте за нами в Twitter 🐦 @hacktricks_live.
- Діліться хакерськими трюками, надсилаючи PR до HackTricks та HackTricks Cloud репозиторіїв на github.
Основна інформація
Веб-сервіс є найпоширенішою та наймасштабнішою службою і існує багато різних типів уразливостей.
Порт за замовчуванням: 80 (HTTP), 443(HTTPS)
PORT STATE SERVICE
80/tcp open http
443/tcp open ssl/https
nc -v domain.com 80 # GET / HTTP/1.0
openssl s_client -connect domain.com:443 # GET / HTTP/1.0
Керівництво Web API
Короткий виклад методології
У цій методології ми припускаємо, що ви збираєтеся атакувати один домен (або піддомен) і тільки його. Отже, цю методологію слід застосовувати до кожного виявленого домену, піддомену або IP з невизначеним веб-сервером у межах scope.
- Почніть з виявлення технологій, які використовує веб-сервер. Шукайте трюки, які варто врахувати під час решти тесту, якщо вам вдасться ідентифікувати технологію.
- Чи є відомі вразливості для версії цієї технології?
- Використовується якась well known tech? Чи є корисні trick для витягання додаткової інформації?
- Чи є спеціалізований сканер для запуску (наприклад, wpscan)?
- Запустіть general purposes scanners. Ви ніколи не знаєте, чи знайдуть вони щось або нададуть цікаву інформацію.
- Почніть з початкових перевірок: robots, sitemap, 404 error та SSL/TLS scan (якщо HTTPS).
- Почніть spidering веб-сторінки: час знайти всі можливі файли, папки і параметри, що використовуються. Також перевірте на special findings.
- Зверніть увагу, що щоразу, коли під час brute-forcing або spidering виявляється новий каталог, його слід spidered.
- Directory Brute-Forcing: Спробуйте brute force усі виявлені папки в пошуку нових files та directories.
- Зверніть увагу, що щоразу, коли під час brute-forcing або spidering виявляється новий каталог, його слід Brute-Forced.
- Backups checking: Перевірте, чи можете знайти backups виявлених файлів, додаючи звичні розширення для бекапів.
- Brute-Force parameters: Спробуйте знайти приховані параметри.
- Після того як ви виявили всі можливі endpoints, які приймають user input, перевірте всі види вразливостей, пов’язаних із ними.
- Follow this checklist
Версія сервера (Уразлива?)
Виявлення
Перевірте, чи існують відомі вразливості для версії сервера, яка запущена.
HTTP headers та cookies відповіді можуть бути дуже корисними для ідентифікації технологій і/або версії, що використовується. Nmap scan може ідентифікувати версію сервера, але також можуть бути корисні інструменти whatweb, webtech or https://builtwith.com/:
whatweb -a 1 <URL> #Stealthy
whatweb -a 3 <URL> #Aggresive
webtech -u <URL>
webanalyze -host https://google.com -crawl 2
Пошук для vulnerabilities of the web application version
Перевірте, чи є WAF
- https://github.com/EnableSecurity/wafw00f
- https://github.com/Ekultek/WhatWaf.git
- https://nmap.org/nsedoc/scripts/http-waf-detect.html
Web tech tricks
Деякі трюки для пошуку вразливостей у різних відомих technologies що використовуються:
- AEM - Adobe Experience Cloud
- Apache
- Artifactory
- Buckets
- CGI
- Custom UDP RPC Protocols
- Dotnet SOAP WSDL client exploitation
- Drupal
- Flask
- Fortinet FortiWeb
- Git
- Golang
- GraphQL
- H2 - Java SQL database
- ISPConfig
- IIS tricks
- Microsoft SharePoint
- JBOSS
- Jenkins
- Jira
- Joomla
- JSP
- Laravel
- Moodle
- Nginx
- PHP (php has a lot of interesting tricks that could be exploited)
- Python
- Roundcube
- Spring Actuators
- Symphony
- Tomcat
- VMWare
- Web API Pentesting
- WebDav
- Werkzeug
- Wordpress
- Electron Desktop (XSS to RCE)
- Sitecore
- Zabbix
Врахуйте, що той же домен може використовувати різні технології на різних портах, папках та субдоменах.
Якщо веб-застосунок використовує будь-яку відому tech/platform listed before або будь-яку іншу, не забудьте пошукати в Інтернеті нові трюки (і повідомте мене!).
Огляд вихідного коду
Якщо source code застосунку доступний у github, окрім проведення власного White box test застосунку, є деяка інформація, що може бути корисною для поточного Black-Box testing:
- Чи є Change-log or Readme or Version файл або щось із version info accessible через веб?
- Як і де зберігаються credentials? Чи є якийсь (доступний?) file з credentials (usernames або passwords)?
- Чи зберігаються passwords у plain text, encrypted, або який hashing algorithm використовується?
- Чи використовується якийсь master key для шифрування чогось? Який algorithm використовується?
- Чи можна access any of these files, експлуатуючи якусь вразливість?
- Чи є якась цікава інформація в github (вирішені та невирішені) issues? Або в commit history (можливо якийсь password introduced inside an old commit)?
Source code Review / SAST Tools
Автоматичні сканери
Загальні автоматичні сканери
nikto -h <URL>
whatweb -a 4 <URL>
wapiti -u <URL>
W3af
zaproxy #You can use an API
nuclei -ut && nuclei -target <URL>
# https://github.com/ignis-sec/puff (client side vulns fuzzer)
node puff.js -w ./wordlist-examples/xss.txt -u "http://www.xssgame.com/f/m4KKGHi2rVUN/?query=FUZZ"
CMS сканери
Якщо використовується CMS, не забудьте run a scanner, можливо буде знайдено щось цікаве:
Clusterd: JBoss, ColdFusion, WebLogic, Tomcat, Railo, Axis2, Glassfish
CMSScan: WordPress, Drupal, Joomla, vBulletin сайти на предмет Security issues. (GUI)
VulnX: Joomla, Wordpress, Drupal, PrestaShop, Opencart
CMSMap: (W)ordpress, (J)oomla, (D)rupal або (M)oodle
droopscan: Drupal, Joomla, Moodle, Silverstripe, Wordpress
cmsmap [-f W] -F -d <URL>
wpscan --force update -e --url <URL>
joomscan --ec -u <URL>
joomlavs.rb #https://github.com/rastating/joomlavs
На цей момент ви повинні вже мати певну інформацію про веб-сервер, який використовує клієнт (якщо надані якісь дані), та кілька підказок, які варто врахувати під час тесту. Якщо пощастило, ви навіть знайшли CMS і запустили якийсь сканер.
Step-by-step Web Application Discovery
З цього моменту ми починаємо взаємодію з веб-додатком.
Initial checks
Default pages with interesting info:
- /robots.txt
- /sitemap.xml
- /crossdomain.xml
- /clientaccesspolicy.xml
- /.well-known/
- Check also comments in the main and secondary pages.
Forcing errors
Веб-сервери можуть поводитися непередбачувано, коли їм надсилають дивні дані. Це може відкрити вразливості або призвести до розкриття конфіденційної інформації.
- Access fake pages like /whatever_fake.php (.aspx,.html,.etc)
- Add “[]”, “]]”, and “[[” in cookie values and parameter values to create errors
- Generate error by giving input as
/~randomthing/%sat the end of URL - Try different HTTP Verbs like PATCH, DEBUG or wrong like FAKE
Перевірте, чи можете завантажувати файли (PUT verb, WebDav)
Якщо ви виявили, що WebDav увімкнено, але у вас недостатньо прав для завантаження файлів в кореневу папку, спробуйте:
- Brute Force облікових даних
- Upload files через WebDav у інші знайдені папки на сайті. Можливо, у вас є права завантажувати файли в інших папках.
SSL/TLS vulnerabilites
- Якщо додаток не примушує використовувати HTTPS в жодній частині, то він вразливий до MitM
- Якщо додаток надсилає конфіденційні дані (паролі) через HTTP. Тоді це — серйозна вразливість.
Use testssl.sh to checks for vulnerabilities (In Bug Bounty programs probably these kind of vulnerabilities won’t be accepted) and use a2sv to recheck the vulnerabilities:
./testssl.sh [--htmlfile] 10.10.10.10:443
#Use the --htmlfile to save the output inside an htmlfile also
# You can also use other tools, by testssl.sh at this momment is the best one (I think)
sslscan <host:port>
sslyze --regular <ip:port>
Інформація про SSL/TLS вразливості:
- https://www.gracefulsecurity.com/tls-ssl-vulnerabilities/
- https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/
Spidering
Запустіть якийсь тип spider всередині веб-додатку. Метою spider є знайти якомога більше шляхів у тестованому застосунку. Тому слід використовувати web crawling та зовнішні джерела для виявлення якомога більшої кількості валідних шляхів.
- gospider (go): HTML spider, LinkFinder у JS файлах та external sources (Archive.org, CommonCrawl.org, VirusTotal.com).
- hakrawler (go): HML spider, з LinkFinder для JS файлів та Archive.org як зовнішнє джерело.
- dirhunt (python): HTML spider, також вказує на “juicy files”.
- evine (go): Інтерактивний CLI HTML spider. Також шукає в Archive.org
- meg (go): Цей інструмент не є spider, але може бути корисним. Можна вказати файл з hosts і файл з paths, і meg завантажить кожен path для кожного host і збереже відповіді.
- urlgrab (go): HTML spider з можливістю рендерингу JS. Однак виглядає як покинуте, попередньо скомпільована версія стара і поточний код не компілюється.
- gau (go): HTML spider, що використовує external providers (wayback, otx, commoncrawl)
- ParamSpider: Цей скрипт знайде URL з параметрами та перелічить їх.
- galer (go): HTML spider з можливістю рендерингу JS.
- LinkFinder (python): HTML spider з можливістю JS beautify, здатний шукати нові шляхи у JS файлах. Варто також глянути на JSScanner, який є wrapper для LinkFinder.
- goLinkFinder (go): Для витягування endpoints як з HTML-коду, так і з вбудованих javascript-файлів. Корисний для bug hunters, red teamers, infosec ninjas.
- JSParser (python2.7): Скрипт на python 2.7 з Tornado та JSBeautifier для парсингу відносних URL з JavaScript-файлів. Корисний для простого відкриття AJAX-запитів. Виглядає покинутим.
- relative-url-extractor (ruby): Беручи файл (HTML), він витягне URL з нього за допомогою регулярних виразів, щоб знайти та витягти відносні URL з “уродливих” (minify) файлів.
- JSFScan (bash, several tools): Збирає цікаву інформацію з JS файлів за допомогою кількох інструментів.
- subjs (go): Знаходить JS файли.
- page-fetch (go): Завантажує сторінку в headless browser і виводить всі URL, які були завантажені для відображення сторінки.
- Feroxbuster (rust): Інструмент для виявлення контенту, що комбінує декілька опцій попередніх інструментів.
- Javascript Parsing: Розширення Burp для знаходження шляхів і параметрів у JS файлах.
- BurpJSLinkFinder Enhanced: Burp extension (Jython), який пасивно аналізує JavaScript-відповіді (за MIME type і
/jsшляхами) для витягування endpoints/links і за бажанням позначає вбудовані секрети з рівнем severity. - Sourcemapper: Інструмент, який за URL .js.map дасть вам beatified JS код.
- xnLinkFinder: Інструмент для виявлення endpoints для заданої цілі.
- waymore: Виявляє посилання з wayback machine (також завантажуючи відповіді у wayback і шукаючи додаткові посилання).
- HTTPLoot (go): Проводить краулінг (навіть заповнюючи форми) і також знаходить чутливу інформацію за допомогою специфічних regex.
- SpiderSuite: Spider Suite — просунутий багатофункціональний GUI веб-сканер/краулер для cybersecurity професіоналів.
- jsluice (go): Go-пакет і command-line tool для витягування URL, шляхів, секретів та іншої цікавої інформації з JavaScript-коду.
- ParaForge: ParaForge — просте Burp Suite extension для витягування параметрів і endpoints з request для створення кастомних wordlist для фуззингу та енумерації.
- katana (go): Відмінний інструмент для цього.
- Crawley (go): Виводить кожне посилання, яке вдається знайти.
Brute Force директорій та файлів
Почніть brute-forcing з кореневої папки і обов’язково перебрусуйте всі директорії, знайдені за допомогою цього методу, а також всі директорії, виявлені під час Spidering (можна робити brute-forcing рекурсивно і додавати на початок використовуваного wordlist імена знайдених директорій).
Інструменти:
- Dirb / Dirbuster - Включені в Kali, старі (і повільні) але функціональні. Дозволяють auto-signed certificates та recursive search. Занадто повільні порівняно з іншими опціями.
- Dirsearch (python): Не дозволяє auto-signed certificates, але підтримує recursive search.
- Gobuster (go): Дозволяє auto-signed certificates, він не має recursive search.
- Feroxbuster - Fast, supports recursive search.
- wfuzz
wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ - ffuf - Fast:
ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ - uro (python): Це не spider, але інструмент, який за списком знайдених URL видаляє “дублікати”.
- Scavenger: Burp Extension для створення списку директорій з burp history сторінок.
- TrashCompactor: Видаляє URL з дубльованою функціональністю (на основі js імпортів).
- Chamaleon: Використовує wapalyzer для визначення використовуваних технологій і підбору відповідних wordlists.
Рекомендовані словники:
- https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/bf_directories.txt
- Dirsearch included dictionary
- http://gist.github.com/jhaddix/b80ea67d85c13206125806f0828f4d10
- Assetnote wordlists
- https://github.com/danielmiessler/SecLists/tree/master/Discovery/Web-Content
- raft-large-directories-lowercase.txt
- directory-list-2.3-medium.txt
- RobotsDisallowed/top10000.txt
- https://github.com/random-robbie/bruteforce-lists
- https://github.com/google/fuzzing/tree/master/dictionaries
- https://github.com/six2dez/OneListForAll
- https://github.com/random-robbie/bruteforce-lists
- https://github.com/ayoubfathi/leaky-paths
- /usr/share/wordlists/dirb/common.txt
- /usr/share/wordlists/dirb/big.txt
- /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
Зауваження: щойно під час brute-forcing або spidering виявлено нову директорію, її слід негайно Brute-Force-ити.
What to check on each file found
- Broken link checker: Знаходить broken links в HTML, які можуть бути вразливими до takeover.
- File Backups: Після того як ви знайдете всі файли, шукайте резервні копії виконуваних файлів (“.php”, “.aspx”…). Поширені варіанти імен для backup: file.ext~, #file.ext#, ~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp та file.old. Можна також використовувати інструмент bfac або backup-gen.
- Discover new parameters: Можна використовувати інструменти на кшталт Arjun, parameth, x8 та Param Miner щоб виявити приховані параметри. Якщо можливо, намагайтесь шукати приховані параметри в кожному виконуваному веб-файлі.**
- Arjun all default wordlists: https://github.com/s0md3v/Arjun/tree/master/arjun/db
- Param-miner “params” : https://github.com/PortSwigger/param-miner/blob/master/resources/params
- Assetnote “parameters_top_1m”: https://wordlists.assetnote.io/
- nullenc0de “params.txt”: https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773
- Comments: Перевіряйте коментарі у всіх файлах — там можна знайти credentials або прихований функціонал.
- Якщо ви граєте в CTF, “поширений” трюк — ховати інформацію в коментарях праворуч від сторінки (використовуючи сотні пробілів, щоб не бачити дані при відкритті source у браузері). Інша можливість — використовувати кілька new lines і ховати інформацію в коментарі внизу сторінки.
- API keys: Якщо ви знайдете будь-який API key, є проекти, які показують як використовувати API keys для різних платформ: keyhacks, zile, truffleHog, SecretFinder, RegHex, DumpsterDive, EarlyBird
- Google API keys: Якщо знайдете API key, що починається з AIza (наприклад, AIzaSyA-qLheq6xjDiEIRisP_ujUseYLQCHUjik), можна використати проект gmapapiscanner щоб перевірити, до яких API ключ має доступ.
- S3 Buckets: Під час spidering звертайте увагу, чи пов’язаний якийсь subdomain або посилання з S3 bucket. У такому випадку перевірте дозволи бакету.
Special findings
Під час spidering та brute-forcing ви можете знайти цікаві речі, на які слід звернути увагу.
Interesting files
- Шукайте посилання на інші файли всередині CSS файлів.
- Якщо знайдете .git, можна витягти деяку інформацію
- Якщо знайдете .env, там може бути інформація на кшталт api keys, паролів до БД та інша конфіденційна інформація.
- Якщо знайдете API endpoints, їх варто також тестувати. Вони не є файлами, але часто “виглядають” як файли.
- JS files: У секції spidering згадувались інструменти для витягування шляхів з JS файлів. Також цікаво моніторити кожен знайдений JS файл, оскільки інколи зміна в ньому може означати, що в код було введено потенційну вразливість. Можна використати, наприклад, JSMon.
- Також слід перевіряти знайдені JS файли за допомогою RetireJS або JSHole на наявність відомих вразливостей.
- Javascript Deobfuscator and Unpacker: https://lelinhtinh.github.io/de4js/, https://www.dcode.fr/javascript-unobfuscator
- Javascript Beautifier: http://jsbeautifier.org/, http://jsnice.org/
- JsFuck deobfuscation (javascript з символами:“[]!+” https://enkhee-osiris.github.io/Decoder-JSFuck/)
- TrainFuck:
+72.+29.+7..+3.-67.-12.+55.+24.+3.-6.-8.-67.-23. - Часто доведеться розуміти регулярні вирази — для цього корисні: https://regex101.com/ або https://pythonium.net/regex
- Також варто моніторити файли, де виявлені форми, бо зміна параметрів або поява нової форми може вказувати на потенційно вразливу функціональність.
403 Forbidden/Basic Authentication/401 Unauthorized (bypass)
502 Proxy Error
Якщо сторінка відповідає цим кодом, скоріше за все це неправильно сконфігурований proxy. Якщо ви надішлете HTTP-запит типу: GET https://google.com HTTP/1.1 (з Host header та іншими звичними заголовками), proxy спробує доступитися до google.com і ви знайдете SSRF.
NTLM Authentication - Info disclosure
Якщо сервер, який запитує автентифікацію, — Windows, або ви знайдете форму логіну, що просить ваші credentials (і просить domain name), ви можете спричинити витік інформації.
Надішліть заголовок: “Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=” і через те, як працює NTLM authentication, сервер відповідатиме внутрішньою інформацією (версія IIS, версія Windows…) в заголовку “WWW-Authenticate”.
Це можна автоматизувати за допомогою nmap плагіна “http-ntlm-info.nse”.
HTTP Redirect (CTF)
Можна помістити контент всередину Redirection. Цей контент не буде показаний користувачеві (бо браузер виконає редирект), але в ньому можна сховати інформацію.
Web Vulnerabilities Checking
Після того, як виконана повна енумерація веб-застосунку, настав час перевірити багато можливих вразливостей. Чекліст тут:
Web Vulnerabilities Methodology
Детальніше про web vulns:
- https://six2dez.gitbook.io/pentest-book/others/web-checklist
- https://kennel209.gitbooks.io/owasp-testing-guide-v4/content/en/web_application_security_testing/configuration_and_deployment_management_testing.html
- https://owasp-skf.gitbook.io/asvs-write-ups/kbid-111-client-side-template-injection
Monitor Pages for changes
Можна використовувати інструменти на кшталт https://github.com/dgtlmoon/changedetection.io для моніторингу сторінок на предмет змін, які можуть додавати вразливості.
HackTricks Automatic Commands
HackTricks Automatic Commands
```yaml Protocol_Name: Web #Protocol Abbreviation if there is one. Port_Number: 80,443 #Comma separated if there is more than one. Protocol_Description: Web #Protocol Abbreviation Spelled outEntry_1: Name: Notes Description: Notes for Web Note: | https://book.hacktricks.wiki/en/network-services-pentesting/pentesting-web/index.html
Entry_2: Name: Quick Web Scan Description: Nikto and GoBuster Command: nikto -host {Web_Proto}://{IP}:{Web_Port} &&&& gobuster dir -w {Small_Dirlist} -u {Web_Proto}://{IP}:{Web_Port} && gobuster dir -w {Big_Dirlist} -u {Web_Proto}://{IP}:{Web_Port}
Entry_3: Name: Nikto Description: Basic Site Info via Nikto Command: nikto -host {Web_Proto}://{IP}:{Web_Port}
Entry_4: Name: WhatWeb Description: General purpose auto scanner Command: whatweb -a 4 {IP}
Entry_5: Name: Directory Brute Force Non-Recursive Description: Non-Recursive Directory Brute Force Command: gobuster dir -w {Big_Dirlist} -u {Web_Proto}://{IP}:{Web_Port}
Entry_6: Name: Directory Brute Force Recursive Description: Recursive Directory Brute Force Command: python3 {Tool_Dir}dirsearch/dirsearch.py -w {Small_Dirlist} -e php,exe,sh,py,html,pl -f -t 20 -u {Web_Proto}://{IP}:{Web_Port} -r 10
Entry_7: Name: Directory Brute Force CGI Description: Common Gateway Interface Brute Force Command: gobuster dir -u {Web_Proto}://{IP}:{Web_Port}/ -w /usr/share/seclists/Discovery/Web-Content/CGIs.txt -s 200
Entry_8:
Name: Nmap Web Vuln Scan
Description: Tailored Nmap Scan for web Vulnerabilities
Command: nmap -vv –reason -Pn -sV -p {Web_Port} –script=banner,(http* or ssl*) and not (brute or broadcast or dos or external or http-slowloris* or fuzzer) {IP}
Entry_9: Name: Drupal Description: Drupal Enumeration Notes Note: | git clone https://github.com/immunIT/drupwn.git for low hanging fruit and git clone https://github.com/droope/droopescan.git for deeper enumeration
Entry_10: Name: WordPress Description: WordPress Enumeration with WPScan Command: | ?What is the location of the wp-login.php? Example: /Yeet/cannon/wp-login.php wpscan –url {Web_Proto}://{IP}{1} –enumerate ap,at,cb,dbe && wpscan –url {Web_Proto}://{IP}{1} –enumerate u,tt,t,vp –passwords {Big_Passwordlist} -e
Entry_11: Name: WordPress Hydra Brute Force Description: Need User (admin is default) Command: hydra -l admin -P {Big_Passwordlist} {IP} -V http-form-post ‘/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1:S=Location’
Entry_12: Name: Ffuf Vhost Description: Simple Scan with Ffuf for discovering additional vhosts Command: ffuf -w {Subdomain_List}:FUZZ -u {Web_Proto}://{Domain_Name} -H “Host:FUZZ.{Domain_Name}” -c -mc all {Ffuf_Filters}
</details>
## Посилання
- [https://github.com/panchocosil/burp-js-linkfinder-enhanced](https://github.com/panchocosil/burp-js-linkfinder-enhanced)
> [!TIP]
> Вивчайте та практикуйте AWS Hacking:<img src="../../../../../images/arte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../../../images/arte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">\
> Вивчайте та практикуйте GCP Hacking: <img src="../../../../../images/grte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)<img src="../../../../../images/grte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">
> Вивчайте та практикуйте Azure Hacking: <img src="../../../../../images/azrte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">[**HackTricks Training Azure Red Team Expert (AzRTE)**](https://training.hacktricks.xyz/courses/azrte)<img src="../../../../../images/azrte.png" alt="" style="width:auto;height:24px;vertical-align:middle;">
>
> <details>
>
> <summary>Підтримайте HackTricks</summary>
>
> - Перевірте [**плани підписки**](https://github.com/sponsors/carlospolop)!
> - **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи telegram**](https://t.me/peass) або **слідкуйте** за нами в **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
> - **Діліться хакерськими трюками, надсилаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на github.
>
> </details>


