pentester Cookbook |
Pentester Chef cookbook - Install & configures some cool stuff for pentesting
Requirements
cookbooks
services
Usage
Following recipes are available for your run_list:
-
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::w3af_pkg - Installs W3AF from package
-
pentester::w3af_src - Installs W3AF from sources
-
pentester::w3af_profiles - Deploy W3AF profiles from attributes
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::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::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_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) |
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"
}
}
Contributing
- Fork the repository on Github
- Create a named feature branch (like
add_component_x)
- Write your change
- Write tests for your change (if applicable)
- Run the tests, ensuring they all pass
- Submit a Pull Request using Github
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.
pentester CHANGELOG
This file is used to list changes made in each version of the pentester cookbook.
1.2.2
- Added
pentester::msf_user_config recipe for user configuration
-
pentester::msf_config configure only the database
1.2.1
- Added metasploit user configuration:
- Configure ~/.msf4/config user configuration file
- Configure ~/.msf4/msfconsole.rc user configuration file
1.2.0
1.1.0
- Gitrob improvements:
- Data bags support
- Custom signatures support
- New recipe to setup database:
pentester::gitrob_db
- Add more attributes about database server
1.0.0
- New recipe:
pentester::ptf
Breaking changes
- Removed tools already included in
PTF:
- Renamed recipes:
-
pentester::isthisipbad => pentester::itib
-
pentester::nullsecurity => pentester::nullsec
-
pentester::veil-framework => pentester::veil
-
pentester::smartphone-pentest-framework => pentester::spf
0.3.0
- New recipes:
pentester::nullsecurity
pentester::veil-framework
pentester::smartphone-pentest-framework
0.2.0
- New recipes:
pentester::gitrob
pentester::webshell
pentester::isthisipbad
0.1.0
- Initial release of pentester
Collaborator Number Metric
1.2.2 failed this metric
Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Foodcritic Metric
1.2.2 passed this metric