80,443 - Pentesting 웹 방법론
Tip
AWS 해킹 배우기 및 연습하기:
HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기:HackTricks Training GCP Red Team Expert (GRTE)
Azure 해킹 배우기 및 연습하기:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricks 지원하기
- 구독 계획 확인하기!
- **💬 디스코드 그룹 또는 텔레그램 그룹에 참여하거나 트위터 🐦 @hacktricks_live를 팔로우하세요.
- HackTricks 및 HackTricks Cloud 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.
기본 정보
웹 서비스는 가장 일반적이고 광범위한 서비스이며, 많은 다양한 유형의 취약점이 존재합니다.
기본 포트: 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 안내
방법론 요약
이 방법론에서는 하나의 domain (또는 subdomain)만 공격한다고 가정합니다. 따라서 이 방법론은 scope 내에서 미확인 web server가 있는 각 발견된 domain, subdomain 또는 IP에 대해 적용해야 합니다.
- 먼저 웹 서버에서 사용되는 기술을 식별하세요. 기술을 성공적으로 식별할 수 있다면 나머지 테스트 동안 염두에 둘 tricks를 찾아보세요.
- 해당 기술 버전의 known vulnerability가 있나요?
- 잘 알려진 기술을 사용하고 있나요? 더 많은 정보를 얻을 수 있는 useful trick이 있나요?
- 실행할 specialised scanner가 있나요 (예: wpscan)?
- general purposes scanners를 실행하세요. 뭔가를 발견하거나 흥미로운 정보를 찾을 수 있습니다.
- initial checks부터 시작하세요: robots, sitemap, 404 error 및 SSL/TLS scan (HTTPS인 경우).
- 웹 페이지를 spidering하세요: 가능한 모든 files, folders 및 parameters being used를 find할 시간입니다. 또한 special findings를 확인하세요.
- brute-forcing 또는 spidering 중에 새로운 디렉터리가 발견되면 해당 디렉터리를 반드시 spidering 해야 합니다.
- Directory Brute-Forcing: 발견된 모든 폴더에 대해 brute force를 시도하여 새로운 files 및 directories를 찾아보세요.
- brute-forcing 또는 spidering 중에 새로운 디렉터리가 발견되면 해당 디렉터리를 반드시 Brute-Forced 해야 합니다.
- Backups checking: 일반적인 백업 확장자를 덧붙여 discovered files의 backups를 찾을 수 있는지 테스트하세요.
- Brute-Force parameters: 숨겨진 parameters를 찾아보세요.
- 모든 가능한 endpoints 중 user input을 받는 것을 identified했다면, 해당 입력과 관련된 모든 종류의 vulnerabilities를 확인하세요.
- 이 체크리스트를 따르세요
Server Version (Vulnerable?)
Identify
현재 실행 중인 서버 version에 대해 known vulnerabilities가 있는지 확인하세요.
응답의 HTTP headers and cookies는 사용 중인 technologies 및/또는 version을 identify하는 데 매우 유용할 수 있습니다. Nmap scan은 서버 버전을 식별할 수 있지만, whatweb, webtech 또는 https://builtwith.com/** 같은 도구들도 유용할 수 있습니다:**
whatweb -a 1 <URL> #Stealthy
whatweb -a 3 <URL> #Aggresive
webtech -u <URL>
webanalyze -host https://google.com -crawl 2
Search for vulnerabilities of the web application version
Check if any 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에서 vulnerabilities를 찾기 위한 몇 가지 tricks:
- 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
같은 domain이 서로 다른 ports, folders, subdomains에서 서로 다른 technologies를 사용할 수 있다는 점을 고려하세요.
웹 애플리케이션이 위에 나열된 잘 알려진 tech/platform이나 다른 것을 사용하고 있다면, 인터넷에서 새로운 tricks를 찾아보는 것을 잊지 마세요 (그리고 저에게 알려주세요!).
Source Code Review
애플리케이션의 source code가 github에 공개되어 있다면, 자체적으로 White box test를 수행하는 것 외에도 현재의 Black-Box testing에 유용할 수 있는 정보들이 있습니다:
- 웹에서 접근 가능한 Change-log, Readme 또는 Version 파일이나 버전 정보가 있는가?
- credentials는 어떻게 어디에 저장되어 있는가? 사용자명이나 passwords와 같은 file이 (접근 가능하게) 있는가?
- passwords가 plain text인가, encrypted되어 있는가, 아니면 어떤 hashing algorithm이 사용되는가?
- 암호화에 사용되는 master key가 있는가? 어떤 algorithm이 사용되는가?
- 어떤 취약점을 이용해 이 파일들에 접근할 수 있는가?
- github의 이슈(해결된 것과 해결되지 않은 것)나 commit history에 흥미로운 정보가 있는가? (예: 오래된 커밋에 비밀번호가 포함된 경우)
Source code Review / SAST Tools
Automatic scanners
General purpose automatic scanners
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가 사용 중이라면 잊지 말고 스캐너를 실행하세요, 의외로 흥미로운 것이 발견될 수 있습니다:
Clusterd: JBoss, ColdFusion, WebLogic, Tomcat, Railo, Axis2, Glassfish
CMSScan: WordPress, Drupal, Joomla, vBulletin 웹사이트의 보안 문제를 검사합니다. (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를 발견해 scanner를 실행했을 수도 있습니다.
단계별 웹 애플리케이션 탐색
이 시점부터 웹 애플리케이션과 상호작용을 시작합니다.
초기 확인
기본 페이지(유용한 정보):
- /robots.txt
- /sitemap.xml
- /crossdomain.xml
- /clientaccesspolicy.xml
- /.well-known/
- 메인 및 보조 페이지의 주석도 확인하세요.
오류 유도
웹 서버는 이상한 데이터를 전송할 때 예기치 않게 동작할 수 있습니다. 이는 취약점이나 민감한 정보 노출로 이어질 수 있습니다.
- /whatever_fake.php (.aspx,.html,.etc) 같은 fake pages에 접근하세요
- 오류를 만들기 위해 쿠키 값(cookie values) 및 **파라미터 값(parameter values)**에 **“[]”, “]]”, “[[”**를 추가하세요
- URL의 끝에 **
/~randomthing/%s**를 입력하여 오류를 발생시켜 보세요 - PATCH, DEBUG 같은 다른 HTTP Verbs를 시도하거나 FAKE처럼 잘못된 것도 시도해 보세요
Check if you can upload files (PUT verb, WebDav)
WebDav가 활성화되어 있지만 루트 폴더에 파일 업로드 권한이 충분치 않다면 다음을 시도하세요:
- 자격증명에 대해 Brute Force 시도
- Web 페이지 내 다른 발견된 폴더들에 WebDav로 파일 업로드를 시도하세요. 다른 폴더에는 업로드 권한이 있을 수 있습니다.
SSL/TLS 취약점
- 애플리케이션이 어느 부분에서도 HTTPS 사용을 강제하지 않는다면, MitM에 취약합니다
- 애플리케이션이 민감한 데이터(비밀번호)를 HTTP로 전송한다면, 이는 높은 심각도의 취약점입니다
Use testssl.sh로 취약점을 검사하세요 (Bug Bounty 프로그램에서는 이런 유형의 취약점이 인정되지 않는 경우가 많습니다) 그리고 a2sv로 취약점을 재검사하세요:
./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>
Information about SSL/TLS vulnerabilities:
- https://www.gracefulsecurity.com/tls-ssl-vulnerabilities/
- https://www.acunetix.com/blog/articles/tls-vulnerabilities-attacks-final-part/
Spidering
웹 내부에 어떤 식으로든 spider를 실행하세요. spider의 목표는 테스트 중인 애플리케이션으로부터 가능한 한 많은 경로를 찾는 것입니다. 따라서 웹 크롤링과 외부 소스를 활용해 가능한 많은 유효한 경로를 찾아야 합니다.
- gospider (go): HTML spider, JS files에서 LinkFinder 사용 및 외부 소스(Archive.org, CommonCrawl.org, VirusTotal.com).
- hakrawler (go): HML spider, JS 파일에 대한 LinkFider 및 Archive.org를 외부 소스로 사용.
- dirhunt (python): HTML spider, 또한 “juicy files“를 표시함.
- evine (go): 대화형 CLI HTML spider. 또한 Archive.org에서 검색함.
- meg (go): 이 도구는 spider는 아니지만 유용할 수 있음. hosts 파일과 paths 파일을 지정하면 meg가 각 host의 각 path를 가져와 응답을 저장함.
- urlgrab (go): JS 렌더링 기능을 가진 HTML spider. 다만 유지보수되지 않는 듯 보이며, 사전 컴파일 바이너리는 오래되었고 현재 코드는 컴파일되지 않음.
- gau (go): 외부 제공자(wayback, otx, commoncrawl)를 사용하는 HTML spider.
- ParamSpider: 파라미터가 있는 URL을 찾아 나열하는 스크립트.
- galer (go): JS 렌더링 기능을 가진 HTML spider.
- LinkFinder (python): HTML spider, JS beautify 기능을 통해 JS 파일에서 새로운 경로를 검색 가능. LinkFinder의 래퍼인 JSScanner도 살펴볼 가치가 있음.
- goLinkFinder (go): HTML 소스와 임베디드 javascript 파일 모두에서 엔드포인트를 추출. bug hunters, red teamers, infosec ninjas에게 유용.
- JSParser (python2.7): Tornado와 JSBeautifier를 사용해 JavaScript 파일에서 상대 URL을 파싱하는 python 2.7 스크립트. AJAX 요청을 쉽게 발견하는 데 유용. 유지보수되지 않는 것으로 보임.
- relative-url-extractor (ruby): 파일(HTML)을 주면 정규식을 이용해 ugly(minify) 파일에서 상대 URL을 찾아 추출함.
- JSFScan (bash, 여러 도구): 여러 도구를 사용해 JS 파일에서 흥미로운 정보를 수집.
- subjs (go): JS 파일 찾기.
- page-fetch (go): headless browser로 페이지를 로드하고 페이지를 로드하기 위해 불러온 모든 urls를 출력.
- Feroxbuster (rust): 이전 도구들의 여러 옵션을 혼합한 content discovery 도구.
- Javascript Parsing: JS 파일에서 경로 및 파라미터를 찾는 Burp extension.
- Sourcemapper: .js.map URL을 주면 beautified JS 코드를 가져오는 도구.
- xnLinkFinder: 주어진 타깃의 엔드포인트를 발견하는 도구.
- waymore: wayback machine에서 링크를 발견(wayback의 응답도 다운로드하고 더 많은 링크를 찾음).
- HTTPLoot (go): 폼 채우기까지 포함해 크롤링하고 특정 regex로 민감한 정보를 찾음.
- SpiderSuite: Spider Suite는 사이버 보안 전문가를 위한 고급 다기능 GUI 웹 보안 Crawler/Spider.
- jsluice (go): JavaScript 소스 코드에서 URLs, paths, secrets 및 기타 흥미로운 데이터를 추출하는 Go 패키지 및 command-line tool.
- ParaForge: 요청에서 parameters와 endpoints를 추출하여 fuzzing 및 열거용 커스텀 워드리스트를 만드는 간단한 Burp Suite extension.
- katana (go): 이 용도에 아주 좋은 도구.
- Crawley (go): 찾을 수 있는 모든 링크를 출력.
Brute Force directories and files
루트 폴더에서 brute-forcing을 시작하고, 이 방법으로 찾은 모든 디렉터리와 Spidering으로 발견된 모든 디렉터리를 반드시 brute-force 하세요(발견된 디렉터리 이름을 사용한 워드리스트를 앞에 붙여 재귀적으로 brute-forcing 할 수 있습니다).
도구:
- Dirb / Dirbuster - Kali에 포함, 오래된(그리고 느린) 도구지만 작동함. auto-signed certificates와 recursive search 지원. 다른 옵션들에 비해 너무 느림.
- Dirsearch (python): auto-signed certificates는 허용하지 않지만 recursive search를 허용.
- Gobuster (go): auto-signed certificates 허용, 그러나 recursive search는 없음.
- Feroxbuster - 빠르며 recursive search 지원.
- wfuzz
wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ - ffuf - 빠름:
ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ - uro (python): spider는 아니지만 발견된 URL 리스트를 받아 “중복” URL을 제거하는 도구.
- Scavenger: Burp history에서 여러 페이지의 디렉터리 목록을 생성하는 Burp Extension.
- TrashCompactor: js imports 기반으로 중복 기능을 가진 URL 제거.
- Chamaleon: wapalyzer를 사용해 사용 중인 기술을 감지하고 사용할 워드리스트를 선택.
권장 워드리스트:
- 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: HTML 내부의 broken links를 찾아 takeover에 취약할 수 있는지 확인.
- File Backups: 모든 파일을 찾은 후 실행 파일의 백업을 찾아보세요(“.php”, “.aspx”…). 백업 파일 이름의 일반적인 변형은: file.ext~, #file.ext#, ~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp and 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나 hidden functionality를 찾을 수 있음.
- CTF를 플레이하는 경우, 흔한 트릭으로 페이지의 소스 우측에 수백 개의 공백을 넣어 브라우저로는 보이지 않게 주석에 정보를 숨기는 것이 있음. 또는 여러 개의 newline을 사용해 웹페이지 하단의 주석에 정보를 숨기는 방법도 있음.
- API keys: API key를 찾으면 다양한 플랫폼의 API 키 사용 방법을 안내하는 프로젝트들을 참고하세요: keyhacks, zile, truffleHog, SecretFinder, RegHex, DumpsterDive, EarlyBird
- Google API keys: AIza로 시작하는 형태의 API key(예: AIzaSyA-qLheq6xjDiEIRisP_ujUseYLQCHUjik)를 발견하면 gmapapiscanner 프로젝트로 해당 키가 접근할 수 있는 API를 확인할 수 있음.
- S3 Buckets: spidering 중에 어떤 subdomain이나 link가 S3 bucket과 관련되어 있는지 확인하세요. 그런 경우, 버킷의 권한을 확인하세요.
Special findings
spidering과 brute-forcing을 수행하는 동안 주의해야 할 흥미로운 사항들이 발견될 수 있습니다.
Interesting files
- CSS 파일 내부의 links로 연결된 다른 파일들을 찾아보세요.
- If you find a .git file some information can be extracted
- .env 파일을 찾으면 api keys, db 비밀번호 및 기타 정보를 얻을 수 있음.
- API endpoints를 찾으면 해당 엔드포인트들도 테스트해야 합니다. 이들은 파일이 아니지만 파일처럼 보일 가능성이 큼.
- JS files: spidering 섹션에서 JS 파일에서 경로를 추출할 수 있는 여러 도구를 언급했습니다. 또한 발견된 각 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 with chars:“[]!+” 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일 가능성이 높습니다. 만약 GET https://google.com HTTP/1.1와 같은 HTTP 요청을 보낸다면(Host 헤더 및 다른 일반 헤더 포함), proxy는 _google.com_에 접근하려고 시도할 것이고 그때 SSRF를 발견하게 될 수 있습니다.
NTLM Authentication - Info disclosure
서버가 인증을 요구하는데 해당 서버가 Windows이거나 로그인에서 도메인 이름을 요구하는 경우 정보 누출을 유도할 수 있습니다.
다음 헤더를 전송하세요: “Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=” 그러면 NTLM 인증 동작 방식 때문에 서버는 “WWW-Authenticate” 헤더 내부에 내부 정보(IIS 버전, Windows 버전 등)를 응답으로 보낼 수 있습니다.
이를 자동화하려면 nmap 플러그인 “http-ntlm-info.nse“를 사용할 수 있음.
HTTP Redirect (CTF)
리다이렉션 내부에 콘텐츠를 넣을 수 있습니다. 이 콘텐츠는 브라우저가 리다이렉션을 실행하기 때문에 사용자에게는 보여지지 않지만, 그 내부에 무언가 숨겨져 있을 수 있습니다.
Web Vulnerabilities Checking
웹 애플리케이션에 대한 포괄적 열거가 완료되었으면 이제 가능한 많은 취약점을 확인할 차례입니다. 체크리스트는 다음에서 확인하세요:
Web Vulnerabilities Methodology
웹 취약점에 대한 추가 정보:
- 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>
> [!TIP]
> AWS 해킹 배우기 및 연습하기:<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 해킹 배우기 및 연습하기: <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 해킹 배우기 및 연습하기: <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) 확인하기!
> - **💬 [**디스코드 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 참여하거나 **트위터** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**를 팔로우하세요.**
> - **[**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) 깃허브 리포지토리에 PR을 제출하여 해킹 트릭을 공유하세요.**
>
> </details>
HackTricks

