Git Product home page Git Product logo

dejavu's Introduction

Virtual Box Download Link

  • Framework/Tool is published here: Beta V3
  • This is a Beta Release and is being shared for testing and suggestions purpose only. All feedback is welcome.

Checksums

Beta V3

  • MD5 : 6877a3a978c69711cdfa22f7085f9d8a

DejaVU - Open Source Deception Framework

Deception techniques if deployed well can be very effective for organizations to improve network defense and can be a useful arsenal for blue teams to detect attacks at very early stage of cyber kill chain. But the challenge we have seen is deploying, managing and administering decoys across large networks is still not easy and becomes complex for defenders to manage this over time. Although there are a lot of commercial tools in this space, we haven’t come across open source tools which can achieve this.

With this in mind, we have developed DejaVu which is an open source deception framework which can be used to deploys across the infrastructure. This could be used by the defender to deploy multiple interactive decoys (HTTP Servers, SQL, SMB, FTP, SSH, client side – NBNS) strategically across their network on different VLAN’s. To ease the management of decoys, we have built a web based platform which can be used to deploy, administer and configure all the decoys effectively from a centralized console. Logging and alerting dashboard displays detailed information about the alerts generated and can be further configured on how these alerts should be handled. If certain IP’s like in-house vulnerability scanner, SCCM etc. needs to be whitelisted, this can be configured which effectively would mean very few false positives.

Alerts only occur when an adversary is engaged with the decoy, so now when the attacker touches the decoy during reconnaissance or performs authentication attempts this raises a high accuracy alert which should be investigated by the defense. Decoys can also be placed on the client VLAN’s to detect client side attacks such as responder/LLMNR attacks using client side decoys. Additionally, common attacks which the adversary uses to compromise such as abusing Tomcat/SQL server for initial foothold can be deployed as decoys, luring the attacker and enabling detection.

Video demo for tool is published here: Youtube URL

Architecture

Deja Vu Architecture

  • Host OS: Primary OS hosting the DejaVU virtual box. Note: Primary
    host can be OS independent Windows/Linux and can be based on
    corporate hardening guidelines.
  • DejaVu Virtual Box: Debian based image containing open source deception framework to deploy multiple interactive decoys (HTTP Servers, SQL, SMB, FTP, SSH, client side – NBNS).
  • Networking
    • Management Interface – An interface to access web based management console. (Recommended to be isolated from internal network.)
    • Decoy Interface – Trunk/Access interface for inbound connections from different networks towards the interactive decoys. (Recommended to block outbound connections from this interface)
    • Virtual Interfaces – Interfaces bridged with decoy interface to channel traffic towards the decoys.
  • Server Dockers – Docker based service containers – HTTP(Tomcat/Apache), SQL, SMB, FTP, SSH
  • Client Dockers – Docker based client container – NBNS client
  • Management Console (Web + DB) – A centralized console to deploy, administer and configure all the decoys effectively along with logging and alerting dashboard to display detailed information about the alerts generated.

Usage Guide

Initial Setup

  1. Configure Username/Password for admin panel
php config.php --username=<provide username> --password=<provide password> --email=<provide email>
  1. Default URL to access admin panel - http://192.168.56.102
  2. Virtualbox network adapter type should be "PCNet"(full name is something like PCnet-FAST III)
  3. Set SMTP configuration on "mailalert.php" to recieve Email alerts

Now when you go to the default URL, you are greeted by the logon prompt:

Add Server Decoy

  1. To add a decoy, we first need to add a VLAN on which we want to later deploy Decoys.
    • Select Decoy Management -> Add VLAN
    • Enter the VLAN ID. Use the “List Available VLANs” option to list the VLANs tagged on the interface.

  1. To add server decoy :
    • Select Decoy Management ->Add Server Decoy
    • Provide the details for new decoy as shown below. Select the services (SMB/FTP/MySQL/FTP/Web Server/SSH) to be deployed, use dynamic or provide a static IP address.

  1. Let’s do some port scan's + Auth attempts from attacker machine on server VLAN and analyze the alerts

  1. View the alerts triggered when the attacker scanned our decoy and tried to authenticate.
    • Select Log Management -> List Events

Add Client Decoy

  1. To add Client Decoy
    • Select Decoy Management ->Add Client Decoy
    • Provide the details for new decoy as shown below. It’s recommended to place the client decoy on user VLANs to detect responder/LLMNR attacks.

  1. Let’s run responder from attacker machine on end user VLAN and analyze the alerts

  1. View the alerts triggered when the attacker scanned our decoy and tried to authenticated.
    • Log management -> List Events

Filter Alerts

  1. Alerts can be configured based on various parameters. Example – Don’t send alerts from IP – 10.1.10.101. If certain IP’s like in-house vulnerability scanner, SCCM etc. needs to be whitelisted.

To Do

  • Setup Wizard
  • Code Cleanup and sanitization
  • Persistance on reboot
  • Add client side decoys generating HTTP, FTP traffic
  • ISO image
  • Wiki

Authors

Bhadresh Patel (@bhdresh)

Harish Ramadoss (@hramados)

Credits

  • AdminLTE for their awesome UI theme
  • Big shout to open source community for previous work on Honeypots/Deception stuff

dejavu's People

Contributors

bhdresh 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.