Kali Linux

O365-Doppelganger : A Quick Handy Script To Harvest Credentials Off Of A User

O365-Doppelganger is NOT a replacement for hardcore phishing activities. There are several other tools which perform OAuth and OTA capture which is not the aim of O365-Doppelganger.

O365-Doppelganger is a quick handy script to harvest credentials of a user during Red Teams. This repository is a quick hack of one of my old red team engagement scripts which I’ve used several times to capture credentials and use them for making windows access tokens for lateral movement. This code repository basically performs the below tasks:

  • The GO code:
    • hosts the O365 portal (can be replaced with anything in the index.html). It is recommended to use a valid cert and key file (LetsEncrypt?) instead of the one provided in the directory
    • logs all user activity on the web portal in a seperate log file on the server
    • logs the credentials captured in a seperate log file on the server
    • can also be used to return a valid file to the user post capturing the credentials. This can be done by replacing the file named MacroFile.doc in the current directory and replacing it with HTA/ISO/MSI or anything else that the phisher wants. Theres also a small code in the GO code which would need to be modified to specify the user’s file name which needs to be returned: content, err := ioutil.ReadFile("MacroFile.doc")
    • Once modified, the target user when enters a valid email ID and password will be asked to save the above file. This file name can be changed using the below code in the GO file: response.Header().Set("Content-Disposition", "attachment; filename=Darkvortex Privacy Policy.doc")
  • The index.html code:
    • renders an O365 portal alongside a small regex which checks for a given user’s domain name to make it look a bit more legit. The regex code looks like this: pattern="^([a-zA-Z0-9_\-\.]+)@darkvortex\.([a-zA-Z]{2,5})$" title=" Valid darkvortex email ID"
    • The above regex checks if the given username contains a full valid email address else it will prompt the user to enter a correct username as follows:
  • This same check is also performed in the GO code so that user’s do not use something like burp to bypass the check: if strings.Contains(value[i], "@darkvortex") {
  • It’s recommended to change the name darkvortex in the index.html file to your own target company name.
  • Once the correct email ID and the password is entered, the user will be asked to save the provided file as follows:
R K

Recent Posts

Burrow – Breaking Through Firewalls With Open Source Ingenuity

Burrow is an open source tool for burrowing through firewalls, built by teenagers at Hack Club.…

5 hours ago

Its-A-Trap : Building Secure Web Applications With A Golang Web Server For Authentication

Simple golang webserver that listens for basic auth or post requests and sends a notification…

5 hours ago

Nutek-Apple : Unleashing Power On macOS And Linux

Nutek Security Platform for macOS and Linux operating systems. Tools for hackers, bug hunters and…

5 hours ago

SecureSphere Labs – A Haven For Cybersecurity Innovators And Ethical Hackers

Welcome to SecureSphere Labs, your go-to destination for a curated collection of powerful hacking tools…

5 hours ago

Vulpes/VulpOS : The Docker-Powered All-in-One Workstation For Penetration Testing And Offsec Labs

All in one Docker-based workstation with hacking tools for Pentesting and offsec Labs by maintained…

5 hours ago

LiCo-Extrator : Revolutionizing Icon Extraction Across Platforms

Got it! Below is the updated README.md file with instructions for downloading the project on…

22 hours ago