Skip to content

sliim-cookbooks/pentester

Repository files navigation

pentester Cookbook | Cookbook Version Build Status

Pentester Chef cookbook - Install & configures some cool stuff for pentesting

Requirements

cookbooks

services

  • postgresql

platforms

  • Debian 9
  • Debian 10

Usage

Following recipes are available for your run_list:

  • pentester::automacchanger - Automatically change MAC addresses with GNU MAC Changer service.
  • pentester::autopwn - Checkout autowpn, install dependencies and configures targets.
  • pentester::sn1per - Checkout Sn1per
  • pentester::fuzzdb - Checkout fuzzdb
  • pentester::gitrob_install - Installs gitrob
  • pentester::gitrob_config - Configures gitrob
  • pentester::gitrob_db - Configures the Gitrob database
  • pentester::webshell - Checkouts webshell
  • pentester::itib - Checkouts isthisipbad
  • pentester::nullsec - Checkouts null-security tools
  • pentester::veil - Checkouts Veil Framework
  • pentester::spf - Checkouts Smartphone Pentest Framework
  • pentester::ptf - Checkouts and configures The PenTesters Framework
  • pentester::mitmproxy - Installs mitmproxy and its dependencies
  • pentester::msf_pkg - Installs The Metasploit Framework from package
  • pentester::msf_src - Installs The Metasploit Framework from sources
  • pentester::msf_db - Setup metasploit database.
  • pentester::msf_config - Configures metasploit
  • pentester::msf_user_config - Metasploit user's configuration
  • pentester::msf_resources - Deploy extra metasploit resources from attributes
  • pentester::w3af_pkg - Installs W3AF from package
  • pentester::w3af_src - Installs W3AF from sources
  • pentester::w3af_profiles - Deploy W3AF profiles from attributes
  • pentester::armitage - Installs Armitage
  • pentester::teamserver - Configures Teamserver
  • pentester::pwndbg - Install pwndbg
  • pentester::radare2 - Install radare2
  • pentester::jackit - Install jackit
  • pentester::kippo - Install/configures the SSH Honeypot Kippo
  • pentester::bleah - Install bleah Bleah
  • pentester::rogue-ap - Install and configure a rogue AP
  • pentester::peda - Install and configure PEDA
  • pentester::gdb_dashboard - Install and configure GDB dashboard
  • pentester::discover - Install and configure discover
  • pentester::cobaltstrike - Configure Aggressor properties
  • pentester::crackmapexec - Installs CrackMapExec

Some recipes installs packages that are only available in Kali linux APT repositories. I recommend to use the kali cookbook to setup your debian as a kali linux.

Attributes

pentester::default

Key Type Description
[pentester][user] String Pentester user (default: root)
[pentester][group] String Pentester group (default: root)
[pentester][home] String Pentester home directory (default: /root)
[pentester][databag_name] String Pentester databag name (default: pentester)
[pentester][databag_items][gitrob] String Databag item for gitrob config (default: gitrob)
[pentester][databag_items][msf] String Databag item for msf config (default: msf)

pentester::db

Key Type Description
[pentester][db][host] String Postgresql server host (default: localhost)
[pentester][db][port] Integer Postgresql server port (default: 5432)
[pentester][db][username] String Postgresql server username (default: postgres)
[pentester][db][password] String Postgresql server password (default from postgresql attributes)

pentester::automacchanger

Key Type Description
[pentester][automacchanger][ifaces] Array Interfaces for MAC Changer service (default: [])

pentester::autopwn

Key Type Description
[pentester][autopwn][git_repository] String Git repository (default: https://github.com/nccgroup/autopwn)
[pentester][autopwn][git_reference] String Git reference (default: master)
[pentester][autopwn][install_dir] String Install directory (default: /opt/autopwn)
[pentester][autopwn][targets] Hash Targets to configure. See attributes/autopwn.rb

pentester::sn1per

Key Type Description
[pentester][sn1per][git_repository] String Git repository (default: https://github.com/1N3/Sn1per)
[pentester][sn1per][git_reference] String Git reference (default: master)
[pentester][sn1per][install_dir] String Install directory (default: /opt/sn1per)
[pentester][sn1per][additional_repos] Hash Additional repositories. See attributes/sn1per.rb
[pentester][sn1per][packages] Array Packages to install. See attributes/sn1per.rb for defaults

pentester::fuzzdb

Key Type Description
[pentester][fuzzdb][git_repository] String Git repository (default: https://github.com/fuzzdb-project/fuzzdb)
[pentester][fuzzdb][git_reference] String Git reference (default: master)
[pentester][fuzzdb][install_dir] String Install directory (default: /opt/fuzzdb)

pentester::gitrob

Key Type Description
[pentester][gitrob][use_db] Boolean Use gitrob databag for configuration (default: false)
[pentester][gitrob][signatures] Array Gitrob custom signatures (default: [])
[pentester][gitrob][gh_auth_token] String Github auth token (default: aabbccddeeff00112233445566778899)
[pentester][gitrob][packages] Array List of packages to install. See attributes/gitrob.rb
[pentester][gitrob][gem_binary] String Binary use to install gem package

pentester::gitrob_db

Key Type Description
[pentester][gitrob][db][db] String Postgresql database name (default: gitrob)
[pentester][gitrob][db][user] String Postgresql user name (default: gitrob)
[pentester][gitrob][db][pass] String postgresql user password (default: gitrob)

pentester::webshell

Key Type Description
[pentester][webshell][git_repository] String Git repository (default: https://github.com/tennc/webshell)
[pentester][webshell][git_reference] String Git reference (default: master)
[pentester][webshell][install_dir] String Install directory (default: /opt/webshell)

pentester::itib

Key Type Description
[pentester][itib][git_repository] String Git repository (default: https://github.com/jgamblin/isthisipbad)
[pentester][itib][git_reference] String Git reference (default: master)
[pentester][itib][install_dir] String Install directory (default: /opt/isthisipbad)
[pentester][itib][python_runtime] Integer Python runtime to use (default: 2)

pentester::nullsec

Key Type Description
[pentester][nullsec][git_repository] String Git repository (default: https://github.com/nullsecuritynet/tools)
[pentester][nullsec][git_reference] String Git reference (default: master)
[pentester][nullsec][install_path] String Install directory (default: /opt/nullsecurity)

pentester::veil

Key Type Description
[pentester][veil][install_path] String Install directory (default: /opt/veil)
[pentester][veil][evasion_repository] String Veil-Evasion repository (default: 'https://github.com/Veil-Framework/Veil-Evasion)
[pentester][veil][catapult_repository] String Veil-Catapult repository (default: 'https://github.com/Veil-Framework/Veil-Catapult)
[pentester][veil][pillage_repository] String Veil-Pillage repository (default: 'https://github.com/Veil-Framework/Veil-Pillage)
[pentester][veil][ordnance_repository] String Veil-Ordnance repository (default: 'https://github.com/Veil-Framework/Veil-Ordnance)

pentester::spf

Key Type Description
[pentester][spf][git_repository] String Git repository (default: https://github.com/georgiaw/Smartphone-Pentest-Framework)
[pentester][spf][git_reference] String Git reference (default: master)
[pentester][spf][install_path] String Install directory (default: /opt/spf)

pentester::ptf

Key Type Description
[pentester][ptf][git_repository] String Git repository (default: https://github.com/trustedsec/ptf)
[pentester][ptf][git_reference] String Git reference (default: master)
[pentester][ptf][install_path] String Install directory (default: /opt/ptf)
[pentester][ptf][config] Hash Hash of PTF configuration. See attributes/ptf.rb

pentester::msf

Key Type Description
[pentester][msf][use_db] Boolean Use gitrob msf for configuration (default: false)
[pentester][msf][git_repository] String Git repository (source install only) (default: https://github.com/rapid7/metasploit-framework)
[pentester][msf][git_reference] String Git reference (source install only) (default: master)
[pentester][msf][install_dir] String Install directory (source install only) (default: /opt/metasploit-framework)
[pentester][msf][package] String Package name (package install only) (default: metasploit-framework)
[pentester][msf][additional_packages] String Install additional packages when installing from source (default: [libpcap-dev])
[pentester][msf][user_dirname] String Metasploit user's directory name (default: .msf4)
[pentester][msf][config] Hash Metasploit configuration Hash (default: {})
[pentester][msf][msfconsole.rc] Array Array of lines for the msfconsole.rc file (default: [])
[pentester][msf][resources] Hash Hash of extra msf resources to deploy (default: {})

pentester::msf_db

Key Type Description
[pentester][msf][db][db] String Postgresql database name (default: msf)
[pentester][msf][db][user] String Postgresql user name (default: msf)
[pentester][msf][db][pass] String postgresql user password (default: msf)

pentester::w3af

Key Type Description
[pentester][w3af][git_repository] String Git repository (source install only) (default: https://github.com/andresriancho/w3af.git)
[pentester][w3af][git_reference] String Git reference (source install only) (default: master)
[pentester][w3af][install_dir] String Install directory (source install only) (default: /opt/w3af)
[pentester][w3af][package] String Package name (package install only) (default: w3af)
[pentester][w3af][python_runtime Integer Python runtime to use (source install only) (default: 2)
[pentester][w3af][profiles] Hash W3AF Profiles (default: {})
[pentester][w3af][profiles_path] String W3AF Profiles path (default: /opt/w3af/profiles)
[pentester][w3af][apt_deps] Array Apt dependencies (default: [libxml2-dev libxslt1-dev python-dev])
[pentester][w3af][pip_deps] Hash Pip dependencies with version. See (attributes)[attributes/w3af.rb] file for complete list

pentester::mitmproxy

Key Type Description
[pentester][mitmproxy][packages] Array Array of dependencies for mitmproxy
[pentester][mitmproxy][package] String mitmproxy package name (default: mitmproxy)

pentester::armitage

Key Type Description
[pentester][armitage][props] Hash Armitage properties to configure (default: {})

pentester::cobaltstrike

Key Type Description
[pentester][cobaltstrike][props] Hash Aggressor properties for CobaltStrike (default: {})

pentester::teamserver

Key Type Description
[pentester][teamserver][bind_addr] String Teamserver bind address (default: localhost)
[pentester][teamserver][password] String Teamserver password (default: msf)

pentester::pwndbg

Key Type Description
[pentester][pwndbg][git_repository] String Git repository (default: https://github.com/pwndbg/pwndbg)
[pentester][pwndbg][git_reference] String Git reference (default: dev)
[pentester][pwndbg][install_dir] String Install directory (default: /opt/pwndbg)
[pentester][pwndbg][run_installer] Boolean Run installer script after synced repo (default: false)

pentester::radare2

Key Type Description
[pentester][radare2][git_repository] String Git repository (default: https://github.com/radare/radare2)
[pentester][radare2][git_reference] String Git reference (default: master)
[pentester][radare2][install_dir] String Install directory (default: /opt/radare2)
[pentester][radare2][run_installer] Boolean Run installer script after synced repo (default: false)

pentester::jackit

Key Type Description
[pentester][jackit][git_repository] String Git repository (default: https://github.com/insecurityofthings/jackit)
[pentester][jackit][git_reference] String Git reference (default: master)
[pentester][jackit][install_dir] String Install directory (default: /opt/jackit)
[pentester][jackit][python_runtime] Integer Python runtime to use (default: 2)

pentester::bleah

Key Type Description
[pentester][bleah][git_repository] String Git repository (default: https://github.com/evilsocket/bleah)
[pentester][bleah][git_reference] String Git reference (default: master)
[pentester][bleah][install_dir] String Install directory (default: /opt/bleah)
[pentester][bleah][python_runtime] Integer Python runtime to use (default: 2)
[pentester][bleah][python_options] Hash Python options to pass (default: {})

pentester::rogue-ap

Key Type Description
[pentester][rogue-ap][interface] String Wireless interface (default: wlan0)
[pentester][rogue-ap][out_interface] String Output interface (default: eth0)
[pentester][rogue-ap][script_path] String Path for rogue-ap.sh (default: /root/rogue-ap.sh)
[pentester][rogue-ap][packages] Array List of packages to install. See attribute file for default
[pentester][rogue-ap][hostapd] Hash Hash of hostapd configuration. See attribute file for default

See [dnsmasq] attributes for dnsmasq configuration.

pentester::peda

Key Type Description
[pentester][peda][repository] String PEDA repository (default: https://github.com/longld/peda)
[pentester][peda][reference] String PEDA reference (default: master)
[pentester][peda][gdbinit] Boolean Override ~/.gdbinit fot PEDA (default: false)

pentester::gdb_dashboard

Key Type Description
[pentester][gdb_dashboard][source] String gbdinit remote source file (default to offical repo)

pentester::discover

Key Type Description
[pentester][discover][git_repository] String Git repository (default: https://github.com/leebaird/discover)
[pentester][discover][git_reference] String Git reference (default: master)
[pentester][discover][install_dir] String Install directory (default: /opt/discover)

pentester::crackmapexec

Key Type Description
[pentester][crackmapexec][git_repository] String Git repository (default: https://github.com/byt3bl33d3r/CrackMapExec)
[pentester][crackmapexec][git_reference] String Git reference (default: master)
[pentester][crackmapexec][install_dir] String Install directory (default: /opt/crackmapexec)
[pentester][crackmapexec][python_runtime] Integer Python runtime to use (default: 2)

pentester::kippo

Key Type Description
[pentester][kippo][git_repository] String Git repository (default: https://github.com/desaster/kippo)
[pentester][kippo][git_reference] String Git reference (default: master)
[pentester][kippo][install_dir] String Install directory (default: /opt/kippo)
[pentester][kippo][python_runtime] Integer Python runtime to use (default: 2)
[pentester][kippo][txtcmds] Hash Kippo txtcmds config (default: {})
[pentester][kippo][users] Array Kippo users (default: [root:0:123456])
[pentester][kippo][config] Hash Kippo txtcmds config (default: see attribute file)

Data bags

You can use data bags to configure some tools, here are some data bag examples:

pentester/gitrob.json

{
  "id": "gitrob",
  "gh_auth_token": "your-token",
  "db": {
    "user": "gitrob_user",
    "pass": "gitrob_pass",
    "db": "gitrob_db"
  }
}

pentester/msf.json

{
  "id": "msf",
  "db": {
    "user": "msf_user",
    "pass": "msf_pass",
    "db": "msf_db"
  }
}

Testing

See TESTING.md

Contributing

See CONTRIBUTING.md

License and Authors

Authors: Sliim sliim@mailoo.org

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.