80,443 - Pentesting Web Methodology
Reading time: 18 minutes
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 가이드
방법론 요약
이 방법론에서는 도메인(또는 서브도메인) 하나만 공격한다고 가정합니다. 따라서 이 방법론은 범위 내에서 웹 서버가 불명확한 각 발견된 도메인, 서브도메인 또는 IP에 대해 적용해야 합니다.
- 우선 웹 서버에서 사용되는 technologies를 identifying하십시오. 기술을 성공적으로 식별할 수 있다면 테스트의 나머지 부분에서 염두에 둘 tricks을 찾아보세요.
- 해당 기술 버전에 알려진 known vulnerability가 있나요?
- 잘 알려진 well known tech를 사용하고 있나요? 더 많은 정보를 추출할 수 있는 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 중에 새로운 디렉터리가 발견되면 해당 디렉터리는 항상 spidered 되어야 합니다.
- Directory Brute-Forcing: 발견된 모든 폴더를 brute force하여 새로운 files 및 directories를 검색해 보세요.
- brute-forcing 또는 spidering 중에 새로운 디렉터리가 발견되면 해당 디렉터리는 항상 Brute-Forced 되어야 합니다.
- Backups checking: 일반적인 백업 확장자를 붙여 discovered files의 backups를 찾을 수 있는지 테스트하세요.
- Brute-Force parameters: 숨겨진 parameters를 find해 보세요.
- 가능한 모든 endpoints 중 user input을 받는 항목을 identified한 후, 해당 항목과 관련된 모든 종류의 vulnerabilities를 검사하세요.
- 이 체크리스트를 따르세요
서버 버전 (취약한가?)
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
WAF가 있는지 확인
- https://github.com/EnableSecurity/wafw00f
- https://github.com/Ekultek/WhatWaf.git
- https://nmap.org/nsedoc/scripts/http-waf-detect.html
웹 기술 트릭
사용 중인 다양한 잘 알려진 technologies에서 finding vulnerabilities를 위한 몇 가지 tricks:
- AEM - Adobe Experience Cloud
- Apache
- Artifactory
- Buckets
- CGI
- Drupal
- Flask
- 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
- Spring Actuators
- Symphony
- Tomcat
- VMWare
- Web API Pentesting
- WebDav
- Werkzeug
- Wordpress
- Electron Desktop (XSS to RCE)
- Sitecore
다음을 고려하세요: same domain은 서로 다른 ports, folders, subdomains에서 different technologies를 사용할 수 있습니다.
웹 애플리케이션이 앞서 나열된 잘 알려진 tech/platform listed before 또는 any other를 사용하고 있다면, 새로운 트릭을 인터넷에서 검색하는 것을 잊지 마세요(그리고 알려주세요!).
소스 코드 리뷰
애플리케이션의 source code가 github에 공개되어 있다면, 자체적으로 White box test를 수행하는 것 외에도 현재의 Black-Box testing에 유용할 수 있는 some information이 있습니다:
- 웹에서 접근 가능한 Change-log or Readme or Version 파일이나 version info accessible가 있나요?
- credentials는 어떻게 어디에 저장되나요? 자격 증명(사용자명 또는 비밀번호)이 포함된 (접근 가능한?) file이 있나요?
- passwords는 plain text, encrypted 상태인가요, 아니면 어떤 hashing algorithm이 사용되나요?
- 무언가를 암호화하기 위해 master key를 사용하나요? 어떤 algorithm이 사용되나요?
- 어떤 취약점을 이용해 이러한 files 중 하나에 access any of these files 할 수 있나요?
- github의 issues(해결된 것과 해결되지 않은 것)에 흥미로운 정보가 있나요? 또는 commit history(예: 오래된 커밋에 password introduced inside an old commit가 포함되어 있을 수 있음)에는요?
Source code Review / SAST Tools
자동 스캐너
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) 같은 가짜 페이지에 접근
- 오류를 만들기 위해 쿠키 값 및 파라미터 값에 "[]", "]]", "[[" 추가
- URL의 끝에
/~randomthing/%s
같은 입력을 주어 오류 생성 - PATCH, DEBUG 같은 다양한 HTTP Verbs를 시도하거나 FAKE 같은 잘못된 verb 시도
파일 업로드 가능 여부 확인 (PUT verb, WebDav)
WebDav가 활성화되어 있지만 루트 폴더에 파일 업로드 권한이 충분하지 않은 경우 다음을 시도하세요:
- Brute Force로 자격증명 시도
- WebDav를 이용해 웹 페이지 내부에 발견된 다른 폴더들에 파일 업로드 시도. 다른 폴더에는 업로드 권한이 있을 수 있습니다.
SSL/TLS 취약점
- 애플리케이션이 어느 부분에서도 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): HML spider, JS 파일용 LinkFinder와 Archive.org를 외부 소스로 사용합니다.
- dirhunt (python): HTML spider로 "juicy files"를 표시합니다.
- evine (go): 대화형 CLI HTML spider. Archive.org에서도 검색합니다.
- meg (go): 이 도구는 strict한 의미의 spider는 아니지만 유용합니다. hosts 파일과 paths 파일을 지정하면 meg가 각 호스트의 각 경로를 가져와 응답을 저장합니다.
- urlgrab (go): JS 렌더링 기능이 있는 HTML spider. 다만 유지보수가 되지 않는 것처럼 보이며, 사전 컴파일된 버전은 오래되었고 현재 코드는 컴파일되지 않습니다.
- gau (go): wayback, otx, commoncrawl 같은 외부 제공자를 사용하는 HTML spider입니다.
- ParamSpider: 파라미터가 있는 URL을 찾아 나열하는 스크립트입니다.
- galer (go): JS 렌더링 기능이 있는 HTML spider입니다.
- LinkFinder (python): JS 파일에서 새 경로를 찾을 수 있는 JS beautify 기능을 갖춘 HTML spider. LinkFinder의 래퍼인 JSScanner도 살펴볼 가치가 있습니다.
- goLinkFinder (go): HTML 소스와 임베디드 자바스크립트 파일에서 엔드포인트를 추출합니다. 버그 헌터, 레드팀, 인포섹 전문가에게 유용합니다.
- JSParser (python2.7): Tornado와 JSBeautifier를 사용해 JavaScript 파일에서 상대 URL을 파싱하는 파이썬 2.7 스크립트입니다. AJAX 요청을 쉽게 발견하는 데 유용합니다. 유지보수되지 않는 것으로 보입니다.
- relative-url-extractor (ruby): HTML 파일을 입력하면 정규식을 사용해 난독화(압축)된 파일에서 상대 URL을 추출합니다.
- JSFScan (bash, several tools): 여러 도구를 사용해 JS 파일에서 흥미로운 정보를 수집합니다.
- subjs (go): JS 파일을 찾습니다.
- page-fetch (go): 헤드리스 브라우저로 페이지를 로드하고 페이지를 로드하는 데 사용된 모든 URL을 출력합니다.
- Feroxbuster (rust): 이전 도구들의 여러 옵션을 혼합한 콘텐츠 발견 도구입니다.
- Javascript Parsing: JS 파일에서 경로와 파라미터를 찾는 Burp 확장입니다.
- Sourcemapper: .js.map URL이 주어지면 beautified JS 코드를 가져오는 도구입니다.
- xnLinkFinder: 주어진 대상의 엔드포인트를 발견하는 도구입니다.
- waymore: Wayback Machine에서 링크를 발견하고(응답을 다운로드하고 더 많은 링크를 찾음) 수집합니다.
- HTTPLoot (go): 폼 채우기까지 포함한 크롤링을 수행하고 특정 정규식으로 민감한 정보를 찾아냅니다.
- SpiderSuite: 사이버 보안 전문가용으로 설계된 고급 다기능 GUI 웹 보안 크롤러/스파이더입니다.
- jsluice (go): JavaScript 소스 코드에서 URL, 경로, 비밀 및 기타 흥미로운 데이터를 추출하는 Go 패키지이자 command-line tool입니다.
- ParaForge: 요청에서 파라미터와 엔드포인트를 추출하여 fuzzing 및 열거용 커스텀 워드리스트를 생성하는 간단한 Burp Suite extension입니다.
- katana (go): 이 목적에 아주 좋은 도구입니다.
- Crawley (go): 찾을 수 있는 모든 링크를 출력합니다.
Brute Force directories and files
루트 폴더에서 brute-forcing을 시작하고, 이 방법으로 발견된 모든 디렉터리와 Spidering으로 발견된 모든 디렉터리를 반드시 brute-force 하세요(이 과정을 재귀적으로 수행하고, 사용 중인 워드리스트 앞부분에 발견한 디렉터리 이름을 추가할 수 있습니다).
도구:
- Dirb / Dirbuster - Kali에 포함되어 있으며 old(그리고 slow)하지만 동작합니다. 자체 서명된 인증서를 허용하고 재귀 검색을 지원합니다. 다른 옵션들에 비해 너무 느립니다.
- Dirsearch (python): 자체 서명된 인증서를 허용하지 않지만 재귀 검색을 지원합니다.
- Gobuster (go): 자체 서명된 인증서를 허용하며, recursive 검색은 지원하지 않습니다.
- 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): 발견된 URL 목록을 입력하면 "중복" URL을 제거하는 도구입니다.
- Scavenger: Burp 히스토리에서 여러 페이지의 디렉터리 목록을 생성하는 Burp Extension입니다.
- TrashCompactor: js 임포트를 기반으로 중복 기능을 가진 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, 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 중 하위 도메인이나 링크가 S3 버킷과 관련되어 있는지 확인하세요. 그런 경우 check the permissions of the bucket.
Special findings
spidering과 brute-forcing을 수행하는 동안 주의해야 할 흥미로운 항목을 발견할 수 있습니다.
Interesting files
- CSS 파일 내부의 다른 파일로의 links를 찾아보세요.
- If you find a .git file some information can be extracted
- .env 파일을 찾으면 API 키, DB 비밀번호 등 다양한 정보가 포함되어 있을 수 있습니다.
- API endpoints를 찾으면 should also test them. 이들은 파일이 아니지만 파일처럼 보일 수 있습니다.
- 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](https://github.com/taco-c/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
페이지가 해당 코드로 응답하면 잘못 구성된 프록시일 가능성이 큽니다. GET https://google.com HTTP/1.1
같은 HTTP 요청을 보내면(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
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 out
Entry_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}
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을 제출하여 해킹 트릭을 공유하세요.