Spawning up Decoy Server in case of any fraudulent activity and directing the intruder towards the decoy. Auto Killing the decoy if it is idle for too long.

SecureX

Spawning up Decoy Server in case of any fraudulent activity and directing the intruder towards the decoy. Auto Killing the decoy if it is idle for too long.

Here Decoy is Dockerised Golang API and the attack that is considered is Password Spray Attack

Links

Process Diagram

How to run locally

  1. Set up .env file according to the .env.sample file
  2. Email and Password should be a google account while turning on low secure apps
  3. Enter go run server.go to run the golang server
  4. Run go run intruder/password_spray.go to start password spray simulation

Services

Fraud Detection Service

Currently the detection of Password Spray Attack is done using its own properties. Attackers attempt the same password on many accounts before moving on to another and repeating the process

  • Counting number of logins from the same Port which are done simultaneously
  • If count is greater than a threshold then declare it as a Password Spray attack

Redirection Service

In case of Fraud

  • Spawning up of Decoy Machine
  • Notifying on mailing list
  • Redirecting the API call to Decoy Server

On Demand Decoy Service

  • Docker Container as a Decoy
  • Fake Data and Configuration while ensuring similar experience as original server to the Intruder
  • All the Activities in Decoy are Recorded and Monitored as Audit Logs
  • Auto Kill the Decoy if it is idle for more than a minute (using concurrency)

Notification Service

  • Notifying the teams that are responsible for taking action against the fraudulent activity
  • Using SMTP Email Services

Audit Logging Service

  • Recording all interactions of Intruder with Decoy
  • Storing IP, Port, Network Type, Location, Description and status of the Activity
  • Useful to Recreate the whole Process if required

Mockups

Tech Stack

Golang, Docker, SMTP, PostgreSQL, Scripting

Tasks

  1. Create a golang API for login
  2. System to detect the port scan attack or password spray attack
  3. Docker container with the same Golang API
  4. Spawn the Docker container programmatically on a specific port
  5. Redirect the intruder to server created by docker container
  6. Shut down container if it is idle
  7. Audit Logging service in the container API
  8. Notification service in the container API
  9. Improve dataset for logins

Made with love by Ankit Hans

Owner
Ankit Hans
Intern at AB InBev | Incoming Walmart Intern | GSoC'21 JBoss @aerogear
Ankit Hans
Similar Resources

A web server that sits beside jupyterhub and scrapes answers out of notebook files.

A Prototype grader tool that runs with jupyterhub that essentially parses jupyter notebooks and responds with a set of form fields automatically fille

Feb 22, 2022

A very simple local client-server calculator project built using Cobra and socket programming, written in Go.

Golculator Introduction A very simple local client-server calculator project built using Cobra and socket programming, written in Go. Setup and run Fi

Apr 3, 2022

Elastos.ELA.Rosetta.API - How to write a Rosetta server and use either the Client package or Fetcher package to communicate

Examples This folder demonstrates how to write a Rosetta server and how to use e

Jan 17, 2022

A payment server for NANO

nano-payment-server This is a server for processing NANO payments in conjunction with a node.

Mar 18, 2022

A serverless sync server for Santa, built on AWS

Rudolph Rudolph is the control server counterpart of Santa, and is used to rapidly deploy configurations to Santa agents. Rudolph is built in Amazon W

Dec 5, 2022

Go server SDK for IBM Cloud Event Notifications service

IBM Cloud Event Notifications Go Admin SDK Go client library to interact with the various IBM Cloud Event Notifications APIs. Disclaimer: this SDK is

Dec 14, 2022

Metaverse api server by golang

metaverse_api_server_go 介绍 元宇宙接口 API 服务器 实现。 The implementation of Metaverse standard API 元宇宙接口标准 说明: json 所有接口,字段通常为string类型 元宇宙基础API接口(可通过此服务器获取其他节点

Jan 19, 2022

A REST API microservices-based Twitter Clone server.

Simple API Twitter Clone A REST API microservices-based project to fetch, edit, post, and delete tweets. API documentation The API documentation is bu

May 13, 2022

Centralized backend & server for Vocdoni's Voting-as-a-Service API

Centralized backend & server for Vocdoni's Voting-as-a-Service API

Vocdoni Manager Backend The vocdoni manager is a private service providing organizations with a UI to manage their community and edit their public con

Feb 18, 2022
wtf? paranormal twitter.com activity using Twitter Cards. Migros.tr #DoITYourself

GTKE - go-tweet-kart-ele wtf? paranormal twitter.com activity using Twitter Cards. Migros.tr #DoITYourself Just for fun. Go. # You have go. go install

Dec 7, 2021
Fetch the Spotify friend activity via Go

spotify-buddylist Fetch the Spotify friend activity via Go Overview The official Spotify API doesn't provide a way to fetch the friend activity feed t

Jan 2, 2022
Pulumi - Modern Infrastructure as Code. Any cloud, any language 🚀
Pulumi - Modern Infrastructure as Code. Any cloud, any language 🚀

Pulumi's Infrastructure as Code SDK is the easiest way to create and deploy cloud software that use containers, serverless functions, hosted services,

Dec 30, 2022
Auto-generated Google APIs for Go.

Google APIs Client Library for Go Getting Started $ go get google.golang.org/api/tasks/v1 $ go get google.golang.org/api/moderator/v1 $ go get google.

Jan 8, 2023
A Github Action to auto approve pull requests that contain only document reviews.

Approve documentation review A Github Action to auto approve pull requests that contain only document reviews. The Cloud Platform team have a document

Dec 23, 2021
Tiny go package for fetching high and low value of a stock for any given period range using kite connect historical data APIs.

Tiny go package for fetching high and low value of stock for any given period range using Kite connect Historical data APIs.

Apr 27, 2022
Client-server-golang-sqs - Client Server with SQS and golang

Client Server with SQS and golang Multi-threaded client-server demo with Go What

Feb 14, 2022
Triangula-api-server - API server for processing images with Triangula

Triangula API server Minimalistic API server that calculates and serves artistic

Jan 10, 2022
Pokemon Unite scoreboard HUD and extra tools running over captured game feeds using the OpenCV video processing API and Client/Server architecture.
Pokemon Unite scoreboard HUD and extra tools running over captured game feeds using the OpenCV video processing API and Client/Server architecture.

unite Pokemon Unite scoreboard HUD and extra tools running over captured game feeds using the OpenCV video processing API. Client (OBS Live) Server Ar

Dec 5, 2022