
Porch Pirate ist der umfassendste Postman-Recon-/OSINT-Client und das dazugehörige Framework, das die automatisierte Entdeckung und Nutzung von API-Endpunkten und Geheimnissen ermöglicht, die in Workspaces, Collections, Requests, Benutzern und Teams hinterlegt sind. Porch Pirate kann als eigenständiger Client oder in Ihre eigenen Anwendungen integriert werden.

Porch Pirate begann als ein Werkzeug, um schnell Postman-Geheimnisse aufzudecken, und hat sich langsam zu einem multifunktionalen Reconnaissance-/OSINT-Framework für Postman entwickelt. Während vorhandene Werkzeuge großartige Machbarkeitsnachweise sind, versuchen sie nur, sehr spezifische Schlüsselwörter als "Geheimnisse" zu identifizieren, und das an sehr begrenzten Stellen, ohne Berücksichtigung von Reconnaissance über Geheimnisse hinaus. Wir erkannten, dass wir Fähigkeiten benötigten, die "geheimnis-agnostisch" sind und genügend Flexibilität bieten, um falsch-positive Ergebnisse zu erfassen, die dennoch offensiven Wert haben.
Porch Pirate listet sensible Ergebnisse (globale Geheimnisse, einzigartige Header, Endpunkte, Abfrageparameter, Autorisierung usw.) aus öffentlich zugänglichen Postman-Entitäten auf und präsentiert sie, wie zum Beispiel:
python3 -m pip install porch-pirate

Der Porch Pirate-Client kann verwendet werden, um Überprüfungen von öffentlichen Postman-Entitäten nahezu vollständig und auf schnelle, einfache Weise durchzuführen. Es gibt vorgesehene Arbeitsabläufe und bestimmte Schlüsselwörter, die typischerweise die Ergebnisse maximieren. Diese Methoden finden Sie in unserem Blog: Plundering Postman with Porch Pirate.
Porch Pirate unterstützt die folgenden Argumente, die auf Sammlungen, Arbeitsbereiche oder Benutzer angewendet werden können.
--globals--collections--requests--urls--dump--raw--curlporch-pirate -s "coca-cola.com"
Standardmäßig zeigt Porch Pirate globale Einstellungen aus allen aktiven und inaktiven Umgebungen an, sofern diese im Arbeitsbereich definiert sind. Geben Sie ein -w-Argument mit der Arbeitsbereichs-ID an (durch eine einfache Suche oder automatische Suche-Dump gefunden), um die globalen Einstellungen des Arbeitsbereichs zusammen mit anderen Informationen zu extrahieren.
porch-pirate -w abd6bded-ac31-4dd5-87d6-aa4a399071b8
Wenn bei einer einfachen Suche ein interessantes Ergebnis gefunden wurde, können wir die Arbeitsbereichs-ID mit dem Argument -w und dem Befehl --dump angeben, um mit dem Extrahieren von Informationen aus dem Arbeitsbereich und seinen Sammlungen zu beginnen.
porch-pirate -w abd6bded-ac31-4dd5-87d6-aa4a399071b8 --dump
Porch Pirate kann mit einem einfachen Suchbegriff versehen werden, gefolgt vom Argument --globals. Porch Pirate dumped alle relevanten Arbeitsbereiche, die mit den in der einfachen Suche gefundenen Ergebnissen verknüpft sind, jedoch nur, wenn globale Einstellungen definiert sind. Dies ist besonders nützlich, um schnell potenziell interessante Arbeitsbereiche zu identifizieren, die näher untersucht werden sollten.
porch-pirate -s "shopify" --globals
Porch Pirate kann mit einem einfachen Suchbegriff versehen werden, gefolgt vom Argument --dump. Porch Pirate dumped alle relevanten Arbeitsbereiche und Sammlungen, die mit den in der einfachen Suche gefundenen Ergebnissen verknüpft sind. Dies ist besonders nützlich, um schnell durch potenziell interessante Ergebnisse zu sichten.
porch-pirate -s "coca-cola.com" --dump
Eine besonders nützliche Art, Porch Pirate zu verwenden, ist das Extrahieren aller URLs aus einem Arbeitsbereich und deren Export in ein anderes Werkzeug zum Fuzzing.
porch-pirate -w abd6bded-ac31-4dd5-87d6-aa4a399071b8 --urls
Porch Pirate extrahiert rekursiv alle URLs aus Arbeitsbereichen und deren Sammlungen, die mit einem einfachen Suchbegriff zusammenhängen.
porch-pirate -s "coca-cola.com" --urls
porch-pirate -w abd6bded-ac31-4dd5-87d6-aa4a399071b8 --collections
porch-pirate -w abd6bded-ac31-4dd5-87d6-aa4a399071b8 --requests
porch-pirate -w abd6bded-ac31-4dd5-87d6-aa4a399071b8 --raw
porch-pirate -w WORKSPACE_ID
porch-pirate -c COLLECTION_ID
porch-pirate -r REQUEST_ID
porch-pirate -u USERNAME/TEAMNAME
Porch Pirate kann curl-Anfragen erstellen, wenn eine Anfrage-ID angegeben wird, um das Testen zu erleichtern.
porch-pirate -r 11055256-b1529390-18d2-4dce-812f-ee4d33bffd38 --curl
porch-pirate -s coca-cola.com --proxy 127.0.0.1:8080
p = porchpirate()
print(p.search('coca-cola.com'))
p = porchpirate()
print(p.collections('4127fdda-08be-4f34-af0e-a8bdc06efaba'))
p = porchpirate()
collections = json.loads(p.collections('4127fdda-08be-4f34-af0e-a8bdc06efaba'))
for collection in collections['data']:
requests = collection['requests']
for r in requests:
request_data = p.request(r['id'])
print(request_data)
p = porchpirate()
print(p.workspace_globals('4127fdda-08be-4f34-af0e-a8bdc06efaba'))
Weitere Beispiele zur Nutzung der Bibliothek finden Sie im Verzeichnis examples, das die folgenden Beispiele enthält:
dump_workspace.pyformat_search_results.pyformat_workspace_collections.pyformat_workspace_globals.pyget_collection.pyget_collections.pyget_profile.pyget_request.pyget_statistics.pyget_team.pyget_user.pyget_workspace.pyrecursive_globals_from_search.pyrequest_to_curl.pysearch.pysearch_by_page.pyworkspace_collections.py