Git Product home page Git Product logo

houdini's Introduction

🐳 HOUDINI: Hundreds of Offensive and Useful Docker Images for Network Intrusion

HOUDINI is a curated list of Network Security related Docker Images for Network Intrusion purposes. A lot of images are created and kept updated through our RAUDI repository. Pretty dope, eh?

Documentation Netlify Status License: GPL v3

Table of Contents

Web App

To use HOUDINI, click the link below:

Other than listing a lot of tools we provide docker run commands for every one of them and useful Cheatsheets for some of them (You can also contribute by suggesting new commands to add).

Built with

HOUDINI is created using:

And using the following packages:

Add a tool

A tool is composed by:

  • A markdown file in the /tools folder
  • An entry into a Javascript file (in /web/src/config/tools.ts)

We want people to contribute, so we created a script to automate the process of adding a new tool. All you have to do is add the description and (optionally) the cheatsheet. The command is bootstrap, here is an example:

To use the boostrap command you have to:

  • pnpm install in the web folder
  • pnpm run bootstrap in the web folder
  • Add the mandatory informations to add a new tool

The mandatory informations are the following:

  • Fancy name: The long version name of the tool
  • Docker Image: The Docker Image (in the format repo/image)
  • Official Doc: A link to the official documentation for the tool
  • Run Command: The run command

The last thing you have to do is to add the description and (optionally) the cheatsheet.

Development

This section provides a set of commands to run the application locally.

PLEASE use pnpm over npm

Setup

This is a React based application. Before running it you have to install all the needed packages with the following command:

cd ./web && pnpm install

Build

To build the app you have to run:

pnpm run build

Run

To execute the app locally you have to run:

pnpm dev

Please note that the folder used for showing the Markdown files in the React application is not the /tools folder, but a directory inside the source code of the React app itself (/web/src/_tools). Every time you run yarn start from the main directory the /tools folder is copied in /web/src/_tools. So if you add a new tool while the app is running it won't show up until you update the /web/src/_tools folder. For this reason a command has been added to ease this work, you can easily copy the /tools folder by running the following command while in the main directory:

pnpm run update

Roadmap

Here is the current roadmap:

  • Responsive Design
  • Add copy botton in <code> tags (make it a component)
  • Check bootstrap command on Linux systems
  • Fix margin, padding in tool pages to make it more readable
  • Add tools (reach at least 100)
  • Add labels [MUST]
  • Define customizable fields [COULD]
  • Add toolbox for customizing commands [COULD]
  • Add webapp snippet (to keep interesting commands) [COULD]
  • Add bashify script [COULD]

Contributions

Everyone is invited to contribute! We created a very detailed document to describe how to contribute to HOUDINI.

Credits

HOUDINI is an idea of Gaetano Perrone and is proudly developed @SecSI by:

License

HOUDINI is an open-source and free software released under the GNU GPL v3.

houdini's People

Contributors

c0r0n3r avatar daniele-capone avatar giper45 avatar thelicato avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

houdini's Issues

[BUG] BeeF docker image not found

Describe the bug

The image for BeeF cannot be found by docker.

Docker output:

user@server$: sudo docker run -p 3000:3000 -p 6789:6789 -p 61985:61985 -p 61986:61986 --name beef beef
Unable to find image 'beef:latest' locally
docker: Error response from daemon: pull access denied for beef, repository does not exist or may require 'docker login': denied: requested access to the resource is denied.
See 'docker run --help'.

To Reproduce

Run the command above.

Expected behavior

The docker container should run.

Organization name

Put the correct organization name when the optional property is set.

Arm (Mac M1) support

Simplify support for people running docker on arm. Ideally having all images built for ARM, however a UI feature that flags that ARM is being in use and added the option --platform linux/amd64 where needed would be helpful.

bootstrap option adds on top of tools.ts by destroying the tools.ts structure

Describe the bug
When a new tool is added through the bootstrap option, it is not added to TOOLS variables, but on the top of the tools.ts file.

To Reproduce
Add a tool by using the bootstrat command.

Expected behavior
houdini should store the json inside the TOOLS const structure.

image

If applicable, add screenshots to help explain your problem.

Possible solutions
Find the const TOOLS line and append to this line the generated json.

Build failure in pnpm generate-tools-list

Describe the bug

Yarn install fails with unknown file exstension .ts.

To Reproduce

Clone the repo, and follows the install steps:

yarn install; cd web; yarn install; 

The following error occurs:

> [email protected] copy-library /houdini/web
> copyfiles -u 2  ../library/**/* src/library/


> [email protected] generate-tools-list /Users/gx1/Git/SecSI/houdini/web
> npx ts-node --esm scripts/generate_tools_list.ts

TypeError [ERR_UNKNOWN_FILE_EXTENSION]: Unknown file extension ".ts" for /houdini/web/scripts/generate_tools_list.ts
    at new NodeError (node:internal/errors:405:5)
    at Object.getFileProtocolModuleFormat [as file:] (node:internal/modules/esm/get_format:99:9)
    at defaultGetFormat (node:internal/modules/esm/get_format:142:36)
    at defaultLoad (node:internal/modules/esm/load:115:20)
    at nextLoad (node:internal/modules/esm/hooks:832:28)
    at load (/houdini/web/node_modules/ts-node/dist/child/child-loader.js:19:122)
    at nextLoad (node:internal/modules/esm/hooks:832:28)
    at Hooks.load (node:internal/modules/esm/hooks:415:26)
    at MessagePort.handleMessage (node:internal/modules/esm/worker:168:24)
    at [nodejs.internal.kHybridDispatch] (node:internal/event_target:807:20) {
  code: 'ERR_UNKNOWN_FILE_EXTENSION'
}

Possible solutions

Replace ts-node with tsx:
https://www.npmjs.com/package/tsx

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.