Skip to content

Getting started

Edouard SCHWEISGUTH edited this page May 13, 2018 · 4 revisions

Netm4ul

Netm4ul is a distributed recon & pentesting tool.

Running NetM4ul with Docker (recommanded)

git clone https://github.com/netm4ul/netm4ul
vim netm4ul.conf.docker # change credentials (db, api, etc...)
docker-compose up --build # you can add the "-d" option to detach your terminal, but you will need to "docker log" to see traces

This should download and run :

  • 1 master node of NetM4ul (netmaulserver)
  • 1 client node of NetM4ul (netmaulclient)
  • 1 mongodb database with data stored in the ./data/db directory

NOTE : If running with the provided docker-compose.yml, the netm4ul.conf must use the "container_name" of each service for their ip. (eg : set the database ip to "mongodb" in our case)

Running without Docker

Netm4ul need to store its result somewhere. You can use either MongoDB, or use the filesystem. Change this setting in the netm4ul.conf ["mongodb" or "jsondb"]

If you are building it from source, you will also need

You can use make to build sources.

Some modifications to the config file are required.

./netm4ul setup
vim netm4ul.conf # change credentials (db, api, etc...) and ip / ports

Then, you will need to run one master and one client (node) instances.

./netm4ul start server # in one terminal
./netm4ul start client # in  another terminal

Control your nodes

Netm4ul has a command line interface :

./netm4ul run <domain,ip,ip range(CIDR)>

You can enable (temporary) auto-completion with : bash :

source<(./netm4ul completion bash)

zsh :

source<(./netm4ul completion zsh)

Add this line to your ~/.bashrc for persistence.

API

Netm4ul provided and HTTP Rest API, running on port 8080 by default. See API