{"adoption": {"forks": 97, "observed_at": "2026-08-28T04:04:17.372542+00:00", "stars": 1299}, "canonical_url": "https://ross.abutalabs.com/products/redteampentesting-pretender", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Your MitM sidekick for relaying attacks featuring DHCPv6 DNS takeover as well as mDNS, LLMNR and NetBIOS-NS spoofing.", "domain": ["security", "penetration-testing", "networking", "developer-tools"], "enriched": true, "function": ["security", "networking", "penetration-testing"], "health_score": 93, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["RedTeamPentesting/pretender"], "name": "RedTeamPentesting/pretender", "platform": ["windows", "cli", "cross-platform", "go"], "pushed_at": "2026-07-03T11:16:25+00:00", "repo": "RedTeamPentesting/pretender", "stars": 1299, "tags": ["mitm", "spoofing", "dhcpv6", "mdns", "llmnr", "netbios", "dns-takeover", "relay-attacks", "active-directory", "red-team", "linux", "macos"], "topics": ["go", "mdns", "dns", "llmnr", "netbios", "security", "dhcpv6", "spoofer", "pentesting", "pretender", "relaying"], "urls": [], "use_cases": ["spoof local name resolution in a Windows network for relay attacks", "perform DHCPv6 DNS takeover to intercept traffic", "redirect name resolution queries to an ntlmrelayx or krbrelayx host", "passively observe name resolution queries in dry mode", "capture NTLM hashes during pentests", "test Windows networks for poisoning vulnerabilities"], "what_it_is": "Pretender is a Go-based penetration testing tool that gains machine-in-the-middle positions via spoofed local name resolution (mDNS, LLMNR, NetBIOS-NS) and DHCPv6 DNS takeover attacks. It primarily targets Windows hosts and is designed to pair with relaying tools like Impacket's ntlmrelayx.py and krbrelayx.", "when_to_avoid": ["you need a full exploitation framework rather than a spoofing helper", "your target network does not use Windows or vulnerable name resolution protocols", "you lack authorization to test the network", "you need GUI-based tooling"], "when_to_choose": ["you need a MitM position for relaying attacks in an Active Directory environment", "you want a single tool combining mDNS, LLMNR, NetBIOS-NS spoofing and DHCPv6 DNS takeover", "you need to point spoofed responses at a relay tool running on a different host", "you want a cross-platform Go tool for network spoofing"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/redteampentesting-pretender", "repo": "RedTeamPentesting/pretender", "role": "main", "score": 92}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.372542+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:53:24.773123+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a3861a29bc04639d762c53f7ca27c0e230290ab338176c8ab4f09d248113d92", "fetched_at": "2026-08-28T04:04:17.372542+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RedTeamPentesting/pretender"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.372542+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:53:24.773123+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a3861a29bc04639d762c53f7ca27c0e230290ab338176c8ab4f09d248113d92", "fetched_at": "2026-08-28T04:04:17.372542+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RedTeamPentesting/pretender"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:53:24.773123+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a3861a29bc04639d762c53f7ca27c0e230290ab338176c8ab4f09d248113d92", "fetched_at": "2026-08-28T04:04:17.372542+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RedTeamPentesting/pretender"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.372542+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.372542+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.372542+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:53:24.773123+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a3861a29bc04639d762c53f7ca27c0e230290ab338176c8ab4f09d248113d92", "fetched_at": "2026-08-28T04:04:17.372542+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RedTeamPentesting/pretender"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.372542+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.372542+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:53:24.773123+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a3861a29bc04639d762c53f7ca27c0e230290ab338176c8ab4f09d248113d92", "fetched_at": "2026-08-28T04:04:17.372542+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RedTeamPentesting/pretender"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.372542+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.372542+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.372542+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:53:24.773123+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a3861a29bc04639d762c53f7ca27c0e230290ab338176c8ab4f09d248113d92", "fetched_at": "2026-08-28T04:04:17.372542+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RedTeamPentesting/pretender"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.372542+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:17.372542+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:53:24.773123+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a3861a29bc04639d762c53f7ca27c0e230290ab338176c8ab4f09d248113d92", "fetched_at": "2026-08-28T04:04:17.372542+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RedTeamPentesting/pretender"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:53:24.773123+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a3861a29bc04639d762c53f7ca27c0e230290ab338176c8ab4f09d248113d92", "fetched_at": "2026-08-28T04:04:17.372542+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RedTeamPentesting/pretender"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:53:24.773123+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a3861a29bc04639d762c53f7ca27c0e230290ab338176c8ab4f09d248113d92", "fetched_at": "2026-08-28T04:04:17.372542+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RedTeamPentesting/pretender"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:53:24.773123+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "6a3861a29bc04639d762c53f7ca27c0e230290ab338176c8ab4f09d248113d92", "fetched_at": "2026-08-28T04:04:17.372542+00:00", "kind": "readme", "missing": false, "url": "https://github.com/RedTeamPentesting/pretender"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 90, "longevity": 100, "rhythm": 91}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1514, "days_push": 61, "days_rel": 61, "gap_med": 8.5, "n_releases_24m": 5}, "score": 92, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}