37 views
# Zaawansowane Bezpieczeństwo aplikacji www - notatki ze szkolenia ## Witajcie! Witam na szkoleniu z **zaawansowanego bezpieczeństwa aplikacji www**. Prowadzący - Kamil Jarosińskio @ SECURITUM (<kamil.jarosinski@securitum.pl>) --- ## Przydatne linki **Notepad**: https://notepad.lab-08.securitum.net/ (właśnie na niego patrzysz) **Prezentacja**: https://lab-08.securitum.net/ **Burp**: https://portswigger.net/burp/releases/professional-community-2026-4 ## Licencja burp (24.06.2026) ```! 3u9YQsFC58rDSqyr8Qks1CJp1ALVxd5Jikv4TdXrFcavYAn2zh0uJhEV3gqjHbgA8aFy83JzQmECEFkhQWujk63YW5isgaMITZcLVkFzuJ+h9SAKzndR+Nw0ROol81pQgdzi7fN9UQeC4CAhiOQ98KD6nwV7rO6E2bhHleB76ZwiVGC6ZZ67x+n5IlcT75RQYT3kchaVqFr23rGNrfXqFgGtmRb13poluoBpyCh4Npl9WTqs119cI6ITOzlBrjSOAAi0VCWsNa0ibvZI0lvJVjJttwIEJLQUtZnQ32pSevLpAdd1QxOE0JH4xC9MlLn0Ki1S4rMuRKnuQ0/ERP0ZSl84baDkEgH7zKRvX3TBmxs3vAAGzBatLR+bMR80z/W3VtVKW1N9+9bpsr2exzW28ZopUC06QMMIyrhTstB9Tfi0pv6UsMwO3W1zZ1fOLvtp/3whA+pNW0i/FyFZZZZ43hkqMjTerbeoDZu69w8/QQzi5JOrp8fDZMEvjpiNbUjZZRnPInOJI1o91Jsc1uB9pgRi5phpce1jGPYWVUJcFMV0Y/9pCo2mVWU+5bpXjKeXQ3MoDEGh+PrfXjZtD409H+9k5z609q7Y+uYYdZ2lzBtIWylZHPtitGCjXq6Pf5geOtLXvfHEtzTyG9nhrmDqHiHm3FUZhhsbFazsvR/Jo3eRgEPSU7rABujfnL7mAuuuJaPitSsUxD9GAPcrEswUJQ/TdhsB2e03A1EXCsu+2bLCqKVH1UvzP3qWLUS/RpPo+XKnvfPg8UZBdQ4DFyHJiVIoehWvALCzvEv8Z70W7Rw= ``` ## Organizacja ### Ramy czasowe Dzień 1: 09:00 - 16:00 Dzień 2: 09:00 - 16:00 ### Przerwy 10 minut przerwy co 60 minut (1h). ### Przerwa obiadowa 12:30 - 13:30 ### Disclaimer Techniki prezentowane podczas szkolenia nie powinny być używane na prawdziwych systemach bez pisemnej zgody właściciela. ## Rozgrzewka Zanim zaczniemy, musimy przygotować środowisko testowe. Potrzebujemy dwóch przeglądarek (koniecznie Firefox oraz Chrome/Safari) oraz Burp Suite Professional. ### Zadania: 1. Pobierz Burp Suite Community 2. Zainstaluj Burpa 3. Pobierz Firefox / Chrome 4. W ustawieniach Firefox (`⌘ + ,`), w wyszukiwarce wpisz `proxy` 5. Otwórz ustawienia Proxy, następnie uzupełnij opcję `Manual proxy configuration` :arrow\_forward: `HTTP Proxy`: `127.0.0.1` :arrow\_forward: `Port`: `8080` **UWAGA**: nie zaznaczaj opcji `Use this proxy server for all protocols`! Przejdźmy do demo :arrow_forward: https://manage.lab-08.securitum.net/ (możesz powtarzać moje kroki). ### Znaki specjalne, które pozwalają na rozdzielenie poleceń: * `&&` (`%26%26`) * `;` * `||` * `|` * `new line` (`%0a`) ### Linki * <https://github.com/ffuf/ffuf> - fuzzer * <https://github.com/epi052/feroxbuster> - fuzzer podobny do FFUF, z ładniejszym outputem * <https://github.com/danielmiessler/SecLists> - słowniki ## Rekonesans Spróbujmy zdobyć jak najwięcej informacji o naszym celu korzystając wyłącznie z darmowych i otwartych źródeł, bez dotykania infrastruktury ofiary. ### Pomocne usługi * <https://www.shodan.io/> (search engine for Internet-connected dedvices - free (limited) or $5 lifetime premium on Black Friday promo) * <https://zoomeye.org/> (chiński Shodan) * <https://insecam.org/> (niezabezpieczone kamerki) * <https://censys.io> (kolejny "shodan") * <https://crt.sh/> (wyszukiwarka certyfikatów) * <https://virustotal.com/> (nie tylko skaner antywirusowy…) * [https://apps.db.ripe.net/db-web-ui/\#/fulltextsearch](https://apps.db.ripe.net/db-web-ui/#/fulltextsearch) (WHOIS full-text search) * <https://www.exploit-db.com/google-hacking-database/> (Google Hacking Database) * <https://bing.com/> (warto mieć alternatywe dla Google, spróbuj zapytania `ip:1.2.3.4`) * <https://securitytrails.com> (historia DNS dowolnego hosta. Bardzo przydatne narzędzie w omijaniu WAF Cloudflare!) ### Shodan - filtry * `has_screenshot:yes` * `has_screenshot:yes country:gb` * `has_screenshot:yes country:gb port:5900` * `"Server: nginx" country:gb` * `port:9100 product:"LaserJet"` * `net:17.0.0.0/8` * `net:17.0.0.0/8 port:5060` * `net:17.0.0.0/8 Server: nginx/` ### [crt.sh](http://crt.sh) przykładowe domeny * `%.corp.google.com` * `%.tesco.com` * `%.tesco.pl` * `%.bbc.co.uk` ### Google hacking - przykłady: * `site:gov.pl "mysql warning:"` * `site:gov.pl "Index of"` * `site:gov.pl "Index of" "backup"` * `"Index of" "backup" filetype:sql` * `filetype:sql inurl:wp-content/backup-db` * `allintitle: C Desktop ext:doc` ### Amass <https://github.com/OWASP/Amass> ```sh docker build -t amass https://github.com/OWASP/Amass.git docker run -it --rm -v `pwd`/amass:/amass amass enum -d sekurak.pl -o /amass/domains -src -passive ``` ### Aquatone - skan aktywny <https://github.com/youngderekm/aquatone-docker> ```sh cat ../amass/domains | docker run -v `pwd`/aquatone:/output --rm -i youngderekm/aquatone -out /output ``` ### gowitness https://github.com/sensepost/gowitness ### nmap - przydatne skrypty ### http-enum- enumeracja serwera http ```sh nmap -n -p 80 --script http-enum lab-08.securitum.net nmap -n -p 80 --script http-enum recon.zone ``` ### http-grep ```sh nmap -n -p 443 --script http-grep lab-08.securitum.net ``` Skrypt http-grep przeszukuje podaną stronę pod kątem przydatnych informacji. Domyślnie zwraca adresy e-mail oraz adresy IP. ### dns-brute ```sh nmap -n -p 443 --script dns-brute lab-08.securitum.net ``` Skrypt \*\*dns-brute \*\*próbuje odnaleźć jak najwięcej [subdomen](https://pl.wikipedia.org/wiki/Subdomena) badanego hosta korzystając z najczęściej używanych nazw subdomenowych. ### http-config-backup enumeracja backupów i informacji o CMS ```sh nmap -n -p443 --script http-config-backup lab-08.securitum.net ``` ### **http-wordpress-enum.nse** ```sh nmap -n -p443 --script --script http-wordpress-enum demo-xss.lab-08.securitum.net ``` enumeracja podatnych pluginów wordpressa ### Vulnscan <https://github.com/scipag/vulscan> ```sh git clone <https://github.com/scipag/vulscan> scipag\_vulscan ln -s `pwd`/scipag\_vulscan /usr/share/nmap/scripts/vulscan nmap -sV --script=vulscan/vulscan.nse example.com ``` ### Ffuf https://github.com/ffuf/ffuf ``` ffuf -u http://recon.zone -w big.txt ``` ### Feroxbuster <https://github.com/epi052/feroxbuster> ``` feroxbuster -u http://recon.zone -x txt,php ```