Coder Social home page Coder Social logo

morristech / honeylambda Goto Github PK

View Code? Open in Web Editor NEW

This project forked from 0x4d31/honeylambda

0.0 0.0 0.0 777 KB

honeyλ - a simple, serverless application designed to create and monitor fake HTTP endpoints (i.e. URL honeytokens) automatically, on top of AWS Lambda and Amazon API Gateway

License: GNU General Public License v3.0

Python 98.60% HTML 1.40%

honeylambda's Introduction

Serverless trap

serverless License: GPL v3

honeyλ - a simple serverless application designed to create and monitor URL {honey}tokens, on top of AWS Lambda and Amazon API Gateway

  • Slack notifications
  • Email and SMS alerts
  • Load config from local file or Amazon S3
  • Customize the HTTP response for each token
  • Threat Intelligence report (Source IP lookup)
    • Using Cymon API v2
  • Based on Serverless framework
    • pay-what-you-use
    • provider agnostic

Description

honeyλ allows you to create and monitor fake HTTP endpoints automatically. You can then place these URL honeytokens in e.g. your inbox, documents, browser history, or embed them as {hidden} links in your web pages (Note: honeybits can be used for spreading breadcrumbs across your systems to lure the attackers toward your traps). Depending on how and where you implement honeytokens, you may detect human attackers, malicious insiders, content scrapers, or bad bots.

This application is based on Serverless framework and can be deployed in different cloud providers such as Amazon Web Services (AWS), Microsoft Azure, IBM OpenWhisk or Google Cloud (Only tested on AWS; the main function may need small changes to support other providers). If your cloud provider is AWS, it automatically creates HTTP endpoints using Amazon API Gateway and then starts monitoring the HTTP endpoints using honeyλ Lambda function.

Setup

  • Install Serverless framework:
    • npm install -g serverless
  • Install honeyλ:
    • serverless install --url https://github.com/0x4d31/honeyLambda
  • Edit serverless.yml and set HTTP endpoint path (default: /v1/get-pass)
  • Edit config.json and fill in your Slack Webhook URL. Change the trap/token configs as you need
  • You can customize the HTTP response for each token
    • For example you can return a 1x1px beacon image in response and embed the token in your decoy documents or email (tracking pixel!)

Deploy

  • Set up your AWS Credentials
  • In order to deploy honeyλ, simply run:
    • serverless deploy

Output:

Serverless: Packaging service...
Serverless: Creating Stack...
Serverless: Checking Stack create progress...
.....
Serverless: Stack create finished...
Serverless: Uploading CloudFormation file to S3...
Serverless: Uploading artifacts...
Serverless: Uploading service .zip file to S3 (116.22 KB)...
Serverless: Validating template...
Serverless: Updating Stack...
Serverless: Checking Stack update progress...
.................................
Serverless: Stack update finished...
Service Information
service: honeyLambda
stage: dev
region: ap-southeast-2
api keys:
  None
endpoints:
  GET - https://rz1bEXAMPLE.execute-api.ap-southeast-2.amazonaws.com/dev/v1/get-pass
functions:
  honeylambda: honeyLambda-dev-honeylambda
  • Note: If you want to return binary in HTTP response (e.g. Content-Type: image/png), you have to manually configure Binary Support using the Amazon API Gateway console (it's not yet possible to set binary media types automatically using serverless):

Open the Amazon API Gateway console, add the binary media type */*, and save.

Once done, you have to re-deploy the API to the dev stage

Usage

Open the generated URL/endpoint in your browser to test if it works:

honeyLambdaURL

Slack Alert

threatintel

TODO

  • Remote config: load config from Amazon S3
  • Beacon image / return image as HTTP response
  • Customize the HTTP response for each token
  • Check the source IP address against Threat Intelligence feeds (e.g. Cymon API)
  • Email alert
  • SMS alert (Twilio)
  • HTTP Client Fingerprinting

honeylambda's People

Contributors

0x4d31 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.