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 가이드
방법론 요약
이 방법론에서는 도메인(또는 subdomain) 하나만을 공격 대상으로 삼는다고 가정합니다. 따라서 scope 내에서 발견된 각 도메인, subdomain 또는 웹 서버가 확실하지 않은 IP에 대해 이 방법론을 적용해야 합니다.
- 먼저 identifying 하여 해당 웹 서버에서 사용되는 technologies를 파악합니다. 기술을 성공적으로 식별할 수 있다면 나머지 테스트 동안 유의해야 할 tricks를 찾아보세요.
- 해당 기술 버전에 알려진 vulnerability가 있는가?
- 잘 알려진 tech를 사용중인가? 추가 정보를 추출할 수 있는 useful trick이 있는가?
- 실행할 specialised scanner(예: wpscan)가 있는가?
- general purposes scanners를 실행합니다. 무엇을 발견할지, 흥미로운 정보를 찾아낼지 알 수 없습니다.
- initial checks부터 시작하세요: robots, sitemap, 404 error 및 SSL/TLS scan(HTTPS인 경우).
- 웹 페이지 spidering을 시작합니다: 가능한 모든 files, folders와 사용 중인 parameters를 find할 시간입니다. 또한 special findings를 확인하세요.
- 참고: brute-forcing 또는 spidering 중 새 디렉터리가 발견되면 해당 디렉터리는 반드시 spidering 해야 합니다.
- Directory Brute-Forcing: 발견된 모든 폴더를 brute force하여 새로운 files와 directories를 찾아보세요.
- 참고: brute-forcing 또는 spidering 중 새 디렉터리가 발견되면 해당 디렉터리는 반드시 Brute-Forced 해야 합니다.
- Backups checking: 흔한 backup 확장자를 붙여 discovered files의 backups를 찾을 수 있는지 테스트하세요.
- Brute-Force parameters: 숨겨진 parameters를 찾으려고 시도하세요.
- 사용자 입력을 허용하는 모든 가능한 endpoints를 identified한 후에는 해당 입력과 관련된 모든 종류의 vulnerabilities를 검사합니다.
- Follow this checklist
Server Version (Vulnerable?)
Identify
실행 중인 서버 version에 대해 알려진 vulnerabilities가 있는지 확인하세요.
응답의 HTTP headers 및 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
Take into account that the same domain can be using different technologies in different ports, folders and subdomains.
If the web application is using any well known tech/platform listed before or any other, don’t forget to search on the Internet new tricks (and let me know!).
Source Code Review
If the source code of the application is available in github, apart of performing by your own a White box test of the application there is some information that could be useful for the current Black-Box testing:
- Is there a Change-log or Readme or Version file or anything with version info accessible via web?
- How and where are saved the credentials? Is there any (accessible?) file with credentials (usernames or passwords)?
- Are passwords in plain text, encrypted or which hashing algorithm is used?
- Is it using any master key for encrypting something? Which algorithm is used?
- Can you access any of these files exploiting some vulnerability?
- Is there any interesting information in the github (solved and not solved) issues? Or in commit history (maybe some password introduced inside an old commit)?
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 or (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를 찾아 스캐너를 돌렸을 수도 있습니다.
단계별 웹 애플리케이션 발견
이 시점부터 웹 애플리케이션과 상호작용을 시작합니다.
초기 확인
흥미로운 정보가 있는 기본 페이지:
- /robots.txt
- /sitemap.xml
- /crossdomain.xml
- /clientaccesspolicy.xml
- /.well-known/
- 메인 및 보조 페이지의 주석도 확인하세요.
오류 유발
웹 서버는 이상한 데이터를 전송하면 예상치 못하게 동작할 수 있습니다. 이로 인해 취약점이 생기거나 민감한 정보 노출이 발생할 수 있습니다.
- /whatever_fake.php (.aspx,.html,.etc) 같은 가짜 페이지에 접근
- 오류를 만들기 위해 cookie values와 parameter values에 **“[]”, “]]”, “[[”**를 추가
- URL의 끝에
/~randomthing/%s같은 입력을 주어 오류를 유도 - PATCH, DEBUG 같은 다양한 HTTP Verbs를 시도하거나 FAKE처럼 잘못된 메서드를 사용해보기
업로드 가능 여부 확인하기 (PUT verb, WebDav)
WebDav가 enabled되어 있으나 루트 폴더에 uploading files 권한이 충분하지 않다면 다음을 시도하세요:
- Brute Force credentials
- WebDav를 통해 웹페이지 내 found folders의 rest에 Upload files를 업로드해보세요. 다른 폴더에는 업로드 권한이 있을 수 있습니다.
SSL/TLS vulnerabilites
- 애플리케이션이 어느 부분에서도 HTTPS 사용을 강제하지 않는다면, 이는 MitM에 취약합니다.
- 애플리케이션이 HTTP로 민감한 데이터(비밀번호)를 전송한다면, 이는 심각한 취약점입니다.
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 파일 내 LinkFinder 및 외부 소스(Archive.org, CommonCrawl.org, VirusTotal.com)를 사용합니다.
- hakrawler (go): HTML spider, JS 파일용 LinkFinder 및 Archive.org를 외부 소스로 사용합니다.
- dirhunt (python): HTML spider이며 “juicy files“를 표시합니다.
- evine (go): 대화형 CLI HTML spider. 또한 Archive.org에서 검색합니다.
- meg (go): 엄밀히 말하면 spider는 아니지만 유용합니다. 호스트 목록 파일과 경로 목록 파일을 지정하면 meg가 각 호스트의 각 경로를 가져와 응답을 저장합니다.
- 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 파일에서 엔드포인트를 추출합니다. 버그 헌터, 레드팀, 인포섹에 유용합니다.
- JSParser (python2.7): Tornado와 JSBeautifier를 사용해 JavaScript 파일에서 상대 URL을 파싱하는 python 2.7 스크립트입니다. AJAX 요청을 쉽게 발견할 때 유용합니다. 유지보수되지 않는 것으로 보입니다.
- relative-url-extractor (ruby): 파일(HTML)을 주면 정규표현식을 사용해 uglify된(압축된) 파일에서 상대 URL을 추출합니다.
- JSFScan (bash, 여러 도구): 여러 도구를 사용해 JS 파일에서 흥미로운 정보를 수집합니다.
- subjs (go): JS 파일을 찾습니다.
- page-fetch (go): 헤드리스 브라우저로 페이지를 로드하고 페이지를 로드하기 위해 불러온 모든 URL을 출력합니다.
- Feroxbuster (rust): 이전 도구들의 여러 기능을 혼합한 content discovery 도구입니다.
- Javascript Parsing: JS 파일에서 경로와 파라미터를 찾는 Burp 확장입니다.
- BurpJSLinkFinder Enhanced: JavaScript 응답( MIME 타입 및
/js경로 기준)을 수동으로 분석해 엔드포인트/링크를 추출하고 임베디드 비밀을 심각도와 함께 표시하는 Burp 확장(Jython). - Sourcemapper: .js.map URL을 주면 beautified JS 코드를 가져오는 도구입니다.
- xnLinkFinder: 주어진 타깃에 대한 엔드포인트를 발견하는 도구입니다.
- waymore: wayback machine에서 링크를 발견(wayback의 응답을 다운로드하고 더 많은 링크를 찾음)합니다.
- HTTPLoot (go): 폼 채우기까지 포함해 크롤링하고 특정 정규식으로 민감한 정보를 찾습니다.
- SpiderSuite: 사이버 보안 전문가를 위해 설계된 고급 다기능 GUI 웹 보안 Crawler/Spider입니다.
- jsluice (go): JavaScript 소스에서 URL, 경로, 비밀 및 기타 흥미로운 데이터를 추출하는 Go 패키지이자 명령행 도구입니다.
- ParaForge: 요청에서 파라미터와 엔드포인트를 추출해 fuzzing 및 열거용 커스텀 워드리스트를 생성하는 간단한 Burp Suite extension입니다.
- katana (go): 이 목적에 매우 적합한 도구입니다.
- Crawley (go): 찾을 수 있는 모든 링크를 출력합니다.
Brute Force directories and files
루트 폴더에서 brute-forcing을 시작하고, 이 방법으로 찾은 모든 디렉터리와 Spidering으로 발견된 모든 디렉터리에서 반드시 brute-force를 수행하세요(이 작업을 recursively로 수행하고 사용한 wordlist 앞에 발견한 디렉터리 이름을 추가할 수 있습니다).
도구:
- Dirb / Dirbuster - Kali에 포함되어 있으며, 오래된(그리고 느린) 도구지만 동작합니다. 자체 서명된 인증서를 허용하고 재귀 검색을 지원합니다. 다른 옵션들에 비해 너무 느립니다.
- Dirsearch (python): 자체 서명된 인증서를 허용하지 않지만 재귀 검색을 지원합니다.
- Gobuster (go): 자체 서명된 인증서를 허용하며, recursive 검색은 없습니다.
- Feroxbuster - 빠르고, recursive 검색을 지원합니다.
- 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 import 기반으로 기능이 중복된 URL을 제거합니다.
- Chamaleon: Wappalyzer를 사용해 사용된 기술을 감지하고 사용할 워드리스트를 선택합니다.
추천 워드리스트:
- 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 내부의 끊긴 링크를 찾아 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나 숨겨진 기능을 찾을 수 있습니다.
- CTF를 하는 경우, 흔한 트릭으로 페이지 소스 우측에 수백 개의 공백을 넣어(브라우저로 소스 열 때 보이지 않도록) 주석 안에 정보를 숨기는 경우가 있습니다. 또는 여러 개의 개행을 사용해 페이지 하단의 주석에 정보를 숨길 수도 있습니다.
- API keys: API 키를 발견하면 다양한 플랫폼의 API 키 사용 방법을 알려주는 가이드들이 있습니다: keyhacks, zile, truffleHog, SecretFinder, RegHex, DumpsterDive, EarlyBird
- Google API keys: AIza로 시작하는 API 키(예: AIzaSyA-qLheq6xjDiEIRisP_ujUseYLQCHUjik)를 발견하면 gmapapiscanner로 해당 키가 어떤 API에 접근 가능한지 확인할 수 있습니다.
- S3 Buckets: spidering 중에 어떤 subdomain이나 링크가 S3 버킷과 관련 있는지 확인하세요. 그런 경우 버킷 권한을 확인하세요.
Special findings
spidering 및 brute-forcing을 수행하는 동안 주의할 만한 흥미로운 항목들이 발견될 수 있습니다.
흥미로운 파일들
- CSS 파일 내부의 다른 파일에 대한 링크를 찾아보세요.
- .git 파일을 찾으면 일부 정보를 추출할 수 있습니다
- .env 파일을 찾으면 API 키, DB 패스워드 등 민감한 정보를 얻을 수 있습니다.
- 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 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
어떤 페이지가 해당 코드로 응답하면 잘못 설정된 프록시일 가능성이 큽니다. 다음과 같은 HTTP 요청을 보낼 경우: GET https://google.com HTTP/1.1 (Host 헤더 및 기타 일반 헤더 포함), 프록시는 _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>
## 참고 자료
- [https://github.com/panchocosil/burp-js-linkfinder-enhanced](https://github.com/panchocosil/burp-js-linkfinder-enhanced)
> [!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>


