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::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.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.1 failed this metric
Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Foodcritic Metric
1.2.1 passed this metric