Skip to content
Skillpedia
Security48k · #3244

hunt-brute-force

Helps your agent find flaws in access attempt rate limiting. It protects systems against brute-force attacks trying to guess passwords.

What it does

This tool helps check if a website or app limits the number of login attempts or verification codes you can try within a certain time. It looks for weaknesses in these limits to find potential security flaws.

When to use it

  • ✓When testing a website's security and checking if the login is protected against repeated attempts.
  • ✓When investigating if verification codes (like for 2FA) can be easily guessed.
  • ✓When looking for flaws that allow guessing passwords or codes without being blocked.

Example of what to ask your AI

“Check if the website 'example.com' limits login attempts.”

Want more? Open the sections below.

How to use

The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.

Skill link

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/hunt-brute-force/SKILL.md

Ready-to-paste message

Use this skill to help me: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/hunt-brute-force/SKILL.md Read the SKILL.md file at that link and follow its instructions for my task.
How it works

The tool sends multiple login attempts or verification codes rapidly to the target. It observes the website's responses for blocks, slowdowns, or error messages that indicate a failed attempt limit.

Installation

Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.

In the terminal (Claude Code, Codex, Cursor), in your project folder:

npx skills add sickn33/agentic-awesome-skills --skill hunt-brute-force

Or download just the file:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/hunt-brute-force/SKILL.md -o SKILL.md
Technical content (original SKILL.md)

Original text by the author, straight from GitHub.

⚠️ AUTHORIZED USE ONLY This skill is for educational purposes or authorized security assessments only. You must have explicit, written permission from the system owner before using this tool. Misuse of this tool is illegal and strictly prohibited.

Mandatory confirmation gate Before running any command that probes, exploits, changes, persists on, extracts data from, or attempts credential access against a target:

  1. Ask the user to state the exact target URL, IP, account, or resource.
  2. Ask the user to confirm written authorization and the permitted scope.
  3. Show the exact command(s) and explain their expected effect.
  4. Wait for explicit confirmation in the current conversation.

Without that confirmation, remain read-only and provide defensive guidance only. Prefer a sandbox, disposable VM, or controlled lab.

HUNT-BRUTE-FORCE — Rate Limiting / Brute Force / Enumeration

Grounding note: this skill is built from published technique classes, not from a curated set of named HackerOne reports. report_count is intentionally 0 — do not cite an exact payout or report ID you cannot verify. Where a public case is well-documented (e.g. Laxman Muthiyah's Instagram password-reset OTP race/rotation research, 2019–2021), it is named below as a technique reference, not a payout claim.

Crown Jewel Targets

OTP brute force (6-digit = 1,000,000 combinations) with no effective rate limit = Critical ATO bypass.

Highest-value chains:

  • OTP / 2FA brute → MFA bypass → ATO — no effective rate limit on /verify-otp, full 000000–999999 keyspace reachable
  • Password-reset token brute — short/predictable/non-expiring tokens + no rate limit → ATO (the Instagram 2019 case combined a 6-digit reset code, no rate limit per request-source, and IP rotation to make 10^6 tractable)
  • Username/email enumeration → targeted credential stuffing — valid/invalid distinguishable by response string, status code, or timing, then sprayed with breach corpora
  • Coupon / gift-card / referral code brute — no rate limit on code validation → financial impact
  • ReDoS — attacker-controlled input hits a catastrophic-backtracking regex → CPU exhaustion → DoS

Autonomous Testing Priority

Work within your turn budget — prioritize signal over volume.

You cannot brute-force millions of combinations in automated testing. Focus on two things: (1) credential spraying with the most likely candidates, and (2) detecting whether rate limiting exists at all.

Strategy:

  1. Identify the login endpoint and the expected parameter names (username/email, password).
  2. Try weak/default credentials likely for the target context — default admin credentials for the app's stack, simple passwords for test environments, credentials visible elsewhere on the app (e.g. usernames exposed in profiles, default passwords in documentation).
  3. After 3-5 failed attempts, check for rate-limit signals (429 status, "too many attempts" message, CAPTCHA appearance, account lockout message). Absence of these = rate limiting is missing = vulnerability.
  4. Use form-encoding for traditional login forms, JSON for REST API login endpoints.

What to look for as success:

  • Session token or JWT in the response body or Set-Cookie header
  • Redirect to authenticated dashboard
  • Response body that differs from the failed-login baseline

Username enumeration (separate finding): Try a known-valid username vs a random one. If the error message differs ("Wrong password" vs "User not found") or response time differs → user enumeration vulnerability, even without a successful login.


CRITICAL: Four rate-limit states — do not collapse them

A 200/401 with no 429 does not mean "no rate limiting". A rate-limiting skill that only checks for 429/lockout produces false negatives. Classify the defense BEFORE concluding, by sending a burst of ~50 requests and watching the full response (status, body, headers, latency, and downstream success):

State Signal Brute still feasible?
Hard account lockout account disabled after N fails; later correct creds also fail No (but lockout itself can be a DoS finding)
Soft IP throttle 429 / increasing latency keyed on source IP only Yes — bypass via header/IP rotation (Phase 4)

…

FAQ

What is 'rate limiting'?

It's a security mechanism that limits how many times something can be done in a given period, like login attempts, to prevent attacks.

What is 'brute force'?

It's an attack method that tries to guess a password or code by testing all possible combinations.

Why is checking 'rate limiting' important?

Sites without proper attempt limits can be vulnerable to attacks that steal passwords or verification codes, allowing attackers to access accounts improperly.

Details

Original description by the author

Hunt Missing/Weak Rate Limiting

repo: sickn33/agentic-awesome-skills

Popularity

GitHub stars
48k
Ranking position
#3244
License
MIT
Updated
10/15/2026

Is this skill useful?

0

Sign in to vote.

Comments

  • …

More skills from this repository

Similar skills