pwn 0.5.508 → 0.5.509
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- metadata +24 -1131
- data/.github/FUNDING.yml +0 -1
- data/.github/ISSUE_TEMPLATE/bug_report.md +0 -38
- data/.gitignore +0 -65
- data/.rubocop.yml +0 -35
- data/.rubocop_todo.yml +0 -178
- data/.ruby-gemset +0 -1
- data/.ruby-version +0 -1
- data/.travis.yml +0 -24
- data/CHANGELOG_BETWEEN_TAGS.txt +0 -185
- data/CODE_OF_CONDUCT.md +0 -46
- data/CONTRIBUTING.md +0 -13
- data/Gemfile +0 -107
- data/LICENSE.txt +0 -22
- data/README.md +0 -100
- data/Rakefile +0 -20
- data/Vagrantfile +0 -250
- data/bin/pwn +0 -30
- data/bin/pwn_android_war_dialer +0 -151
- data/bin/pwn_autoinc_version +0 -58
- data/bin/pwn_aws_describe_resources +0 -717
- data/bin/pwn_bdba_groups +0 -107
- data/bin/pwn_bdba_scan +0 -198
- data/bin/pwn_burp_suite_pro_active_rest_api_scan +0 -167
- data/bin/pwn_burp_suite_pro_active_scan +0 -132
- data/bin/pwn_char_base64_encoding +0 -15
- data/bin/pwn_char_dec_encoding +0 -14
- data/bin/pwn_char_hex_escaped_encoding +0 -17
- data/bin/pwn_char_html_entity_encoding +0 -15
- data/bin/pwn_char_unicode_escaped_encoding +0 -14
- data/bin/pwn_char_url_encoding +0 -15
- data/bin/pwn_crt_sh +0 -73
- data/bin/pwn_defectdojo_engagement_create +0 -148
- data/bin/pwn_defectdojo_importscan +0 -130
- data/bin/pwn_defectdojo_reimportscan +0 -118
- data/bin/pwn_diff_csv_files_w_column_exclude +0 -171
- data/bin/pwn_domain_reversewhois +0 -76
- data/bin/pwn_fuzz_net_app_proto +0 -170
- data/bin/pwn_gqrx_scanner +0 -196
- data/bin/pwn_jenkins_create_job +0 -58
- data/bin/pwn_jenkins_create_view +0 -58
- data/bin/pwn_jenkins_install_plugin +0 -83
- data/bin/pwn_jenkins_thinBackup_aws_s3 +0 -113
- data/bin/pwn_jenkins_update_plugins +0 -77
- data/bin/pwn_jenkins_useradd +0 -76
- data/bin/pwn_mail_agent +0 -114
- data/bin/pwn_msf_postgres_login +0 -28
- data/bin/pwn_nessus_cloud_scan_crud +0 -334
- data/bin/pwn_nessus_cloud_vulnscan +0 -87
- data/bin/pwn_nexpose +0 -42
- data/bin/pwn_nmap_discover_tcp_udp +0 -353
- data/bin/pwn_openvas_vulnscan +0 -104
- data/bin/pwn_pastebin_sample_filter +0 -47
- data/bin/pwn_phone +0 -129
- data/bin/pwn_rdoc_to_jsonl +0 -83
- data/bin/pwn_sast +0 -183
- data/bin/pwn_serial_check_voicemail +0 -56
- data/bin/pwn_serial_msr206 +0 -168
- data/bin/pwn_serial_qualcomm_commands +0 -16
- data/bin/pwn_serial_son_micro_sm132_rfid +0 -188
- data/bin/pwn_shodan_graphql_introspection +0 -304
- data/bin/pwn_shodan_search +0 -90
- data/bin/pwn_simple_http_server +0 -44
- data/bin/pwn_web_cache_deception +0 -205
- data/bin/pwn_www_checkip +0 -77
- data/bin/pwn_www_uri_buster +0 -363
- data/bin/pwn_xss_dom_vectors +0 -149
- data/bin/pwn_zaproxy_active_rest_api_scan +0 -159
- data/bin/pwn_zaproxy_active_scan +0 -130
- data/build_pwn_gem.sh +0 -33
- data/documentation/PWN.png +0 -0
- data/documentation/PWN_Contributors_and_Users.png +0 -0
- data/documentation/fax-spectrogram.png +0 -0
- data/documentation/fax-waveform.png +0 -0
- data/documentation/frozen_string_literal_files_changed_from_false_to_true.txt +0 -54
- data/documentation/pwn_android_war_dialer_session.png +0 -0
- data/documentation/pwn_install.png +0 -0
- data/documentation/pwn_wallpaper.jpg +0 -0
- data/documentation/ringing-spectrogram.png +0 -0
- data/documentation/ringing-waveform.png +0 -0
- data/etc/systemd/msfrpcd.service +0 -12
- data/etc/systemd/openvas.service +0 -14
- data/etc/userland/aws/apache2/jenkins_443.conf +0 -90
- data/etc/userland/aws/apache2/jenkins_80.conf +0 -7
- data/etc/userland/aws/apache2/openvas_443.conf +0 -87
- data/etc/userland/aws/apache2/openvas_80.conf +0 -7
- data/etc/userland/aws/apache2/sast_443.conf +0 -87
- data/etc/userland/aws/apache2/sast_80.conf +0 -9
- data/etc/userland/aws/apache2/vagrant.yaml.EXAMPLE +0 -9
- data/etc/userland/aws/arachni/navigation-REST.instruct.EXAMPLE +0 -29
- data/etc/userland/aws/arachni/navigation.instruct.EXAMPLE +0 -3
- data/etc/userland/aws/burpsuite/navigation.instruct.EXAMPLE +0 -3
- data/etc/userland/aws/burpsuite/vagrant.yaml.EXAMPLE +0 -2
- data/etc/userland/aws/defectdojo/vagrant.yaml.EXAMPLE +0 -3
- data/etc/userland/aws/jenkins/inject_build_envs.sh +0 -15
- data/etc/userland/aws/jenkins/jenkins +0 -81
- data/etc/userland/aws/jenkins/jobs/pipeline-pwntemplate.xml +0 -298
- data/etc/userland/aws/jenkins/jobs/pipeline-selfupdate.xml +0 -462
- data/etc/userland/aws/jenkins/jobs/pwntemplate-DOMAIN-burpsuite.xml +0 -44
- data/etc/userland/aws/jenkins/jobs/pwntemplate-DOMAIN-owasp_zap.xml +0 -35
- data/etc/userland/aws/jenkins/jobs/pwntemplate-DOMAIN-ssllabs-scan.xml +0 -45
- data/etc/userland/aws/jenkins/jobs/pwntemplate-GITREPO_BRANCH-sast.xml +0 -71
- data/etc/userland/aws/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_discovery_scan_tcp_udp_65k.xml +0 -56
- data/etc/userland/aws/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_xml_results_searchsploit.xml +0 -59
- data/etc/userland/aws/jenkins/jobs/pwntemplate-NETWORKRANGE-openvas.xml +0 -45
- data/etc/userland/aws/jenkins/jobs/selfupdate-exploit-db.xml +0 -43
- data/etc/userland/aws/jenkins/jobs/selfupdate-gem.xml +0 -42
- data/etc/userland/aws/jenkins/jobs/selfupdate-jenkins_plugins.xml +0 -42
- data/etc/userland/aws/jenkins/jobs/selfupdate-metasploit.xml +0 -42
- data/etc/userland/aws/jenkins/jobs/selfupdate-nmap_all_live_hosts.xml +0 -42
- data/etc/userland/aws/jenkins/jobs/selfupdate-openvas_sync.xml +0 -42
- data/etc/userland/aws/jenkins/jobs/selfupdate-openvas_wrappers.xml +0 -42
- data/etc/userland/aws/jenkins/jobs/selfupdate-os.xml +0 -42
- data/etc/userland/aws/jenkins/jobs/selfupdate-pwn.xml +0 -42
- data/etc/userland/aws/jenkins/jobs/selfupdate-rvm.xml +0 -42
- data/etc/userland/aws/jenkins/jobs/selfupdate-ssllabs-scan.xml +0 -42
- data/etc/userland/aws/jenkins/jobs/selfupdate-wpscan.xml +0 -42
- data/etc/userland/aws/jenkins/jobs_userland/.gitkeep +0 -0
- data/etc/userland/aws/jenkins/log_parser_rules/arachni.rules +0 -5
- data/etc/userland/aws/jenkins/log_parser_rules/sast.rules +0 -2
- data/etc/userland/aws/jenkins/log_parser_rules/self_update.rules +0 -14
- data/etc/userland/aws/jenkins/log_parser_rules/ssllabs-scan.rules +0 -8
- data/etc/userland/aws/jenkins/log_parser_rules/system_maintenance.rules +0 -9
- data/etc/userland/aws/jenkins/log_parser_rules/wpscan.rules +0 -2
- data/etc/userland/aws/jenkins/vagrant.yaml.EXAMPLE +0 -8
- data/etc/userland/aws/letsencrypt/vagrant.yaml.EXAMPLE +0 -5
- data/etc/userland/aws/metasploit/vagrant.yaml.EXAMPLE +0 -4
- data/etc/userland/aws/nessus/vagrant.yaml.EXAMPLE +0 -15
- data/etc/userland/aws/openvas/vagrant.yaml.EXAMPLE +0 -2
- data/etc/userland/aws/owasp_zap/navigation.instruct.EXAMPLE +0 -3
- data/etc/userland/aws/postgres/vagrant.yaml.EXAMPLE +0 -2
- data/etc/userland/aws/recon-ng/vagrant.yaml.EXAMPLE +0 -52
- data/etc/userland/aws/vagrant.yaml.EXAMPLE +0 -35
- data/etc/userland/docker/apache2/jenkins_443.conf +0 -90
- data/etc/userland/docker/apache2/jenkins_80.conf +0 -7
- data/etc/userland/docker/apache2/openvas_443.conf +0 -87
- data/etc/userland/docker/apache2/openvas_80.conf +0 -7
- data/etc/userland/docker/apache2/sast_443.conf +0 -87
- data/etc/userland/docker/apache2/sast_80.conf +0 -9
- data/etc/userland/docker/apache2/vagrant.yaml.EXAMPLE +0 -9
- data/etc/userland/docker/arachni/navigation-REST.instruct.EXAMPLE +0 -29
- data/etc/userland/docker/arachni/navigation.instruct.EXAMPLE +0 -3
- data/etc/userland/docker/burpsuite/navigation.instruct.EXAMPLE +0 -3
- data/etc/userland/docker/burpsuite/vagrant.yaml.EXAMPLE +0 -2
- data/etc/userland/docker/defectdojo/vagrant.yaml.EXAMPLE +0 -3
- data/etc/userland/docker/jenkins/inject_build_envs.sh +0 -15
- data/etc/userland/docker/jenkins/jenkins +0 -81
- data/etc/userland/docker/jenkins/jobs/pipeline-pwntemplate.xml +0 -298
- data/etc/userland/docker/jenkins/jobs/pipeline-selfupdate.xml +0 -462
- data/etc/userland/docker/jenkins/jobs/pwntemplate-DOMAIN-burpsuite.xml +0 -44
- data/etc/userland/docker/jenkins/jobs/pwntemplate-DOMAIN-owasp_zap.xml +0 -35
- data/etc/userland/docker/jenkins/jobs/pwntemplate-DOMAIN-ssllabs-scan.xml +0 -45
- data/etc/userland/docker/jenkins/jobs/pwntemplate-GITREPO_BRANCH-sast.xml +0 -71
- data/etc/userland/docker/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_discovery_scan_tcp_udp_65k.xml +0 -56
- data/etc/userland/docker/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_xml_results_searchsploit.xml +0 -59
- data/etc/userland/docker/jenkins/jobs/pwntemplate-NETWORKRANGE-openvas.xml +0 -45
- data/etc/userland/docker/jenkins/jobs/selfupdate-exploit-db.xml +0 -43
- data/etc/userland/docker/jenkins/jobs/selfupdate-gem.xml +0 -42
- data/etc/userland/docker/jenkins/jobs/selfupdate-jenkins_plugins.xml +0 -42
- data/etc/userland/docker/jenkins/jobs/selfupdate-metasploit.xml +0 -42
- data/etc/userland/docker/jenkins/jobs/selfupdate-nmap_all_live_hosts.xml +0 -42
- data/etc/userland/docker/jenkins/jobs/selfupdate-openvas_sync.xml +0 -42
- data/etc/userland/docker/jenkins/jobs/selfupdate-openvas_wrappers.xml +0 -42
- data/etc/userland/docker/jenkins/jobs/selfupdate-os.xml +0 -42
- data/etc/userland/docker/jenkins/jobs/selfupdate-pwn.xml +0 -42
- data/etc/userland/docker/jenkins/jobs/selfupdate-rvm.xml +0 -42
- data/etc/userland/docker/jenkins/jobs/selfupdate-ssllabs-scan.xml +0 -42
- data/etc/userland/docker/jenkins/jobs/selfupdate-wpscan.xml +0 -42
- data/etc/userland/docker/jenkins/jobs_userland/.gitkeep +0 -0
- data/etc/userland/docker/jenkins/log_parser_rules/arachni.rules +0 -5
- data/etc/userland/docker/jenkins/log_parser_rules/sast.rules +0 -2
- data/etc/userland/docker/jenkins/log_parser_rules/self_update.rules +0 -14
- data/etc/userland/docker/jenkins/log_parser_rules/ssllabs-scan.rules +0 -8
- data/etc/userland/docker/jenkins/log_parser_rules/system_maintenance.rules +0 -9
- data/etc/userland/docker/jenkins/log_parser_rules/wpscan.rules +0 -2
- data/etc/userland/docker/jenkins/vagrant.yaml.EXAMPLE +0 -8
- data/etc/userland/docker/letsencrypt/vagrant.yaml.EXAMPLE +0 -5
- data/etc/userland/docker/metasploit/vagrant.yaml.EXAMPLE +0 -4
- data/etc/userland/docker/nessus/vagrant.yaml.EXAMPLE +0 -15
- data/etc/userland/docker/openvas/vagrant.yaml.EXAMPLE +0 -2
- data/etc/userland/docker/owasp_zap/navigation.instruct.EXAMPLE +0 -3
- data/etc/userland/docker/postgres/vagrant.yaml.EXAMPLE +0 -2
- data/etc/userland/docker/recon-ng/vagrant.yaml.EXAMPLE +0 -52
- data/etc/userland/qemu/apache2/jenkins_443.conf +0 -90
- data/etc/userland/qemu/apache2/jenkins_80.conf +0 -7
- data/etc/userland/qemu/apache2/openvas_443.conf +0 -87
- data/etc/userland/qemu/apache2/openvas_80.conf +0 -7
- data/etc/userland/qemu/apache2/sast_443.conf +0 -87
- data/etc/userland/qemu/apache2/sast_80.conf +0 -9
- data/etc/userland/qemu/apache2/vagrant.yaml.EXAMPLE +0 -9
- data/etc/userland/qemu/arachni/navigation-REST.instruct.EXAMPLE +0 -29
- data/etc/userland/qemu/arachni/navigation.instruct.EXAMPLE +0 -3
- data/etc/userland/qemu/burpsuite/navigation.instruct.EXAMPLE +0 -3
- data/etc/userland/qemu/burpsuite/vagrant.yaml.EXAMPLE +0 -2
- data/etc/userland/qemu/defectdojo/vagrant.yaml.EXAMPLE +0 -3
- data/etc/userland/qemu/jenkins/inject_build_envs.sh +0 -15
- data/etc/userland/qemu/jenkins/jenkins +0 -81
- data/etc/userland/qemu/jenkins/jobs/pipeline-pwntemplate.xml +0 -298
- data/etc/userland/qemu/jenkins/jobs/pipeline-selfupdate.xml +0 -462
- data/etc/userland/qemu/jenkins/jobs/pwntemplate-DOMAIN-burpsuite.xml +0 -44
- data/etc/userland/qemu/jenkins/jobs/pwntemplate-DOMAIN-owasp_zap.xml +0 -35
- data/etc/userland/qemu/jenkins/jobs/pwntemplate-DOMAIN-ssllabs-scan.xml +0 -45
- data/etc/userland/qemu/jenkins/jobs/pwntemplate-GITREPO_BRANCH-sast.xml +0 -71
- data/etc/userland/qemu/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_discovery_scan_tcp_udp_65k.xml +0 -56
- data/etc/userland/qemu/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_xml_results_searchsploit.xml +0 -59
- data/etc/userland/qemu/jenkins/jobs/pwntemplate-NETWORKRANGE-openvas.xml +0 -45
- data/etc/userland/qemu/jenkins/jobs/selfupdate-exploit-db.xml +0 -43
- data/etc/userland/qemu/jenkins/jobs/selfupdate-gem.xml +0 -42
- data/etc/userland/qemu/jenkins/jobs/selfupdate-jenkins_plugins.xml +0 -42
- data/etc/userland/qemu/jenkins/jobs/selfupdate-metasploit.xml +0 -42
- data/etc/userland/qemu/jenkins/jobs/selfupdate-nmap_all_live_hosts.xml +0 -42
- data/etc/userland/qemu/jenkins/jobs/selfupdate-openvas_sync.xml +0 -42
- data/etc/userland/qemu/jenkins/jobs/selfupdate-openvas_wrappers.xml +0 -42
- data/etc/userland/qemu/jenkins/jobs/selfupdate-os.xml +0 -42
- data/etc/userland/qemu/jenkins/jobs/selfupdate-pwn.xml +0 -42
- data/etc/userland/qemu/jenkins/jobs/selfupdate-rvm.xml +0 -42
- data/etc/userland/qemu/jenkins/jobs/selfupdate-ssllabs-scan.xml +0 -42
- data/etc/userland/qemu/jenkins/jobs/selfupdate-wpscan.xml +0 -42
- data/etc/userland/qemu/jenkins/jobs_userland/.gitkeep +0 -0
- data/etc/userland/qemu/jenkins/log_parser_rules/arachni.rules +0 -5
- data/etc/userland/qemu/jenkins/log_parser_rules/sast.rules +0 -2
- data/etc/userland/qemu/jenkins/log_parser_rules/self_update.rules +0 -14
- data/etc/userland/qemu/jenkins/log_parser_rules/ssllabs-scan.rules +0 -8
- data/etc/userland/qemu/jenkins/log_parser_rules/system_maintenance.rules +0 -9
- data/etc/userland/qemu/jenkins/log_parser_rules/wpscan.rules +0 -2
- data/etc/userland/qemu/jenkins/vagrant.yaml.EXAMPLE +0 -8
- data/etc/userland/qemu/letsencrypt/vagrant.yaml.EXAMPLE +0 -5
- data/etc/userland/qemu/metasploit/vagrant.yaml.EXAMPLE +0 -4
- data/etc/userland/qemu/nessus/vagrant.yaml.EXAMPLE +0 -15
- data/etc/userland/qemu/openvas/vagrant.yaml.EXAMPLE +0 -2
- data/etc/userland/qemu/owasp_zap/navigation.instruct.EXAMPLE +0 -3
- data/etc/userland/qemu/postgres/vagrant.yaml.EXAMPLE +0 -2
- data/etc/userland/qemu/recon-ng/vagrant.yaml.EXAMPLE +0 -52
- data/etc/userland/ruby-gem/apache2/jenkins_443.conf +0 -90
- data/etc/userland/ruby-gem/apache2/jenkins_80.conf +0 -7
- data/etc/userland/ruby-gem/apache2/openvas_443.conf +0 -87
- data/etc/userland/ruby-gem/apache2/openvas_80.conf +0 -7
- data/etc/userland/ruby-gem/apache2/sast_443.conf +0 -87
- data/etc/userland/ruby-gem/apache2/sast_80.conf +0 -9
- data/etc/userland/ruby-gem/apache2/vagrant.yaml.EXAMPLE +0 -9
- data/etc/userland/ruby-gem/arachni/navigation-REST.instruct.EXAMPLE +0 -29
- data/etc/userland/ruby-gem/arachni/navigation.instruct.EXAMPLE +0 -3
- data/etc/userland/ruby-gem/burpsuite/navigation.instruct.EXAMPLE +0 -3
- data/etc/userland/ruby-gem/burpsuite/vagrant.yaml.EXAMPLE +0 -2
- data/etc/userland/ruby-gem/defectdojo/vagrant.yaml.EXAMPLE +0 -3
- data/etc/userland/ruby-gem/jenkins/inject_build_envs.sh +0 -15
- data/etc/userland/ruby-gem/jenkins/jenkins +0 -81
- data/etc/userland/ruby-gem/jenkins/jobs/pipeline-pwntemplate.xml +0 -298
- data/etc/userland/ruby-gem/jenkins/jobs/pipeline-selfupdate.xml +0 -462
- data/etc/userland/ruby-gem/jenkins/jobs/pwntemplate-DOMAIN-burpsuite.xml +0 -44
- data/etc/userland/ruby-gem/jenkins/jobs/pwntemplate-DOMAIN-owasp_zap.xml +0 -35
- data/etc/userland/ruby-gem/jenkins/jobs/pwntemplate-DOMAIN-ssllabs-scan.xml +0 -45
- data/etc/userland/ruby-gem/jenkins/jobs/pwntemplate-GITREPO_BRANCH-sast.xml +0 -71
- data/etc/userland/ruby-gem/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_discovery_scan_tcp_udp_65k.xml +0 -56
- data/etc/userland/ruby-gem/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_xml_results_searchsploit.xml +0 -59
- data/etc/userland/ruby-gem/jenkins/jobs/pwntemplate-NETWORKRANGE-openvas.xml +0 -45
- data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-exploit-db.xml +0 -43
- data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-gem.xml +0 -42
- data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-jenkins_plugins.xml +0 -42
- data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-metasploit.xml +0 -42
- data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-nmap_all_live_hosts.xml +0 -42
- data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-openvas_sync.xml +0 -42
- data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-openvas_wrappers.xml +0 -42
- data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-os.xml +0 -42
- data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-pwn.xml +0 -42
- data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-rvm.xml +0 -42
- data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-ssllabs-scan.xml +0 -42
- data/etc/userland/ruby-gem/jenkins/jobs/selfupdate-wpscan.xml +0 -42
- data/etc/userland/ruby-gem/jenkins/jobs_userland/.gitkeep +0 -0
- data/etc/userland/ruby-gem/jenkins/log_parser_rules/arachni.rules +0 -5
- data/etc/userland/ruby-gem/jenkins/log_parser_rules/sast.rules +0 -2
- data/etc/userland/ruby-gem/jenkins/log_parser_rules/self_update.rules +0 -14
- data/etc/userland/ruby-gem/jenkins/log_parser_rules/ssllabs-scan.rules +0 -8
- data/etc/userland/ruby-gem/jenkins/log_parser_rules/system_maintenance.rules +0 -9
- data/etc/userland/ruby-gem/jenkins/log_parser_rules/wpscan.rules +0 -2
- data/etc/userland/ruby-gem/jenkins/vagrant.yaml.EXAMPLE +0 -8
- data/etc/userland/ruby-gem/letsencrypt/vagrant.yaml.EXAMPLE +0 -5
- data/etc/userland/ruby-gem/metasploit/vagrant.yaml.EXAMPLE +0 -4
- data/etc/userland/ruby-gem/nessus/vagrant.yaml.EXAMPLE +0 -15
- data/etc/userland/ruby-gem/openvas/vagrant.yaml.EXAMPLE +0 -2
- data/etc/userland/ruby-gem/owasp_zap/navigation.instruct.EXAMPLE +0 -3
- data/etc/userland/ruby-gem/postgres/vagrant.yaml.EXAMPLE +0 -2
- data/etc/userland/ruby-gem/recon-ng/vagrant.yaml.EXAMPLE +0 -52
- data/etc/userland/virtualbox/apache2/jenkins_443.conf +0 -90
- data/etc/userland/virtualbox/apache2/jenkins_80.conf +0 -7
- data/etc/userland/virtualbox/apache2/openvas_443.conf +0 -87
- data/etc/userland/virtualbox/apache2/openvas_80.conf +0 -7
- data/etc/userland/virtualbox/apache2/sast_443.conf +0 -87
- data/etc/userland/virtualbox/apache2/sast_80.conf +0 -9
- data/etc/userland/virtualbox/apache2/vagrant.yaml.EXAMPLE +0 -9
- data/etc/userland/virtualbox/arachni/navigation-REST.instruct.EXAMPLE +0 -29
- data/etc/userland/virtualbox/arachni/navigation.instruct.EXAMPLE +0 -3
- data/etc/userland/virtualbox/burpsuite/navigation.instruct.EXAMPLE +0 -3
- data/etc/userland/virtualbox/burpsuite/vagrant.yaml.EXAMPLE +0 -2
- data/etc/userland/virtualbox/defectdojo/vagrant.yaml.EXAMPLE +0 -3
- data/etc/userland/virtualbox/jenkins/inject_build_envs.sh +0 -15
- data/etc/userland/virtualbox/jenkins/jenkins +0 -81
- data/etc/userland/virtualbox/jenkins/jobs/pipeline-pwntemplate.xml +0 -298
- data/etc/userland/virtualbox/jenkins/jobs/pipeline-selfupdate.xml +0 -462
- data/etc/userland/virtualbox/jenkins/jobs/pwntemplate-DOMAIN-burpsuite.xml +0 -44
- data/etc/userland/virtualbox/jenkins/jobs/pwntemplate-DOMAIN-owasp_zap.xml +0 -35
- data/etc/userland/virtualbox/jenkins/jobs/pwntemplate-DOMAIN-ssllabs-scan.xml +0 -45
- data/etc/userland/virtualbox/jenkins/jobs/pwntemplate-GITREPO_BRANCH-sast.xml +0 -71
- data/etc/userland/virtualbox/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_discovery_scan_tcp_udp_65k.xml +0 -56
- data/etc/userland/virtualbox/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_xml_results_searchsploit.xml +0 -59
- data/etc/userland/virtualbox/jenkins/jobs/pwntemplate-NETWORKRANGE-openvas.xml +0 -45
- data/etc/userland/virtualbox/jenkins/jobs/selfupdate-exploit-db.xml +0 -43
- data/etc/userland/virtualbox/jenkins/jobs/selfupdate-gem.xml +0 -42
- data/etc/userland/virtualbox/jenkins/jobs/selfupdate-jenkins_plugins.xml +0 -42
- data/etc/userland/virtualbox/jenkins/jobs/selfupdate-metasploit.xml +0 -42
- data/etc/userland/virtualbox/jenkins/jobs/selfupdate-nmap_all_live_hosts.xml +0 -42
- data/etc/userland/virtualbox/jenkins/jobs/selfupdate-openvas_sync.xml +0 -42
- data/etc/userland/virtualbox/jenkins/jobs/selfupdate-openvas_wrappers.xml +0 -42
- data/etc/userland/virtualbox/jenkins/jobs/selfupdate-os.xml +0 -42
- data/etc/userland/virtualbox/jenkins/jobs/selfupdate-pwn.xml +0 -42
- data/etc/userland/virtualbox/jenkins/jobs/selfupdate-rvm.xml +0 -42
- data/etc/userland/virtualbox/jenkins/jobs/selfupdate-ssllabs-scan.xml +0 -42
- data/etc/userland/virtualbox/jenkins/jobs/selfupdate-wpscan.xml +0 -42
- data/etc/userland/virtualbox/jenkins/jobs_userland/.gitkeep +0 -0
- data/etc/userland/virtualbox/jenkins/log_parser_rules/arachni.rules +0 -5
- data/etc/userland/virtualbox/jenkins/log_parser_rules/sast.rules +0 -2
- data/etc/userland/virtualbox/jenkins/log_parser_rules/self_update.rules +0 -14
- data/etc/userland/virtualbox/jenkins/log_parser_rules/ssllabs-scan.rules +0 -8
- data/etc/userland/virtualbox/jenkins/log_parser_rules/system_maintenance.rules +0 -9
- data/etc/userland/virtualbox/jenkins/log_parser_rules/wpscan.rules +0 -2
- data/etc/userland/virtualbox/jenkins/vagrant.yaml.EXAMPLE +0 -8
- data/etc/userland/virtualbox/letsencrypt/vagrant.yaml.EXAMPLE +0 -5
- data/etc/userland/virtualbox/metasploit/vagrant.yaml.EXAMPLE +0 -4
- data/etc/userland/virtualbox/nessus/vagrant.yaml.EXAMPLE +0 -15
- data/etc/userland/virtualbox/openvas/vagrant.yaml.EXAMPLE +0 -2
- data/etc/userland/virtualbox/owasp_zap/navigation.instruct.EXAMPLE +0 -3
- data/etc/userland/virtualbox/postgres/vagrant.yaml.EXAMPLE +0 -2
- data/etc/userland/virtualbox/recon-ng/vagrant.yaml.EXAMPLE +0 -52
- data/etc/userland/virtualbox/vagrant.yaml.EXAMPLE +0 -4
- data/etc/userland/vmware/apache2/jenkins_443.conf +0 -90
- data/etc/userland/vmware/apache2/jenkins_80.conf +0 -7
- data/etc/userland/vmware/apache2/openvas_443.conf +0 -87
- data/etc/userland/vmware/apache2/openvas_80.conf +0 -7
- data/etc/userland/vmware/apache2/sast_443.conf +0 -87
- data/etc/userland/vmware/apache2/sast_80.conf +0 -9
- data/etc/userland/vmware/apache2/vagrant.yaml.EXAMPLE +0 -9
- data/etc/userland/vmware/arachni/navigation-REST.instruct.EXAMPLE +0 -29
- data/etc/userland/vmware/arachni/navigation.instruct.EXAMPLE +0 -3
- data/etc/userland/vmware/burpsuite/navigation.instruct.EXAMPLE +0 -3
- data/etc/userland/vmware/burpsuite/vagrant.yaml.EXAMPLE +0 -2
- data/etc/userland/vmware/defectdojo/vagrant.yaml.EXAMPLE +0 -3
- data/etc/userland/vmware/jenkins/inject_build_envs.sh +0 -15
- data/etc/userland/vmware/jenkins/jenkins +0 -81
- data/etc/userland/vmware/jenkins/jobs/pipeline-pwntemplate.xml +0 -298
- data/etc/userland/vmware/jenkins/jobs/pipeline-selfupdate.xml +0 -462
- data/etc/userland/vmware/jenkins/jobs/pwntemplate-DOMAIN-burpsuite.xml +0 -44
- data/etc/userland/vmware/jenkins/jobs/pwntemplate-DOMAIN-owasp_zap.xml +0 -35
- data/etc/userland/vmware/jenkins/jobs/pwntemplate-DOMAIN-ssllabs-scan.xml +0 -45
- data/etc/userland/vmware/jenkins/jobs/pwntemplate-GITREPO_BRANCH-sast.xml +0 -71
- data/etc/userland/vmware/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_discovery_scan_tcp_udp_65k.xml +0 -56
- data/etc/userland/vmware/jenkins/jobs/pwntemplate-NETWORKRANGE-nmap_xml_results_searchsploit.xml +0 -59
- data/etc/userland/vmware/jenkins/jobs/pwntemplate-NETWORKRANGE-openvas.xml +0 -45
- data/etc/userland/vmware/jenkins/jobs/selfupdate-exploit-db.xml +0 -43
- data/etc/userland/vmware/jenkins/jobs/selfupdate-gem.xml +0 -42
- data/etc/userland/vmware/jenkins/jobs/selfupdate-jenkins_plugins.xml +0 -42
- data/etc/userland/vmware/jenkins/jobs/selfupdate-metasploit.xml +0 -42
- data/etc/userland/vmware/jenkins/jobs/selfupdate-nmap_all_live_hosts.xml +0 -42
- data/etc/userland/vmware/jenkins/jobs/selfupdate-openvas_sync.xml +0 -42
- data/etc/userland/vmware/jenkins/jobs/selfupdate-openvas_wrappers.xml +0 -42
- data/etc/userland/vmware/jenkins/jobs/selfupdate-os.xml +0 -42
- data/etc/userland/vmware/jenkins/jobs/selfupdate-pwn.xml +0 -42
- data/etc/userland/vmware/jenkins/jobs/selfupdate-rvm.xml +0 -42
- data/etc/userland/vmware/jenkins/jobs/selfupdate-ssllabs-scan.xml +0 -42
- data/etc/userland/vmware/jenkins/jobs/selfupdate-wpscan.xml +0 -42
- data/etc/userland/vmware/jenkins/jobs_userland/.gitkeep +0 -0
- data/etc/userland/vmware/jenkins/log_parser_rules/arachni.rules +0 -5
- data/etc/userland/vmware/jenkins/log_parser_rules/sast.rules +0 -2
- data/etc/userland/vmware/jenkins/log_parser_rules/self_update.rules +0 -14
- data/etc/userland/vmware/jenkins/log_parser_rules/ssllabs-scan.rules +0 -8
- data/etc/userland/vmware/jenkins/log_parser_rules/system_maintenance.rules +0 -9
- data/etc/userland/vmware/jenkins/log_parser_rules/wpscan.rules +0 -2
- data/etc/userland/vmware/jenkins/vagrant.yaml.EXAMPLE +0 -8
- data/etc/userland/vmware/letsencrypt/vagrant.yaml.EXAMPLE +0 -5
- data/etc/userland/vmware/metasploit/vagrant.yaml.EXAMPLE +0 -4
- data/etc/userland/vmware/nessus/vagrant.yaml.EXAMPLE +0 -15
- data/etc/userland/vmware/openvas/vagrant.yaml.EXAMPLE +0 -2
- data/etc/userland/vmware/owasp_zap/navigation.instruct.EXAMPLE +0 -3
- data/etc/userland/vmware/postgres/vagrant.yaml.EXAMPLE +0 -2
- data/etc/userland/vmware/recon-ng/vagrant.yaml.EXAMPLE +0 -52
- data/etc/userland/vmware/vagrant.yaml.EXAMPLE +0 -5
- data/find_latest_gem_versions_per_Gemfile.sh +0 -19
- data/git_commit_test_reinit_gem.sh +0 -57
- data/install.sh +0 -177
- data/lib/pwn/ai/grok.rb +0 -258
- data/lib/pwn/ai/introspection.rb +0 -100
- data/lib/pwn/ai/ollama.rb +0 -260
- data/lib/pwn/ai/open_ai.rb +0 -807
- data/lib/pwn/ai.rb +0 -19
- data/lib/pwn/aws/acm.rb +0 -92
- data/lib/pwn/aws/api_gateway.rb +0 -92
- data/lib/pwn/aws/app_stream.rb +0 -92
- data/lib/pwn/aws/application_auto_scaling.rb +0 -92
- data/lib/pwn/aws/application_discovery_service.rb +0 -92
- data/lib/pwn/aws/auto_scaling.rb +0 -92
- data/lib/pwn/aws/batch.rb +0 -92
- data/lib/pwn/aws/budgets.rb +0 -92
- data/lib/pwn/aws/cloud_formation.rb +0 -92
- data/lib/pwn/aws/cloud_front.rb +0 -92
- data/lib/pwn/aws/cloud_hsm.rb +0 -92
- data/lib/pwn/aws/cloud_search.rb +0 -92
- data/lib/pwn/aws/cloud_search_domain.rb +0 -92
- data/lib/pwn/aws/cloud_trail.rb +0 -92
- data/lib/pwn/aws/cloud_watch.rb +0 -92
- data/lib/pwn/aws/cloud_watch_events.rb +0 -92
- data/lib/pwn/aws/cloud_watch_logs.rb +0 -92
- data/lib/pwn/aws/code_build.rb +0 -92
- data/lib/pwn/aws/code_commit.rb +0 -92
- data/lib/pwn/aws/code_deploy.rb +0 -92
- data/lib/pwn/aws/code_pipeline.rb +0 -92
- data/lib/pwn/aws/cognito_identity.rb +0 -92
- data/lib/pwn/aws/cognito_identity_provider.rb +0 -92
- data/lib/pwn/aws/cognito_sync.rb +0 -92
- data/lib/pwn/aws/config_service.rb +0 -92
- data/lib/pwn/aws/data_pipleline.rb +0 -92
- data/lib/pwn/aws/database_migration_service.rb +0 -92
- data/lib/pwn/aws/device_farm.rb +0 -92
- data/lib/pwn/aws/direct_connect.rb +0 -92
- data/lib/pwn/aws/directory_service.rb +0 -92
- data/lib/pwn/aws/dynamo_db.rb +0 -92
- data/lib/pwn/aws/dynamo_db_streams.rb +0 -92
- data/lib/pwn/aws/ec2.rb +0 -92
- data/lib/pwn/aws/ecr.rb +0 -92
- data/lib/pwn/aws/ecs.rb +0 -92
- data/lib/pwn/aws/efs.rb +0 -92
- data/lib/pwn/aws/elasti_cache.rb +0 -92
- data/lib/pwn/aws/elastic_beanstalk.rb +0 -89
- data/lib/pwn/aws/elastic_load_balancing.rb +0 -92
- data/lib/pwn/aws/elastic_load_balancing_v2.rb +0 -92
- data/lib/pwn/aws/elastic_transcoder.rb +0 -92
- data/lib/pwn/aws/elasticsearch_service.rb +0 -92
- data/lib/pwn/aws/emr.rb +0 -92
- data/lib/pwn/aws/firehose.rb +0 -92
- data/lib/pwn/aws/game_lift.rb +0 -92
- data/lib/pwn/aws/glacier.rb +0 -92
- data/lib/pwn/aws/health.rb +0 -92
- data/lib/pwn/aws/iam.rb +0 -200
- data/lib/pwn/aws/import_export.rb +0 -92
- data/lib/pwn/aws/inspector.rb +0 -92
- data/lib/pwn/aws/iot.rb +0 -92
- data/lib/pwn/aws/iot_data_plane.rb +0 -92
- data/lib/pwn/aws/kinesis.rb +0 -92
- data/lib/pwn/aws/kinesis_analytics.rb +0 -92
- data/lib/pwn/aws/kms.rb +0 -92
- data/lib/pwn/aws/lambda.rb +0 -92
- data/lib/pwn/aws/lambda_preview.rb +0 -92
- data/lib/pwn/aws/lex.rb +0 -92
- data/lib/pwn/aws/lightsail.rb +0 -92
- data/lib/pwn/aws/machine_learning.rb +0 -92
- data/lib/pwn/aws/marketplace_commerce_analytics.rb +0 -92
- data/lib/pwn/aws/marketplace_metering.rb +0 -92
- data/lib/pwn/aws/ops_works.rb +0 -92
- data/lib/pwn/aws/ops_works_cm.rb +0 -92
- data/lib/pwn/aws/pinpoint.rb +0 -92
- data/lib/pwn/aws/polly.rb +0 -92
- data/lib/pwn/aws/rds.rb +0 -92
- data/lib/pwn/aws/redshift.rb +0 -92
- data/lib/pwn/aws/rekognition.rb +0 -92
- data/lib/pwn/aws/route53.rb +0 -92
- data/lib/pwn/aws/route53_domains.rb +0 -92
- data/lib/pwn/aws/s3.rb +0 -92
- data/lib/pwn/aws/service_catalog.rb +0 -92
- data/lib/pwn/aws/ses.rb +0 -92
- data/lib/pwn/aws/shield.rb +0 -92
- data/lib/pwn/aws/simple_db.rb +0 -92
- data/lib/pwn/aws/sms.rb +0 -92
- data/lib/pwn/aws/snowball.rb +0 -92
- data/lib/pwn/aws/sns.rb +0 -92
- data/lib/pwn/aws/sqs.rb +0 -92
- data/lib/pwn/aws/ssm.rb +0 -92
- data/lib/pwn/aws/states.rb +0 -92
- data/lib/pwn/aws/storage_gateway.rb +0 -92
- data/lib/pwn/aws/sts.rb +0 -63
- data/lib/pwn/aws/support.rb +0 -92
- data/lib/pwn/aws/swf.rb +0 -92
- data/lib/pwn/aws/waf.rb +0 -92
- data/lib/pwn/aws/waf_regional.rb +0 -92
- data/lib/pwn/aws/workspaces.rb +0 -92
- data/lib/pwn/aws/x_ray.rb +0 -92
- data/lib/pwn/aws.rb +0 -105
- data/lib/pwn/banner/anon.rb +0 -50
- data/lib/pwn/banner/bubble.rb +0 -42
- data/lib/pwn/banner/cheshire.rb +0 -58
- data/lib/pwn/banner/code_cave.rb +0 -1035
- data/lib/pwn/banner/dont_panic.rb +0 -52
- data/lib/pwn/banner/f_society.rb +0 -60
- data/lib/pwn/banner/fork_bomb.rb +0 -39
- data/lib/pwn/banner/jmp_esp.rb +0 -44
- data/lib/pwn/banner/matrix.rb +0 -206
- data/lib/pwn/banner/ninja.rb +0 -55
- data/lib/pwn/banner/off_the_air.rb +0 -73
- data/lib/pwn/banner/pirate.rb +0 -62
- data/lib/pwn/banner/radare2.rb +0 -41
- data/lib/pwn/banner/radare2_ai.rb +0 -116
- data/lib/pwn/banner/white_rabbit.rb +0 -55
- data/lib/pwn/banner.rb +0 -108
- data/lib/pwn/blockchain/btc.rb +0 -282
- data/lib/pwn/blockchain/eth.rb +0 -160
- data/lib/pwn/blockchain.rb +0 -17
- data/lib/pwn/config.rb +0 -304
- data/lib/pwn/driver.rb +0 -85
- data/lib/pwn/ffi/stdio.rb +0 -41
- data/lib/pwn/ffi.rb +0 -16
- data/lib/pwn/plugins/android.rb +0 -1617
- data/lib/pwn/plugins/assembly.rb +0 -275
- data/lib/pwn/plugins/authentication_helper.rb +0 -86
- data/lib/pwn/plugins/baresip.rb +0 -708
- data/lib/pwn/plugins/basic_auth.rb +0 -63
- data/lib/pwn/plugins/beef.rb +0 -312
- data/lib/pwn/plugins/black_duck_binary_analysis.rb +0 -790
- data/lib/pwn/plugins/burp_suite.rb +0 -2208
- data/lib/pwn/plugins/bus_pirate.rb +0 -147
- data/lib/pwn/plugins/char.rb +0 -474
- data/lib/pwn/plugins/credit_card.rb +0 -105
- data/lib/pwn/plugins/dao_ldap.rb +0 -131
- data/lib/pwn/plugins/dao_mongo.rb +0 -96
- data/lib/pwn/plugins/dao_postgres.rb +0 -224
- data/lib/pwn/plugins/dao_sqlite3.rb +0 -125
- data/lib/pwn/plugins/defect_dojo.rb +0 -841
- data/lib/pwn/plugins/detect_os.rb +0 -71
- data/lib/pwn/plugins/ein.rb +0 -141
- data/lib/pwn/plugins/file_fu.rb +0 -93
- data/lib/pwn/plugins/fuzz.rb +0 -204
- data/lib/pwn/plugins/git.rb +0 -159
- data/lib/pwn/plugins/github.rb +0 -137
- data/lib/pwn/plugins/hacker_one.rb +0 -154
- data/lib/pwn/plugins/hunter.rb +0 -160
- data/lib/pwn/plugins/ip_info.rb +0 -264
- data/lib/pwn/plugins/irc.rb +0 -312
- data/lib/pwn/plugins/jenkins.rb +0 -537
- data/lib/pwn/plugins/jira_data_center.rb +0 -676
- data/lib/pwn/plugins/json_pathify.rb +0 -46
- data/lib/pwn/plugins/log.rb +0 -123
- data/lib/pwn/plugins/mail_agent.rb +0 -344
- data/lib/pwn/plugins/metasploit.rb +0 -151
- data/lib/pwn/plugins/monkey_patch.rb +0 -182
- data/lib/pwn/plugins/msr206.rb +0 -1257
- data/lib/pwn/plugins/nessus_cloud.rb +0 -847
- data/lib/pwn/plugins/nexpose_vuln_scan.rb +0 -356
- data/lib/pwn/plugins/nmap_it.rb +0 -136
- data/lib/pwn/plugins/oauth2.rb +0 -67
- data/lib/pwn/plugins/ocr.rb +0 -43
- data/lib/pwn/plugins/open_api.rb +0 -896
- data/lib/pwn/plugins/openvas.rb +0 -314
- data/lib/pwn/plugins/packet.rb +0 -1313
- data/lib/pwn/plugins/pdf_parse.rb +0 -53
- data/lib/pwn/plugins/pony.rb +0 -281
- data/lib/pwn/plugins/ps.rb +0 -90
- data/lib/pwn/plugins/pwn_logger.rb +0 -64
- data/lib/pwn/plugins/rabbit_mq.rb +0 -70
- data/lib/pwn/plugins/repl.rb +0 -999
- data/lib/pwn/plugins/scannable_codes.rb +0 -87
- data/lib/pwn/plugins/serial.rb +0 -273
- data/lib/pwn/plugins/shodan.rb +0 -629
- data/lib/pwn/plugins/slack_client.rb +0 -104
- data/lib/pwn/plugins/sock.rb +0 -289
- data/lib/pwn/plugins/spider.rb +0 -78
- data/lib/pwn/plugins/ssn.rb +0 -52
- data/lib/pwn/plugins/thread_pool.rb +0 -80
- data/lib/pwn/plugins/tor.rb +0 -273
- data/lib/pwn/plugins/transparent_browser.rb +0 -1738
- data/lib/pwn/plugins/twitter_api.rb +0 -151
- data/lib/pwn/plugins/uri_scheme.rb +0 -328
- data/lib/pwn/plugins/vault.rb +0 -305
- data/lib/pwn/plugins/vin.rb +0 -361
- data/lib/pwn/plugins/voice.rb +0 -145
- data/lib/pwn/plugins/vsphere.rb +0 -81
- data/lib/pwn/plugins/xxd.rb +0 -298
- data/lib/pwn/plugins/zaproxy.rb +0 -837
- data/lib/pwn/plugins.rb +0 -81
- data/lib/pwn/reports/fuzz.rb +0 -328
- data/lib/pwn/reports/html_footer.rb +0 -160
- data/lib/pwn/reports/html_header.rb +0 -271
- data/lib/pwn/reports/phone.rb +0 -384
- data/lib/pwn/reports/sast.rb +0 -435
- data/lib/pwn/reports/uri_buster.rb +0 -335
- data/lib/pwn/reports.rb +0 -25
- data/lib/pwn/sast/amqp_connect_as_guest.rb +0 -78
- data/lib/pwn/sast/apache_file_system_util_api.rb +0 -76
- data/lib/pwn/sast/aws.rb +0 -77
- data/lib/pwn/sast/banned_function_calls_c.rb +0 -207
- data/lib/pwn/sast/base64.rb +0 -74
- data/lib/pwn/sast/beef_hook.rb +0 -75
- data/lib/pwn/sast/cmd_execution_go_lang.rb +0 -83
- data/lib/pwn/sast/cmd_execution_java.rb +0 -80
- data/lib/pwn/sast/cmd_execution_python.rb +0 -82
- data/lib/pwn/sast/cmd_execution_ruby.rb +0 -90
- data/lib/pwn/sast/cmd_execution_scala.rb +0 -80
- data/lib/pwn/sast/csrf.rb +0 -74
- data/lib/pwn/sast/deserial_java.rb +0 -85
- data/lib/pwn/sast/emoticon.rb +0 -82
- data/lib/pwn/sast/eval.rb +0 -76
- data/lib/pwn/sast/factory.rb +0 -79
- data/lib/pwn/sast/http_authorization_header.rb +0 -80
- data/lib/pwn/sast/inner_html.rb +0 -76
- data/lib/pwn/sast/keystore.rb +0 -75
- data/lib/pwn/sast/local_storage.rb +0 -77
- data/lib/pwn/sast/location_hash.rb +0 -76
- data/lib/pwn/sast/log4j.rb +0 -78
- data/lib/pwn/sast/logger.rb +0 -90
- data/lib/pwn/sast/md5.rb +0 -75
- data/lib/pwn/sast/outer_html.rb +0 -76
- data/lib/pwn/sast/padding_oracle.rb +0 -72
- data/lib/pwn/sast/password.rb +0 -75
- data/lib/pwn/sast/php_input_mechanisms.rb +0 -84
- data/lib/pwn/sast/php_type_juggling.rb +0 -82
- data/lib/pwn/sast/pom_version.rb +0 -164
- data/lib/pwn/sast/port.rb +0 -82
- data/lib/pwn/sast/post_message.rb +0 -76
- data/lib/pwn/sast/private_key.rb +0 -75
- data/lib/pwn/sast/redirect.rb +0 -77
- data/lib/pwn/sast/redos.rb +0 -82
- data/lib/pwn/sast/shell.rb +0 -83
- data/lib/pwn/sast/signature.rb +0 -75
- data/lib/pwn/sast/sql.rb +0 -85
- data/lib/pwn/sast/ssl.rb +0 -79
- data/lib/pwn/sast/sudo.rb +0 -75
- data/lib/pwn/sast/task_tag.rb +0 -89
- data/lib/pwn/sast/test_case_engine.rb +0 -189
- data/lib/pwn/sast/throw_errors.rb +0 -78
- data/lib/pwn/sast/token.rb +0 -77
- data/lib/pwn/sast/type_script_type_juggling.rb +0 -82
- data/lib/pwn/sast/use_after_free.rb +0 -82
- data/lib/pwn/sast/version.rb +0 -76
- data/lib/pwn/sast/window_location_hash.rb +0 -75
- data/lib/pwn/sast.rb +0 -67
- data/lib/pwn/sdr/decoder/gsm.rb +0 -200
- data/lib/pwn/sdr/decoder.rb +0 -19
- data/lib/pwn/sdr/flipper_zero.rb +0 -128
- data/lib/pwn/sdr/frequency_allocation.rb +0 -416
- data/lib/pwn/sdr/gqrx.rb +0 -655
- data/lib/pwn/sdr/rfidler.rb +0 -56
- data/lib/pwn/sdr/son_micro_rfid.rb +0 -773
- data/lib/pwn/sdr.rb +0 -21
- data/lib/pwn/version.rb +0 -5
- data/lib/pwn/www/app_cobalt_io.rb +0 -139
- data/lib/pwn/www/bing.rb +0 -88
- data/lib/pwn/www/bug_crowd.rb +0 -136
- data/lib/pwn/www/checkip.rb +0 -69
- data/lib/pwn/www/coinbase_pro.rb +0 -136
- data/lib/pwn/www/duckduckgo.rb +0 -114
- data/lib/pwn/www/facebook.rb +0 -124
- data/lib/pwn/www/google.rb +0 -114
- data/lib/pwn/www/hacker_one.rb +0 -649
- data/lib/pwn/www/linkedin.rb +0 -124
- data/lib/pwn/www/pandora.rb +0 -124
- data/lib/pwn/www/pastebin.rb +0 -84
- data/lib/pwn/www/paypal.rb +0 -208
- data/lib/pwn/www/synack.rb +0 -136
- data/lib/pwn/www/torch.rb +0 -107
- data/lib/pwn/www/trading_view.rb +0 -127
- data/lib/pwn/www/twitter.rb +0 -138
- data/lib/pwn/www/uber.rb +0 -124
- data/lib/pwn/www/upwork.rb +0 -124
- data/lib/pwn/www/wayback_machine.rb +0 -113
- data/lib/pwn/www/youtube.rb +0 -88
- data/lib/pwn/www.rb +0 -36
- data/lib/pwn.rb +0 -39
- data/packer/daemons/msfrpcd.rb +0 -64
- data/packer/daemons/openvas.rb +0 -51
- data/packer/deploy_docker_containers.sh +0 -9
- data/packer/deploy_packer_box.sh +0 -87
- data/packer/docker/kali_rolling_docker_pwn_fuzz_net_app_proto.json +0 -44
- data/packer/docker/kali_rolling_docker_pwn_prototyper.json +0 -48
- data/packer/docker/kali_rolling_docker_pwn_sast.json +0 -44
- data/packer/docker/kali_rolling_docker_pwn_transparent_browser.json +0 -46
- data/packer/docker/kali_rolling_docker_pwn_www_checkip.json +0 -34
- data/packer/http/kali_rolling_preseed.cfg +0 -81
- data/packer/kali_rolling_aws_ami.json +0 -139
- data/packer/kali_rolling_qemu_kvm.json +0 -159
- data/packer/kali_rolling_virtualbox.json +0 -186
- data/packer/kali_rolling_vmware.json +0 -167
- data/packer/packer_secrets.json.EXAMPLE +0 -9
- data/packer/provisioners/PayloadsAllTheThings.sh +0 -5
- data/packer/provisioners/SecLists.sh +0 -5
- data/packer/provisioners/afl.sh +0 -28
- data/packer/provisioners/aliases.rb +0 -23
- data/packer/provisioners/amass.sh +0 -5
- data/packer/provisioners/android.sh +0 -18
- data/packer/provisioners/ansible.sh +0 -5
- data/packer/provisioners/apache2.sh +0 -24
- data/packer/provisioners/arachni.sh +0 -28
- data/packer/provisioners/awscli.sh +0 -5
- data/packer/provisioners/bashrc.sh +0 -13
- data/packer/provisioners/beef.rb +0 -23
- data/packer/provisioners/burpsuite.sh +0 -24
- data/packer/provisioners/chrome.sh +0 -11
- data/packer/provisioners/coreutils.sh +0 -6
- data/packer/provisioners/curl.sh +0 -6
- data/packer/provisioners/docker.sh +0 -43
- data/packer/provisioners/docker_bashrc.sh +0 -2
- data/packer/provisioners/docker_rvm.sh +0 -22
- data/packer/provisioners/eyewitness.sh +0 -5
- data/packer/provisioners/ffmpeg.sh +0 -6
- data/packer/provisioners/firefox.sh +0 -7
- data/packer/provisioners/fuzzdb.sh +0 -5
- data/packer/provisioners/gdb.sh +0 -5
- data/packer/provisioners/geckodriver.sh +0 -9
- data/packer/provisioners/ghidra.sh +0 -5
- data/packer/provisioners/git.sh +0 -6
- data/packer/provisioners/init_image.sh +0 -103
- data/packer/provisioners/install_vagrant_ssh_key.sh +0 -15
- data/packer/provisioners/irc.sh +0 -13
- data/packer/provisioners/jenkins.sh +0 -77
- data/packer/provisioners/metasploit.rb +0 -59
- data/packer/provisioners/nmap.sh +0 -5
- data/packer/provisioners/openvas.sh +0 -23
- data/packer/provisioners/openvas_wrappers.sh +0 -4
- data/packer/provisioners/openvpn.sh +0 -7
- data/packer/provisioners/peda.sh +0 -4
- data/packer/provisioners/phantomjs.rb +0 -28
- data/packer/provisioners/phantomjs_wrapper.sh +0 -22
- data/packer/provisioners/post_install.sh +0 -41
- data/packer/provisioners/postgresql.sh +0 -49
- data/packer/provisioners/preeny.sh +0 -8
- data/packer/provisioners/pwn.sh +0 -100
- data/packer/provisioners/pwntools.sh +0 -13
- data/packer/provisioners/radamsa.sh +0 -7
- data/packer/provisioners/radare2.sh +0 -29
- data/packer/provisioners/rc.local.sh +0 -16
- data/packer/provisioners/reboot_os.sh +0 -7
- data/packer/provisioners/ruby.sh +0 -35
- data/packer/provisioners/rvm.sh +0 -31
- data/packer/provisioners/scapy.sh +0 -5
- data/packer/provisioners/scout2.sh +0 -5
- data/packer/provisioners/sox.sh +0 -5
- data/packer/provisioners/ssllabs-scan.sh +0 -9
- data/packer/provisioners/strace.sh +0 -5
- data/packer/provisioners/sublist3r.sh +0 -5
- data/packer/provisioners/terminator.sh +0 -5
- data/packer/provisioners/toggle_tor.sh +0 -2
- data/packer/provisioners/tor.sh +0 -5
- data/packer/provisioners/twinkle.sh +0 -6
- data/packer/provisioners/update_os.sh +0 -108
- data/packer/provisioners/upload_globals.sh +0 -63
- data/packer/provisioners/vim.sh +0 -23
- data/packer/provisioners/virtualbox_guest_additions.sh +0 -20
- data/packer/provisioners/vmware_tools.sh +0 -8
- data/packer/provisioners/wpscan.rb +0 -23
- data/packer/provisioners/xrdp.sh +0 -23
- data/packer/provisioners/zzuf.sh +0 -5
- data/pwn.gemspec +0 -77
- data/reinstall_pwn_gemset.sh +0 -30
- data/spec/lib/pwn/ai/grok_spec.rb +0 -15
- data/spec/lib/pwn/ai/introspection_spec.rb +0 -15
- data/spec/lib/pwn/ai/ollama_spec.rb +0 -15
- data/spec/lib/pwn/ai/open_ai_spec.rb +0 -15
- data/spec/lib/pwn/ai_spec.rb +0 -10
- data/spec/lib/pwn/aws/acm_spec.rb +0 -15
- data/spec/lib/pwn/aws/api_gateway_spec.rb +0 -15
- data/spec/lib/pwn/aws/app_stream_spec.rb +0 -15
- data/spec/lib/pwn/aws/application_auto_scaling_spec.rb +0 -15
- data/spec/lib/pwn/aws/application_discovery_service_spec.rb +0 -15
- data/spec/lib/pwn/aws/auto_scaling_spec.rb +0 -15
- data/spec/lib/pwn/aws/batch_spec.rb +0 -15
- data/spec/lib/pwn/aws/budgets_spec.rb +0 -15
- data/spec/lib/pwn/aws/cloud_formation_spec.rb +0 -15
- data/spec/lib/pwn/aws/cloud_front_spec.rb +0 -15
- data/spec/lib/pwn/aws/cloud_hsm_spec.rb +0 -15
- data/spec/lib/pwn/aws/cloud_search_domain_spec.rb +0 -15
- data/spec/lib/pwn/aws/cloud_search_spec.rb +0 -15
- data/spec/lib/pwn/aws/cloud_trail_spec.rb +0 -15
- data/spec/lib/pwn/aws/cloud_watch_events_spec.rb +0 -15
- data/spec/lib/pwn/aws/cloud_watch_logs_spec.rb +0 -15
- data/spec/lib/pwn/aws/cloud_watch_spec.rb +0 -15
- data/spec/lib/pwn/aws/code_build_spec.rb +0 -15
- data/spec/lib/pwn/aws/code_commit_spec.rb +0 -15
- data/spec/lib/pwn/aws/code_deploy_spec.rb +0 -15
- data/spec/lib/pwn/aws/code_pipeline_spec.rb +0 -15
- data/spec/lib/pwn/aws/cognito_identity_provider_spec.rb +0 -15
- data/spec/lib/pwn/aws/cognito_identity_spec.rb +0 -15
- data/spec/lib/pwn/aws/cognito_sync_spec.rb +0 -15
- data/spec/lib/pwn/aws/config_service_spec.rb +0 -15
- data/spec/lib/pwn/aws/data_pipleline_spec.rb +0 -15
- data/spec/lib/pwn/aws/database_migration_service_spec.rb +0 -15
- data/spec/lib/pwn/aws/device_farm_spec.rb +0 -15
- data/spec/lib/pwn/aws/direct_connect_spec.rb +0 -15
- data/spec/lib/pwn/aws/directory_service_spec.rb +0 -15
- data/spec/lib/pwn/aws/dynamo_db_spec.rb +0 -15
- data/spec/lib/pwn/aws/dynamo_db_streams_spec.rb +0 -15
- data/spec/lib/pwn/aws/ec2_spec.rb +0 -15
- data/spec/lib/pwn/aws/ecr_spec.rb +0 -15
- data/spec/lib/pwn/aws/ecs_spec.rb +0 -15
- data/spec/lib/pwn/aws/efs_spec.rb +0 -15
- data/spec/lib/pwn/aws/elasti_cache_spec.rb +0 -15
- data/spec/lib/pwn/aws/elastic_beanstalk_spec.rb +0 -15
- data/spec/lib/pwn/aws/elastic_load_balancing_spec.rb +0 -15
- data/spec/lib/pwn/aws/elastic_load_balancing_v2_spec.rb +0 -15
- data/spec/lib/pwn/aws/elastic_transcoder_spec.rb +0 -15
- data/spec/lib/pwn/aws/elasticsearch_service_spec.rb +0 -15
- data/spec/lib/pwn/aws/emr_spec.rb +0 -15
- data/spec/lib/pwn/aws/firehose_spec.rb +0 -15
- data/spec/lib/pwn/aws/game_lift_spec.rb +0 -15
- data/spec/lib/pwn/aws/glacier_spec.rb +0 -15
- data/spec/lib/pwn/aws/health_spec.rb +0 -15
- data/spec/lib/pwn/aws/iam_spec.rb +0 -15
- data/spec/lib/pwn/aws/import_export_spec.rb +0 -15
- data/spec/lib/pwn/aws/inspector_spec.rb +0 -15
- data/spec/lib/pwn/aws/iot_data_plane_spec.rb +0 -15
- data/spec/lib/pwn/aws/iot_spec.rb +0 -15
- data/spec/lib/pwn/aws/kinesis_analytics_spec.rb +0 -15
- data/spec/lib/pwn/aws/kinesis_spec.rb +0 -15
- data/spec/lib/pwn/aws/kms_spec.rb +0 -15
- data/spec/lib/pwn/aws/lambda_preview_spec.rb +0 -15
- data/spec/lib/pwn/aws/lambda_spec.rb +0 -15
- data/spec/lib/pwn/aws/lex_spec.rb +0 -15
- data/spec/lib/pwn/aws/lightsail_spec.rb +0 -15
- data/spec/lib/pwn/aws/machine_learning_spec.rb +0 -15
- data/spec/lib/pwn/aws/marketplace_commerce_analytics_spec.rb +0 -15
- data/spec/lib/pwn/aws/marketplace_metering_spec.rb +0 -15
- data/spec/lib/pwn/aws/ops_works_cm_spec.rb +0 -15
- data/spec/lib/pwn/aws/ops_works_spec.rb +0 -15
- data/spec/lib/pwn/aws/pinpoint_spec.rb +0 -15
- data/spec/lib/pwn/aws/polly_spec.rb +0 -15
- data/spec/lib/pwn/aws/rds_spec.rb +0 -15
- data/spec/lib/pwn/aws/redshift_spec.rb +0 -15
- data/spec/lib/pwn/aws/rekognition_spec.rb +0 -15
- data/spec/lib/pwn/aws/route53_domains_spec.rb +0 -15
- data/spec/lib/pwn/aws/route53_spec.rb +0 -15
- data/spec/lib/pwn/aws/s3_spec.rb +0 -15
- data/spec/lib/pwn/aws/service_catalog_spec.rb +0 -15
- data/spec/lib/pwn/aws/ses_spec.rb +0 -15
- data/spec/lib/pwn/aws/shield_spec.rb +0 -15
- data/spec/lib/pwn/aws/simple_db_spec.rb +0 -15
- data/spec/lib/pwn/aws/sms_spec.rb +0 -15
- data/spec/lib/pwn/aws/snowball_spec.rb +0 -15
- data/spec/lib/pwn/aws/sns_spec.rb +0 -15
- data/spec/lib/pwn/aws/sqs_spec.rb +0 -15
- data/spec/lib/pwn/aws/ssm_spec.rb +0 -15
- data/spec/lib/pwn/aws/states_spec.rb +0 -15
- data/spec/lib/pwn/aws/storage_gateway_spec.rb +0 -15
- data/spec/lib/pwn/aws/sts_spec.rb +0 -15
- data/spec/lib/pwn/aws/support_spec.rb +0 -15
- data/spec/lib/pwn/aws/swf_spec.rb +0 -15
- data/spec/lib/pwn/aws/waf_regional_spec.rb +0 -15
- data/spec/lib/pwn/aws/waf_spec.rb +0 -15
- data/spec/lib/pwn/aws/workspaces_spec.rb +0 -15
- data/spec/lib/pwn/aws/x_ray_spec.rb +0 -15
- data/spec/lib/pwn/aws_spec.rb +0 -10
- data/spec/lib/pwn/banner/anon_spec.rb +0 -20
- data/spec/lib/pwn/banner/bubble_spec.rb +0 -20
- data/spec/lib/pwn/banner/cheshire_spec.rb +0 -20
- data/spec/lib/pwn/banner/code_cave_spec.rb +0 -20
- data/spec/lib/pwn/banner/dont_panic_spec.rb +0 -20
- data/spec/lib/pwn/banner/f_society_spec.rb +0 -20
- data/spec/lib/pwn/banner/fork_bomb_spec.rb +0 -20
- data/spec/lib/pwn/banner/jmp_esp_spec.rb +0 -20
- data/spec/lib/pwn/banner/matrix_spec.rb +0 -20
- data/spec/lib/pwn/banner/ninja_spec.rb +0 -20
- data/spec/lib/pwn/banner/off_the_air_spec.rb +0 -20
- data/spec/lib/pwn/banner/pirate_spec.rb +0 -20
- data/spec/lib/pwn/banner/radare2_ai_spec.rb +0 -20
- data/spec/lib/pwn/banner/radare2_spec.rb +0 -20
- data/spec/lib/pwn/banner/white_rabbit_spec.rb +0 -20
- data/spec/lib/pwn/banner_spec.rb +0 -15
- data/spec/lib/pwn/blockchain/btc_spec.rb +0 -15
- data/spec/lib/pwn/blockchain/eth_spec.rb +0 -15
- data/spec/lib/pwn/blockchain_spec.rb +0 -10
- data/spec/lib/pwn/config_spec.rb +0 -15
- data/spec/lib/pwn/driver_spec.rb +0 -15
- data/spec/lib/pwn/ffi/stdio_spec.rb +0 -15
- data/spec/lib/pwn/ffi_spec.rb +0 -10
- data/spec/lib/pwn/plugins/android_spec.rb +0 -15
- data/spec/lib/pwn/plugins/assembly_spec.rb +0 -15
- data/spec/lib/pwn/plugins/authentication_helper_spec.rb +0 -15
- data/spec/lib/pwn/plugins/baresip_spec.rb +0 -15
- data/spec/lib/pwn/plugins/basic_auth_spec.rb +0 -15
- data/spec/lib/pwn/plugins/beef_spec.rb +0 -15
- data/spec/lib/pwn/plugins/black_duck_binary_analysis_spec.rb +0 -15
- data/spec/lib/pwn/plugins/burp_suite_spec.rb +0 -15
- data/spec/lib/pwn/plugins/bus_pirate_spec.rb +0 -15
- data/spec/lib/pwn/plugins/char_spec.rb +0 -15
- data/spec/lib/pwn/plugins/credit_card_spec.rb +0 -15
- data/spec/lib/pwn/plugins/dao_ldap_spec.rb +0 -15
- data/spec/lib/pwn/plugins/dao_mongo_spec.rb +0 -15
- data/spec/lib/pwn/plugins/dao_postgres_spec.rb +0 -15
- data/spec/lib/pwn/plugins/dao_sqlite3_spec.rb +0 -15
- data/spec/lib/pwn/plugins/defect_dojo_spec.rb +0 -15
- data/spec/lib/pwn/plugins/detect_os_spec.rb +0 -15
- data/spec/lib/pwn/plugins/ein_spec.rb +0 -15
- data/spec/lib/pwn/plugins/file_fu_spec.rb +0 -15
- data/spec/lib/pwn/plugins/fuzz_spec.rb +0 -15
- data/spec/lib/pwn/plugins/git_spec.rb +0 -15
- data/spec/lib/pwn/plugins/github_spec.rb +0 -15
- data/spec/lib/pwn/plugins/hacker_one_spec.rb +0 -15
- data/spec/lib/pwn/plugins/hunter_spec.rb +0 -15
- data/spec/lib/pwn/plugins/ip_info_spec.rb +0 -15
- data/spec/lib/pwn/plugins/irc_spec.rb +0 -15
- data/spec/lib/pwn/plugins/jenkins_spec.rb +0 -15
- data/spec/lib/pwn/plugins/jira_data_center_spec.rb +0 -15
- data/spec/lib/pwn/plugins/json_pathify_spec.rb +0 -15
- data/spec/lib/pwn/plugins/log_spec.rb +0 -15
- data/spec/lib/pwn/plugins/mail_agent_spec.rb +0 -15
- data/spec/lib/pwn/plugins/metasploit_spec.rb +0 -15
- data/spec/lib/pwn/plugins/monkey_patch_spec.rb +0 -15
- data/spec/lib/pwn/plugins/msr206_spec.rb +0 -15
- data/spec/lib/pwn/plugins/nessus_cloud_spec.rb +0 -15
- data/spec/lib/pwn/plugins/nexpose_vuln_scan_spec.rb +0 -15
- data/spec/lib/pwn/plugins/nmap_it_spec.rb +0 -15
- data/spec/lib/pwn/plugins/oauth2_spec.rb +0 -15
- data/spec/lib/pwn/plugins/ocr_spec.rb +0 -15
- data/spec/lib/pwn/plugins/open_api_spec.rb +0 -15
- data/spec/lib/pwn/plugins/openvas_spec.rb +0 -15
- data/spec/lib/pwn/plugins/packet_spec.rb +0 -15
- data/spec/lib/pwn/plugins/pdf_parse_spec.rb +0 -15
- data/spec/lib/pwn/plugins/pony_spec.rb +0 -15
- data/spec/lib/pwn/plugins/ps_spec.rb +0 -15
- data/spec/lib/pwn/plugins/pwn_logger_spec.rb +0 -15
- data/spec/lib/pwn/plugins/rabbit_mq_spec.rb +0 -15
- data/spec/lib/pwn/plugins/repl_spec.rb +0 -15
- data/spec/lib/pwn/plugins/scannable_codes_spec.rb +0 -15
- data/spec/lib/pwn/plugins/serial_spec.rb +0 -15
- data/spec/lib/pwn/plugins/shodan_spec.rb +0 -15
- data/spec/lib/pwn/plugins/slack_client_spec.rb +0 -15
- data/spec/lib/pwn/plugins/sock_spec.rb +0 -15
- data/spec/lib/pwn/plugins/spider_spec.rb +0 -15
- data/spec/lib/pwn/plugins/ssn_spec.rb +0 -15
- data/spec/lib/pwn/plugins/thread_pool_spec.rb +0 -15
- data/spec/lib/pwn/plugins/tor_spec.rb +0 -15
- data/spec/lib/pwn/plugins/transparent_browser_spec.rb +0 -15
- data/spec/lib/pwn/plugins/twitter_api_spec.rb +0 -15
- data/spec/lib/pwn/plugins/uri_scheme_spec.rb +0 -15
- data/spec/lib/pwn/plugins/vault_spec.rb +0 -15
- data/spec/lib/pwn/plugins/vin_spec.rb +0 -15
- data/spec/lib/pwn/plugins/voice_spec.rb +0 -15
- data/spec/lib/pwn/plugins/vsphere_spec.rb +0 -15
- data/spec/lib/pwn/plugins/xxd_spec.rb +0 -15
- data/spec/lib/pwn/plugins/zaproxy_spec.rb +0 -15
- data/spec/lib/pwn/plugins_spec.rb +0 -10
- data/spec/lib/pwn/reports/fuzz_spec.rb +0 -15
- data/spec/lib/pwn/reports/html_footer_spec.rb +0 -15
- data/spec/lib/pwn/reports/html_header_spec.rb +0 -15
- data/spec/lib/pwn/reports/phone_spec.rb +0 -15
- data/spec/lib/pwn/reports/sast_spec.rb +0 -15
- data/spec/lib/pwn/reports/uri_buster_spec.rb +0 -15
- data/spec/lib/pwn/reports_spec.rb +0 -10
- data/spec/lib/pwn/sast/amqp_connect_as_guest_spec.rb +0 -25
- data/spec/lib/pwn/sast/apache_file_system_util_api_spec.rb +0 -25
- data/spec/lib/pwn/sast/aws_spec.rb +0 -25
- data/spec/lib/pwn/sast/banned_function_calls_c_spec.rb +0 -25
- data/spec/lib/pwn/sast/base64_spec.rb +0 -25
- data/spec/lib/pwn/sast/beef_hook_spec.rb +0 -25
- data/spec/lib/pwn/sast/cmd_execution_go_lang_spec.rb +0 -25
- data/spec/lib/pwn/sast/cmd_execution_java_spec.rb +0 -25
- data/spec/lib/pwn/sast/cmd_execution_python_spec.rb +0 -25
- data/spec/lib/pwn/sast/cmd_execution_ruby_spec.rb +0 -25
- data/spec/lib/pwn/sast/cmd_execution_scala_spec.rb +0 -25
- data/spec/lib/pwn/sast/csrf_spec.rb +0 -25
- data/spec/lib/pwn/sast/deserial_java_spec.rb +0 -25
- data/spec/lib/pwn/sast/emoticon_spec.rb +0 -25
- data/spec/lib/pwn/sast/eval_spec.rb +0 -25
- data/spec/lib/pwn/sast/factory_spec.rb +0 -25
- data/spec/lib/pwn/sast/http_authorization_header_spec.rb +0 -25
- data/spec/lib/pwn/sast/inner_html_spec.rb +0 -25
- data/spec/lib/pwn/sast/keystore_spec.rb +0 -25
- data/spec/lib/pwn/sast/local_storage_spec.rb +0 -25
- data/spec/lib/pwn/sast/location_hash_spec.rb +0 -25
- data/spec/lib/pwn/sast/log4j_spec.rb +0 -25
- data/spec/lib/pwn/sast/logger_spec.rb +0 -25
- data/spec/lib/pwn/sast/md5_spec.rb +0 -25
- data/spec/lib/pwn/sast/outer_html_spec.rb +0 -25
- data/spec/lib/pwn/sast/padding_oracle_spec.rb +0 -25
- data/spec/lib/pwn/sast/password_spec.rb +0 -25
- data/spec/lib/pwn/sast/php_input_mechanisms_spec.rb +0 -25
- data/spec/lib/pwn/sast/php_type_juggling_spec.rb +0 -25
- data/spec/lib/pwn/sast/pom_version_spec.rb +0 -25
- data/spec/lib/pwn/sast/port_spec.rb +0 -25
- data/spec/lib/pwn/sast/post_message_spec.rb +0 -25
- data/spec/lib/pwn/sast/private_key_spec.rb +0 -25
- data/spec/lib/pwn/sast/redirect_spec.rb +0 -25
- data/spec/lib/pwn/sast/redos_spec.rb +0 -25
- data/spec/lib/pwn/sast/shell_spec.rb +0 -25
- data/spec/lib/pwn/sast/signature_spec.rb +0 -25
- data/spec/lib/pwn/sast/sql_spec.rb +0 -25
- data/spec/lib/pwn/sast/ssl_spec.rb +0 -25
- data/spec/lib/pwn/sast/sudo_spec.rb +0 -25
- data/spec/lib/pwn/sast/task_tag_spec.rb +0 -25
- data/spec/lib/pwn/sast/test_case_engine_spec.rb +0 -20
- data/spec/lib/pwn/sast/throw_errors_spec.rb +0 -25
- data/spec/lib/pwn/sast/token_spec.rb +0 -25
- data/spec/lib/pwn/sast/type_script_type_juggling_spec.rb +0 -25
- data/spec/lib/pwn/sast/use_after_free_spec.rb +0 -25
- data/spec/lib/pwn/sast/version_spec.rb +0 -25
- data/spec/lib/pwn/sast/window_location_hash_spec.rb +0 -25
- data/spec/lib/pwn/sast_spec.rb +0 -10
- data/spec/lib/pwn/sdr/decoder/gsm_spec.rb +0 -15
- data/spec/lib/pwn/sdr/decoder_spec.rb +0 -10
- data/spec/lib/pwn/sdr/flipper_zero_spec.rb +0 -15
- data/spec/lib/pwn/sdr/frequency_allocation_spec.rb +0 -15
- data/spec/lib/pwn/sdr/gqrx_spec.rb +0 -15
- data/spec/lib/pwn/sdr/rfidler_spec.rb +0 -15
- data/spec/lib/pwn/sdr/son_micro_rfid_spec.rb +0 -15
- data/spec/lib/pwn/sdr_spec.rb +0 -10
- data/spec/lib/pwn/version_spec.rb +0 -17
- data/spec/lib/pwn/www/app_cobalt_io_spec.rb +0 -15
- data/spec/lib/pwn/www/bing_spec.rb +0 -15
- data/spec/lib/pwn/www/bug_crowd_spec.rb +0 -15
- data/spec/lib/pwn/www/checkip_spec.rb +0 -15
- data/spec/lib/pwn/www/coinbase_pro_spec.rb +0 -15
- data/spec/lib/pwn/www/duckduckgo_spec.rb +0 -15
- data/spec/lib/pwn/www/facebook_spec.rb +0 -15
- data/spec/lib/pwn/www/google_spec.rb +0 -15
- data/spec/lib/pwn/www/hacker_one_spec.rb +0 -15
- data/spec/lib/pwn/www/linkedin_spec.rb +0 -15
- data/spec/lib/pwn/www/pandora_spec.rb +0 -15
- data/spec/lib/pwn/www/pastebin_spec.rb +0 -15
- data/spec/lib/pwn/www/paypal_spec.rb +0 -15
- data/spec/lib/pwn/www/synack_spec.rb +0 -15
- data/spec/lib/pwn/www/torch_spec.rb +0 -15
- data/spec/lib/pwn/www/trading_view_spec.rb +0 -15
- data/spec/lib/pwn/www/twitter_spec.rb +0 -15
- data/spec/lib/pwn/www/uber_spec.rb +0 -15
- data/spec/lib/pwn/www/upwork_spec.rb +0 -15
- data/spec/lib/pwn/www/wayback_machine_spec.rb +0 -15
- data/spec/lib/pwn/www/youtube_spec.rb +0 -15
- data/spec/lib/pwn/www_spec.rb +0 -10
- data/spec/lib/pwn_spec.rb +0 -10
- data/spec/spec_helper.rb +0 -3
- data/third_party/.gitkeep +0 -0
- data/third_party/http-request-headers-fields-large.txt +0 -1185
- data/third_party/pwn_rdoc.jsonl +0 -1435
- data/third_party/r2-pwn-layout +0 -1
- data/update_pwn.sh +0 -9
- data/upgrade_ruby.sh +0 -42
- data/vagrant/provisioners/apache2.sh +0 -76
- data/vagrant/provisioners/beef.rb +0 -30
- data/vagrant/provisioners/burpsuite_pro.rb +0 -37
- data/vagrant/provisioners/exploit-db.sh +0 -2
- data/vagrant/provisioners/gem.sh +0 -4
- data/vagrant/provisioners/init_env.sh +0 -22
- data/vagrant/provisioners/jenkins.sh +0 -87
- data/vagrant/provisioners/jenkins_ssh-keygen.rb +0 -86
- data/vagrant/provisioners/kali_customize.rb +0 -130
- data/vagrant/provisioners/letsencrypt.rb +0 -35
- data/vagrant/provisioners/metasploit.rb +0 -25
- data/vagrant/provisioners/nmap_all_live_hosts.sh +0 -2
- data/vagrant/provisioners/openvas.sh +0 -23
- data/vagrant/provisioners/openvas_wrappers.sh +0 -2
- data/vagrant/provisioners/post_install.sh +0 -14
- data/vagrant/provisioners/postgres.sh +0 -22
- data/vagrant/provisioners/pwn.sh +0 -13
- data/vagrant/provisioners/rvm.sh +0 -18
- data/vagrant/provisioners/ssllabs-scan.sh +0 -10
- data/vagrant/provisioners/toggle_tor.sh +0 -2
- data/vagrant/provisioners/update_jenkins_plugins.rb +0 -30
- data/vagrant/provisioners/update_os.sh +0 -108
- data/vagrant/provisioners/upload_globals.sh +0 -63
- data/vagrant/provisioners/userland_fdisk.sh +0 -22
- data/vagrant/provisioners/userland_lvm.sh +0 -5
- data/vagrant/provisioners/wpscan.rb +0 -25
- data/vagrant_rsync_third_party.lst +0 -1
- data/vagrant_rsync_userland_template.lst +0 -8
|
@@ -1,841 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
require 'json'
|
|
4
|
-
require 'securerandom'
|
|
5
|
-
require 'uri'
|
|
6
|
-
|
|
7
|
-
module PWN
|
|
8
|
-
module Plugins
|
|
9
|
-
# This plugin converts images to readable text
|
|
10
|
-
# TODO: Convert all rest requests to POST instead of GET
|
|
11
|
-
module DefectDojo
|
|
12
|
-
@@logger = PWN::Plugins::PWNLogger.create
|
|
13
|
-
|
|
14
|
-
# Supported Method Parameters::
|
|
15
|
-
# dd_obj = PWN::Plugins::DefectDojo.login(
|
|
16
|
-
# url: 'required - url of DefectDojo Server',
|
|
17
|
-
# api_version: 'required - api version to use v1 || v2',
|
|
18
|
-
# username: 'required - username to AuthN w/ api v1)',
|
|
19
|
-
# api_key: 'optional - defect dojo api key (will prompt if nil)',
|
|
20
|
-
# proxy: 'optional - proxy all traffic through MITM proxy (defaults to nil)'
|
|
21
|
-
# )
|
|
22
|
-
|
|
23
|
-
public_class_method def self.login(opts = {})
|
|
24
|
-
url = opts[:url]
|
|
25
|
-
opts[:api_version] ? (api_version = opts[:api_version]) : (api_version = 'v2')
|
|
26
|
-
username = opts[:username].to_s.scrub
|
|
27
|
-
|
|
28
|
-
api_key = opts[:api_key].to_s.scrub
|
|
29
|
-
api_key = PWN::Plugins::AuthenticationHelper.mask_password(prompt: 'API Key') if opts[:api_key].nil?
|
|
30
|
-
|
|
31
|
-
proxy = opts[:proxy]
|
|
32
|
-
|
|
33
|
-
dd_obj = {}
|
|
34
|
-
dd_obj[:url] = url
|
|
35
|
-
dd_obj[:authz_header] = "Token #{api_key}"
|
|
36
|
-
dd_obj[:authz_header] = "ApiKey #{username}:#{api_key}" if api_version == 'v1'
|
|
37
|
-
dd_obj[:proxy] = proxy
|
|
38
|
-
dd_obj[:api_version] = api_version
|
|
39
|
-
dd_obj[:api_version] = 'v1' if api_version == 'v1'
|
|
40
|
-
|
|
41
|
-
dd_obj
|
|
42
|
-
rescue StandardError => e
|
|
43
|
-
raise e
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
# Supported Method Parameters::
|
|
47
|
-
# rest_call(
|
|
48
|
-
# dd_obj: 'required dd_obj returned from #login method',
|
|
49
|
-
# rest_call: 'required rest call to make per the schema',
|
|
50
|
-
# http_method: 'optional HTTP method (defaults to GET)
|
|
51
|
-
# http_body: 'optional HTTP body sent in HTTP methods that support it e.g. POST'
|
|
52
|
-
# )
|
|
53
|
-
|
|
54
|
-
private_class_method def self.rest_call(opts = {})
|
|
55
|
-
# Some scan reports are huge and require long timeouts...defaulting to 9 mins.
|
|
56
|
-
request_timeout = 540
|
|
57
|
-
|
|
58
|
-
dd_obj = opts[:dd_obj]
|
|
59
|
-
rest_call = opts[:rest_call].to_s.scrub
|
|
60
|
-
|
|
61
|
-
opts[:http_method] ? (http_method = opts[:http_method].to_s.scrub.to_sym) : (http_method = :get)
|
|
62
|
-
|
|
63
|
-
params = opts[:params]
|
|
64
|
-
http_body = opts[:http_body]
|
|
65
|
-
|
|
66
|
-
content_type = 'application/json; charset=UTF-8'
|
|
67
|
-
|
|
68
|
-
url = dd_obj[:url]
|
|
69
|
-
api_version = dd_obj[:api_version]
|
|
70
|
-
base_dd_api_uri = "#{url}/api/#{api_version}".to_s.scrub
|
|
71
|
-
|
|
72
|
-
browser_obj = PWN::Plugins::TransparentBrowser.open(browser_type: :rest)
|
|
73
|
-
|
|
74
|
-
if dd_obj[:proxy]
|
|
75
|
-
browser_obj = PWN::Plugins::TransparentBrowser.open(
|
|
76
|
-
browser_type: :rest,
|
|
77
|
-
proxy: dd_obj[:proxy]
|
|
78
|
-
)
|
|
79
|
-
end
|
|
80
|
-
|
|
81
|
-
rest_client = browser_obj[:browser]
|
|
82
|
-
rest_request = rest_client::Request
|
|
83
|
-
|
|
84
|
-
case http_method
|
|
85
|
-
when :get
|
|
86
|
-
response = rest_request.execute(
|
|
87
|
-
method: :get,
|
|
88
|
-
url: "#{base_dd_api_uri}/#{rest_call}",
|
|
89
|
-
headers: {
|
|
90
|
-
content_type: content_type,
|
|
91
|
-
authorization: dd_obj[:authz_header],
|
|
92
|
-
params: params
|
|
93
|
-
},
|
|
94
|
-
verify_ssl: false,
|
|
95
|
-
timeout: request_timeout,
|
|
96
|
-
open_timeout: request_timeout
|
|
97
|
-
)
|
|
98
|
-
|
|
99
|
-
when :post
|
|
100
|
-
if http_body.key?(:multipart)
|
|
101
|
-
# Hack to fix name="tags[]" to name="tags" to allow for multi-tag submission
|
|
102
|
-
# otherwise we could just used payload = http_body
|
|
103
|
-
multipart = rest_client::Payload::Multipart.new(http_body)
|
|
104
|
-
content_type = multipart.headers['Content-Type']
|
|
105
|
-
multipart_massaged = multipart.to_s.gsub(
|
|
106
|
-
'Content-Disposition: form-data; name="tags[]"',
|
|
107
|
-
'Content-Disposition: form-data; name="tags"'
|
|
108
|
-
)
|
|
109
|
-
base = rest_client::Payload::Base.new(multipart_massaged)
|
|
110
|
-
payload = base.to_s
|
|
111
|
-
else
|
|
112
|
-
payload = http_body.to_json
|
|
113
|
-
end
|
|
114
|
-
|
|
115
|
-
response = rest_request.execute(
|
|
116
|
-
method: :post,
|
|
117
|
-
url: "#{base_dd_api_uri}/#{rest_call}",
|
|
118
|
-
headers: {
|
|
119
|
-
content_type: content_type,
|
|
120
|
-
authorization: dd_obj[:authz_header]
|
|
121
|
-
},
|
|
122
|
-
payload: payload,
|
|
123
|
-
verify_ssl: false,
|
|
124
|
-
timeout: request_timeout,
|
|
125
|
-
open_timeout: request_timeout
|
|
126
|
-
)
|
|
127
|
-
else
|
|
128
|
-
raise @@logger.error("Unsupported HTTP Method #{http_method} for #{self} Plugin")
|
|
129
|
-
end
|
|
130
|
-
|
|
131
|
-
sleep 3
|
|
132
|
-
|
|
133
|
-
response
|
|
134
|
-
rescue RestClient::ExceptionWithResponse => e
|
|
135
|
-
puts Time.now.strftime('%Y-%m-%d %H:%M:%S.%N %z')
|
|
136
|
-
puts "Module: #{self}"
|
|
137
|
-
puts "URL: #{base_dd_api_uri}/#{rest_call}"
|
|
138
|
-
puts "PARAMS: #{params.inspect}"
|
|
139
|
-
puts "HTTP POST BODY: #{http_body.inspect}" if http_body
|
|
140
|
-
puts "#{e}\n#{e.response}\n\n\n"
|
|
141
|
-
rescue StandardError, SystemExit, Interrupt => e
|
|
142
|
-
dd_obj = logout(dd_obj) unless dd_obj.nil?
|
|
143
|
-
raise e
|
|
144
|
-
end
|
|
145
|
-
|
|
146
|
-
# Supported Method Parameters::
|
|
147
|
-
# tool_configuration_resource_uri_by_name(
|
|
148
|
-
# dd_obj: 'required dd_obj returned from #login method',
|
|
149
|
-
# tool_config_name: 'required tool configuration name'
|
|
150
|
-
# )
|
|
151
|
-
|
|
152
|
-
private_class_method def self.tool_configuration_resource_uri_by_name(opts = {})
|
|
153
|
-
dd_obj = opts[:dd_obj]
|
|
154
|
-
api_version = dd_obj[:api_version]
|
|
155
|
-
tool_config_name = opts[:tool_config_name].to_s.scrub
|
|
156
|
-
|
|
157
|
-
tool_configuration_list = self.tool_configuration_list(dd_obj: dd_obj)
|
|
158
|
-
if api_version == 'v1'
|
|
159
|
-
tool_configuration_by_name_object = tool_configuration_list[:objects].select do |tool_configuration|
|
|
160
|
-
tool_configuration[:name] == tool_config_name
|
|
161
|
-
end
|
|
162
|
-
end
|
|
163
|
-
|
|
164
|
-
if api_version == 'v2'
|
|
165
|
-
tool_configuration_by_name_object = tool_configuration_list[:results].select do |tool_configuration|
|
|
166
|
-
tool_configuration[:name] == tool_config_name
|
|
167
|
-
end
|
|
168
|
-
end
|
|
169
|
-
|
|
170
|
-
tool_configuration_by_name_object.first[:resource_uri] if api_version == 'v1'
|
|
171
|
-
tool_configuration_by_name_object.first[:id] if api_version == 'v2'
|
|
172
|
-
rescue StandardError, SystemExit, Interrupt => e
|
|
173
|
-
dd_obj = logout(dd_obj) unless dd_obj.nil?
|
|
174
|
-
raise e
|
|
175
|
-
end
|
|
176
|
-
|
|
177
|
-
# Supported Method Parameters::
|
|
178
|
-
# product_list = PWN::Plugins::DefectDojo.product_list(
|
|
179
|
-
# dd_obj: 'required dd_obj returned from #login method',
|
|
180
|
-
# id: 'optional - retrieve single product by id, otherwise return all'
|
|
181
|
-
# )
|
|
182
|
-
|
|
183
|
-
public_class_method def self.product_list(opts = {})
|
|
184
|
-
dd_obj = opts[:dd_obj]
|
|
185
|
-
opts[:id] ? (rest_call = "products/#{opts[:id].to_i}") : (rest_call = 'products')
|
|
186
|
-
|
|
187
|
-
response = rest_call(
|
|
188
|
-
dd_obj: dd_obj,
|
|
189
|
-
rest_call: rest_call
|
|
190
|
-
)
|
|
191
|
-
|
|
192
|
-
# Return array containing the post-authenticated DefectDojo REST API token
|
|
193
|
-
JSON.parse(response, symbolize_names: true)
|
|
194
|
-
rescue StandardError => e
|
|
195
|
-
raise e
|
|
196
|
-
end
|
|
197
|
-
|
|
198
|
-
# Supported Method Parameters::
|
|
199
|
-
# engagement_list = PWN::Plugins::DefectDojo.engagement_list(
|
|
200
|
-
# dd_obj: 'required dd_obj returned from #login method',
|
|
201
|
-
# id: 'optional - retrieve single engagement by id, otherwise return all'
|
|
202
|
-
# )
|
|
203
|
-
|
|
204
|
-
public_class_method def self.engagement_list(opts = {})
|
|
205
|
-
dd_obj = opts[:dd_obj]
|
|
206
|
-
opts[:id] ? (rest_call = "engagements/#{opts[:id].to_i}") : (rest_call = 'engagements')
|
|
207
|
-
|
|
208
|
-
params = {
|
|
209
|
-
o: 'name',
|
|
210
|
-
limit: 25
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
# Aggregate all engagements into a single hash
|
|
214
|
-
response = rest_call(
|
|
215
|
-
dd_obj: dd_obj,
|
|
216
|
-
rest_call: rest_call,
|
|
217
|
-
params: params
|
|
218
|
-
)
|
|
219
|
-
|
|
220
|
-
engagements = JSON.parse(response, symbolize_names: true)
|
|
221
|
-
total_engagements_avail = engagements[:count]
|
|
222
|
-
total_enagements_aggregated = engagements[:results]
|
|
223
|
-
|
|
224
|
-
while total_engagements_avail != total_enagements_aggregated.length
|
|
225
|
-
next_page = URI.parse(engagements[:next].to_s)
|
|
226
|
-
next_page_params = URI.decode_www_form(next_page.query).to_h
|
|
227
|
-
response = rest_call(
|
|
228
|
-
dd_obj: dd_obj,
|
|
229
|
-
rest_call: rest_call,
|
|
230
|
-
params: next_page_params
|
|
231
|
-
)
|
|
232
|
-
engagements = JSON.parse(response, symbolize_names: true)
|
|
233
|
-
|
|
234
|
-
# Append the next page of engagements to the existing total_enagements_aggregated array
|
|
235
|
-
total_enagements_aggregated += engagements[:results]
|
|
236
|
-
end
|
|
237
|
-
|
|
238
|
-
# Return all the engagements
|
|
239
|
-
{
|
|
240
|
-
count: total_engagements_avail,
|
|
241
|
-
next: nil,
|
|
242
|
-
previous: nil,
|
|
243
|
-
results: total_enagements_aggregated,
|
|
244
|
-
prefetch: {}
|
|
245
|
-
}
|
|
246
|
-
rescue StandardError => e
|
|
247
|
-
raise e
|
|
248
|
-
end
|
|
249
|
-
|
|
250
|
-
# Supported Method Parameters::
|
|
251
|
-
# engagement_create_response = PWN::Plugins::DefectDojo.engagement_create(
|
|
252
|
-
# dd_obj: 'required - dd_obj returned from #login method',
|
|
253
|
-
# name: 'required - name of the engagement',
|
|
254
|
-
# description: 'optional - description of engagement',
|
|
255
|
-
# engagement_type: 'optional - type of engagement Interactive||CI/CD (defaults to CI/CD)',
|
|
256
|
-
# status: 'optional - status of the engagement In Progress || On Hold (defaults to In Progress)',
|
|
257
|
-
# lead_username: 'required - username of lead to tie to engagement',
|
|
258
|
-
# product_name: 'required - product name in which to create engagement',
|
|
259
|
-
# test_strategy: 'required - URL of test strategy documentation (e.g. OWASP ASVS URL)',
|
|
260
|
-
# orchestration_engine: 'optional - name of orchestration engine tied to CI/CD engagement',
|
|
261
|
-
# build_server: 'optional - name of build server tied to CI/CD engagement',
|
|
262
|
-
# scm_server: 'optional - name of SCM server tied to CI/CD engagement',
|
|
263
|
-
# api_test: 'optional - boolean to set an engagement as an api assessment (defaults to false)',
|
|
264
|
-
# pen_test: 'optional - boolean to set an engagement as a manual penetration test (defaults to false)',
|
|
265
|
-
# threat_model: 'optional - boolean to set an engagement as a threat model (defaults to false)',
|
|
266
|
-
# check_list: 'optional - boolean to set an engagement as a checkbox assessment (defaults to false)',
|
|
267
|
-
# first_contacted: 'optional - date of engagement request e.g. 2018-06-18 (Defaults to current day)',
|
|
268
|
-
# target_start: 'optional - date to start enagement e.g. 2018-06-19 (Defaults to current day)',
|
|
269
|
-
# target_end: 'optional - date of engagement completion e.g. 2018-06-20 (Defaults to current day)'
|
|
270
|
-
# )
|
|
271
|
-
|
|
272
|
-
public_class_method def self.engagement_create(opts = {})
|
|
273
|
-
http_body = {}
|
|
274
|
-
|
|
275
|
-
dd_obj = opts[:dd_obj]
|
|
276
|
-
api_version = dd_obj[:api_version]
|
|
277
|
-
|
|
278
|
-
# HTTP POST body options w/ optional params set to default values
|
|
279
|
-
# Defaults to true
|
|
280
|
-
http_body[:active] = true
|
|
281
|
-
|
|
282
|
-
http_body[:name] = opts[:name]
|
|
283
|
-
|
|
284
|
-
http_body[:description] = opts[:description]
|
|
285
|
-
|
|
286
|
-
opts[:engagment_type] ? (http_body[:engagement_type] = opts[:engagement_type]) : (http_body[:engagement_type] = 'CI/CD')
|
|
287
|
-
|
|
288
|
-
status = opts[:status].to_s.strip.chomp.scrub
|
|
289
|
-
|
|
290
|
-
case status
|
|
291
|
-
when 'In Progress', 'On Hold', ''
|
|
292
|
-
# Defaults to 'In Progress'
|
|
293
|
-
status == '' ? (http_body[:status] = 'In Progress') : (http_body[:status] = status)
|
|
294
|
-
when 'Completed'
|
|
295
|
-
raise 'Completed status not implemented for #engagement_create - use #engagement_update instead'
|
|
296
|
-
else
|
|
297
|
-
raise "Unknown engagement status: #{opts[:status]}. Options for this method are 'In Progress' || 'On Hold'"
|
|
298
|
-
end
|
|
299
|
-
|
|
300
|
-
# Ok lets determine the resource_uri for the lead username
|
|
301
|
-
lead_username = opts[:lead_username].to_s.strip.chomp.scrub
|
|
302
|
-
user_list = self.user_list(dd_obj: dd_obj)
|
|
303
|
-
if api_version == 'v1'
|
|
304
|
-
user_by_username_object = user_list[:objects].select do |user|
|
|
305
|
-
user[:username] == lead_username
|
|
306
|
-
end
|
|
307
|
-
http_body[:lead] = user_by_username_object.first[:resource_uri]
|
|
308
|
-
end
|
|
309
|
-
|
|
310
|
-
if api_version == 'v2'
|
|
311
|
-
user_by_username_object = user_list[:results].select do |user|
|
|
312
|
-
user[:username] == lead_username
|
|
313
|
-
end
|
|
314
|
-
# Should only ever return 1 result so we should be good here
|
|
315
|
-
http_body[:lead] = user_by_username_object.first[:id]
|
|
316
|
-
end
|
|
317
|
-
|
|
318
|
-
# Ok lets determine the resource_uri for the product name
|
|
319
|
-
product_name = opts[:product_name].to_s.strip.chomp.scrub
|
|
320
|
-
product_list = self.product_list(dd_obj: dd_obj)
|
|
321
|
-
|
|
322
|
-
if api_version == 'v1'
|
|
323
|
-
product_by_name_object = product_list[:objects].select do |prod|
|
|
324
|
-
prod[:name] == product_name
|
|
325
|
-
end
|
|
326
|
-
# Should only ever return 1 result so we should be good here
|
|
327
|
-
http_body[:product] = product_by_name_object.first[:resource_uri]
|
|
328
|
-
end
|
|
329
|
-
|
|
330
|
-
if api_version == 'v2'
|
|
331
|
-
product_by_name_object = product_list[:results].select do |prod|
|
|
332
|
-
prod[:name] == product_name
|
|
333
|
-
end
|
|
334
|
-
# Should only ever return 1 result so we should be good here
|
|
335
|
-
http_body[:product] = product_by_name_object.first[:id]
|
|
336
|
-
end
|
|
337
|
-
|
|
338
|
-
http_body[:test_strategy] = opts[:test_strategy]
|
|
339
|
-
|
|
340
|
-
# Ok lets determine the resource_uri orchestration, build_server, and scm_server
|
|
341
|
-
orchestration_engine = opts[:orchestration_engine].to_s.strip.chomp.scrub
|
|
342
|
-
http_body[:orchestration_engine] = tool_configuration_resource_uri_by_name(
|
|
343
|
-
dd_obj: dd_obj,
|
|
344
|
-
tool_config_name: orchestration_engine
|
|
345
|
-
)
|
|
346
|
-
|
|
347
|
-
build_server = opts[:build_server].to_s.strip.chomp.scrub
|
|
348
|
-
http_body[:build_server] = tool_configuration_resource_uri_by_name(
|
|
349
|
-
dd_obj: dd_obj,
|
|
350
|
-
tool_config_name: build_server
|
|
351
|
-
)
|
|
352
|
-
|
|
353
|
-
scm_server = opts[:scm_server].to_s.strip.chomp.scrub
|
|
354
|
-
http_body[:source_code_management_server] = tool_configuration_resource_uri_by_name(
|
|
355
|
-
dd_obj: dd_obj,
|
|
356
|
-
tool_config_name: scm_server
|
|
357
|
-
)
|
|
358
|
-
|
|
359
|
-
# Defaults to false
|
|
360
|
-
opts[:api_test] ? (http_body[:api_test] = true) : (http_body[:api_test] = false)
|
|
361
|
-
|
|
362
|
-
# Defaults to false
|
|
363
|
-
opts[:pen_test] ? (http_body[:pen_test] = true) : (http_body[:pen_test] = false)
|
|
364
|
-
|
|
365
|
-
# Defaults to false
|
|
366
|
-
opts[:threat_model] ? (http_body[:threat_model] = true) : (http_body[:threat_model] = false)
|
|
367
|
-
|
|
368
|
-
# Defaults to false
|
|
369
|
-
opts[:check_list] ? (http_body[:check_list] = true) : (http_body[:check_list] = false)
|
|
370
|
-
|
|
371
|
-
# Defaults to Time.now.strftime('%Y-%m-%d')
|
|
372
|
-
opts[:first_contacted] ? (http_body[:first_contacted] = opts[:first_contacted]) : (http_body[:first_contacted] = Time.now.strftime('%Y-%m-%d'))
|
|
373
|
-
|
|
374
|
-
# Defaults to Time.now.strftime('%Y-%m-%d')
|
|
375
|
-
opts[:target_start] ? (http_body[:target_start] = opts[:target_start]) : (http_body[:target_start] = Time.now.strftime('%Y-%m-%d'))
|
|
376
|
-
|
|
377
|
-
# Defaults to Time.now.strftime('%Y-%m-%d')
|
|
378
|
-
opts[:target_end] ? (http_body[:target_end] = opts[:target_end]) : (http_body[:target_end] = Time.now.strftime('%Y-%m-%d'))
|
|
379
|
-
|
|
380
|
-
# Defaults to false
|
|
381
|
-
http_body[:done_testing] = false
|
|
382
|
-
|
|
383
|
-
rest_call(
|
|
384
|
-
dd_obj: dd_obj,
|
|
385
|
-
rest_call: 'engagements/',
|
|
386
|
-
http_method: :post,
|
|
387
|
-
http_body: http_body
|
|
388
|
-
)
|
|
389
|
-
rescue StandardError => e
|
|
390
|
-
raise e
|
|
391
|
-
end
|
|
392
|
-
|
|
393
|
-
# Supported Method Parameters::
|
|
394
|
-
# test_list = PWN::Plugins::DefectDojo.test_list(
|
|
395
|
-
# dd_obj: 'required dd_obj returned from #login method',
|
|
396
|
-
# id: 'optional - retrieve single test by id, otherwise return all'
|
|
397
|
-
# )
|
|
398
|
-
|
|
399
|
-
public_class_method def self.test_list(opts = {})
|
|
400
|
-
dd_obj = opts[:dd_obj]
|
|
401
|
-
opts[:id] ? (rest_call = "tests/#{opts[:id].to_i}") : (rest_call = 'tests')
|
|
402
|
-
|
|
403
|
-
response = rest_call(
|
|
404
|
-
dd_obj: dd_obj,
|
|
405
|
-
rest_call: rest_call
|
|
406
|
-
)
|
|
407
|
-
|
|
408
|
-
# Return array containing the post-authenticated DefectDojo REST API token
|
|
409
|
-
JSON.parse(response, symbolize_names: true)
|
|
410
|
-
rescue StandardError => e
|
|
411
|
-
raise e
|
|
412
|
-
end
|
|
413
|
-
|
|
414
|
-
# Supported Method Parameters::
|
|
415
|
-
# importscan_response = PWN::Plugins::DefectDojo.importscan(
|
|
416
|
-
# dd_obj: 'required - dd_obj returned from #login method',
|
|
417
|
-
# engagement_name: 'required - name of engagement to associate w/ scan',
|
|
418
|
-
# scan_type: 'required - type of scan importing (see <DEFECTDOJO_URL>/admin/dojo/test_type/ for listing)',
|
|
419
|
-
# file: 'required - path of scan results file',
|
|
420
|
-
# lead_username: 'required - username of lead to tie to scan',
|
|
421
|
-
# tags: 'optional - comma-delimited list of tag names to tie to scan',
|
|
422
|
-
# minimum_severity: 'optional - minimum finding severity Info||Low||Medium||High||Critical (Defaults to Info)',
|
|
423
|
-
# scan_date: 'optional - date in which scan was kicked off (defaults to now)',
|
|
424
|
-
# verified: 'optional - flag finding as verified by a tester (defaults to false)',
|
|
425
|
-
# create_finding_groups: 'optional - flag to create finding groups (defaults to false)'
|
|
426
|
-
# close_old_findings_product_scope: 'optional - flag to close old findings from engagement (defaults to false)',
|
|
427
|
-
# close_old_findings: 'optional - flag to close old findings, regardless of engagement (defaults to false)',
|
|
428
|
-
# push_to_jira: 'optional - flag to push findings to JIRA (defaults to false)'
|
|
429
|
-
# )
|
|
430
|
-
|
|
431
|
-
public_class_method def self.importscan(opts = {})
|
|
432
|
-
http_body = {}
|
|
433
|
-
|
|
434
|
-
dd_obj = opts[:dd_obj]
|
|
435
|
-
api_version = dd_obj[:api_version]
|
|
436
|
-
|
|
437
|
-
# HTTP POST body options w/ optional params set to default values
|
|
438
|
-
# Defaults to true
|
|
439
|
-
http_body[:active] = true
|
|
440
|
-
|
|
441
|
-
# Ok lets determine the resource_uri for the engagement name
|
|
442
|
-
engagement_name = opts[:engagement_name].to_s.strip.chomp.scrub
|
|
443
|
-
engagement_list = self.engagement_list(dd_obj: dd_obj)
|
|
444
|
-
|
|
445
|
-
if api_version == 'v1'
|
|
446
|
-
engagement_by_name_object = engagement_list[:objects].select do |engagement|
|
|
447
|
-
engagement[:name] == engagement_name
|
|
448
|
-
end
|
|
449
|
-
# Should only ever return 1 result so we should be good here
|
|
450
|
-
http_body[:engagement] = engagement_by_name_object.first[:resource_uri]
|
|
451
|
-
end
|
|
452
|
-
|
|
453
|
-
if api_version == 'v2'
|
|
454
|
-
engagement_by_name_object = engagement_list[:results].select do |engagement|
|
|
455
|
-
engagement[:name] == engagement_name
|
|
456
|
-
end
|
|
457
|
-
# Should only ever return 1 result so we should be good here
|
|
458
|
-
http_body[:engagement] = engagement_by_name_object.first[:id]
|
|
459
|
-
end
|
|
460
|
-
|
|
461
|
-
http_body[:scan_type] = opts[:scan_type].to_s.strip.chomp.scrub
|
|
462
|
-
|
|
463
|
-
# Necessary to upload file to remote host
|
|
464
|
-
http_body[:multipart] = true
|
|
465
|
-
http_body[:file] = File.new(opts[:file].to_s.strip.chomp.scrub, 'rb') if File.exist?(opts[:file].to_s.strip.chomp.scrub)
|
|
466
|
-
|
|
467
|
-
http_body[:test_title] = opts[:test_title]
|
|
468
|
-
|
|
469
|
-
# Ok lets determine the resource_uri for the lead username
|
|
470
|
-
lead_username = opts[:lead_username].to_s.strip.chomp.scrub
|
|
471
|
-
user_list = self.user_list(dd_obj: dd_obj)
|
|
472
|
-
|
|
473
|
-
if api_version == 'v1'
|
|
474
|
-
user_by_username_object = user_list[:objects].select do |user|
|
|
475
|
-
user[:username] == lead_username
|
|
476
|
-
end
|
|
477
|
-
# Should only ever return 1 result so we should be good here
|
|
478
|
-
http_body[:lead] = user_by_username_object.first[:resource_uri]
|
|
479
|
-
end
|
|
480
|
-
|
|
481
|
-
if api_version == 'v2'
|
|
482
|
-
user_by_username_object = user_list[:results].select do |user|
|
|
483
|
-
user[:username] == lead_username
|
|
484
|
-
end
|
|
485
|
-
# Should only ever return 1 result so we should be good here
|
|
486
|
-
http_body[:lead] = user_by_username_object.first[:id]
|
|
487
|
-
end
|
|
488
|
-
|
|
489
|
-
http_body[:tags] = opts[:tags].to_s.strip.chomp.scrub.delete("\s").split(',') if opts[:tags]
|
|
490
|
-
|
|
491
|
-
minimum_severity = opts[:minimum_severity].to_s.strip.chomp.scrub.downcase.capitalize
|
|
492
|
-
case minimum_severity
|
|
493
|
-
when '', 'Info', 'Low', 'Medium', 'High', 'Critical'
|
|
494
|
-
# Defaults to 'Info'
|
|
495
|
-
minimum_severity == '' ? (http_body[:minimum_severity] = 'Info') : (http_body[:minimum_severity] = minimum_severity)
|
|
496
|
-
else
|
|
497
|
-
raise "Unknown minimum severity: #{opts[:minimum_severity]}. Options are Info||Low||Medium||High||Critical'"
|
|
498
|
-
end
|
|
499
|
-
|
|
500
|
-
# Defaults to Time.now.strftime('%Y-%m-%d')
|
|
501
|
-
opts[:scan_date] ? (http_body[:scan_date] = opts[:scan_date]) : (http_body[:scan_date] = Time.now.strftime('%Y-%m-%d'))
|
|
502
|
-
|
|
503
|
-
# Defaults to false
|
|
504
|
-
opts[:verified] ? (http_body[:verified] = true) : (http_body[:verified] = false)
|
|
505
|
-
|
|
506
|
-
valid_group_by = %w[
|
|
507
|
-
component_name
|
|
508
|
-
component_name+component_version
|
|
509
|
-
file_path
|
|
510
|
-
finding_title
|
|
511
|
-
]
|
|
512
|
-
|
|
513
|
-
group_by = opts[:group_by]
|
|
514
|
-
# If group_by is set, ensure we have a valid group_by value
|
|
515
|
-
raise "ERROR: Invalid group_by value: #{group_by}. Options are 'product' or 'engagement'" unless valid_group_by.include?(group_by) || group_by.nil?
|
|
516
|
-
|
|
517
|
-
http_body[:group_by] = group_by if group_by
|
|
518
|
-
|
|
519
|
-
opts[:create_finding_groups] ? (http_body[:create_finding_groups_for_all_findings] = true) : (http_body[:create_finding_groups_for_all_findings] = false)
|
|
520
|
-
|
|
521
|
-
opts[:close_old_findings_product_scope] ? (http_body[:close_old_findings_product_scope] = true) : (http_body[:close_old_findings_product_scope] = false)
|
|
522
|
-
|
|
523
|
-
opts[:close_old_findings] = true if opts[:close_old_findings_product_scope]
|
|
524
|
-
|
|
525
|
-
opts[:close_old_findings] ? (http_body[:close_old_findings] = true) : (http_body[:close_old_findings] = false)
|
|
526
|
-
|
|
527
|
-
opts[:push_to_jira] ? (http_body[:push_to_jira] = true) : (http_body[:push_to_jira] = false)
|
|
528
|
-
|
|
529
|
-
api_path = 'import-scan/'
|
|
530
|
-
api_path = 'importscan/' if api_version == 'v1'
|
|
531
|
-
|
|
532
|
-
rest_call(
|
|
533
|
-
dd_obj: dd_obj,
|
|
534
|
-
rest_call: api_path,
|
|
535
|
-
http_method: :post,
|
|
536
|
-
http_body: http_body
|
|
537
|
-
)
|
|
538
|
-
rescue StandardError => e
|
|
539
|
-
raise e
|
|
540
|
-
end
|
|
541
|
-
|
|
542
|
-
# Supported Method Parameters::
|
|
543
|
-
# reimportscan_response = PWN::Plugins::DefectDojo.reimportscan(
|
|
544
|
-
# dd_obj: 'required - dd_obj returned from #login method',
|
|
545
|
-
# engagement_name: 'required - name of engagement to associate w/ scan',
|
|
546
|
-
# scan_type: 'required - type of scan importing (see <DEFECTDOJO_URL>/admin/dojo/test_type/ for listing)',
|
|
547
|
-
# file: 'required - path of scan results file',
|
|
548
|
-
# tags: 'optional - comma-delimited list of tag names to tie to scan for unique test resource_uri retrival',
|
|
549
|
-
# test_resource_uri: 'optional - alternative to tag names to know which test to reimport',
|
|
550
|
-
# minimum_severity: 'optional - minimum finding severity Info||Low||Medium||High||Critical (Defaults to Info)',
|
|
551
|
-
# scan_date: 'optional - date in which scan was kicked off (defaults to now)',
|
|
552
|
-
# verified: 'optional - flag finding as verified by a tester (defaults to false)',
|
|
553
|
-
# create_finding_groups: 'optional - flag to create finding groups (defaults to false)',
|
|
554
|
-
# close_old_findings_product_scope: 'optional - flag to close old findings from engagement (defaults to false)',
|
|
555
|
-
# close_old_findings: 'optional - flag to close old findings, regardless of engagement (defaults to false)',
|
|
556
|
-
# push_to_jira: 'optional - flag to push findings to JIRA (defaults to false)'
|
|
557
|
-
# )
|
|
558
|
-
|
|
559
|
-
public_class_method def self.reimportscan(opts = {})
|
|
560
|
-
http_body = {}
|
|
561
|
-
|
|
562
|
-
dd_obj = opts[:dd_obj]
|
|
563
|
-
api_version = dd_obj[:api_version]
|
|
564
|
-
|
|
565
|
-
# HTTP POST body options w/ optional params set to default values
|
|
566
|
-
# Defaults to true
|
|
567
|
-
http_body[:active] = true
|
|
568
|
-
|
|
569
|
-
# Ok lets determine the resource_uri for the engagement name
|
|
570
|
-
engagement_name = opts[:engagement_name].to_s.strip.chomp.scrub
|
|
571
|
-
engagement_list = self.engagement_list(dd_obj: dd_obj)
|
|
572
|
-
if api_version == 'v1'
|
|
573
|
-
engagement_by_name_object = engagement_list[:objects].select do |engagement|
|
|
574
|
-
engagement[:name] == engagement_name
|
|
575
|
-
end
|
|
576
|
-
# Should only ever return 1 result so we should be good here
|
|
577
|
-
engagement_resource_uri = engagement_by_name_object.first[:resource_uri]
|
|
578
|
-
end
|
|
579
|
-
|
|
580
|
-
if api_version == 'v2'
|
|
581
|
-
engagement_by_name_object = engagement_list[:results].select do |engagement|
|
|
582
|
-
engagement[:name] == engagement_name
|
|
583
|
-
end
|
|
584
|
-
# Should only ever return 1 result so we should be good here
|
|
585
|
-
engagement_resource_uri = engagement_by_name_object.first[:id]
|
|
586
|
-
end
|
|
587
|
-
|
|
588
|
-
# TODO: lookup scan_type for test resource_uri since the scan_type should never change
|
|
589
|
-
http_body[:scan_type] = opts[:scan_type].to_s.strip.chomp.scrub
|
|
590
|
-
|
|
591
|
-
# Necessary to upload file to remote host
|
|
592
|
-
http_body[:multipart] = true
|
|
593
|
-
http_body[:file] = File.new(opts[:file].to_s.strip.chomp.scrub, 'rb') if File.exist?(opts[:file].to_s.strip.chomp.scrub)
|
|
594
|
-
|
|
595
|
-
# Ok lets determine the resource_uri for the test we're looking to remimport
|
|
596
|
-
test_list = self.test_list(dd_obj: dd_obj)
|
|
597
|
-
|
|
598
|
-
if api_version == 'v1'
|
|
599
|
-
tests_by_engagement_object = test_list[:objects].select do |test|
|
|
600
|
-
test[:engagement] == engagement_resource_uri
|
|
601
|
-
end
|
|
602
|
-
end
|
|
603
|
-
|
|
604
|
-
if api_version == 'v2'
|
|
605
|
-
tests_by_engagement_object = test_list[:results].select do |test|
|
|
606
|
-
test[:engagement] == engagement_resource_uri
|
|
607
|
-
end
|
|
608
|
-
end
|
|
609
|
-
|
|
610
|
-
http_body[:tags] = opts[:tags].to_s.strip.chomp.scrub.delete("\s").split(',') if opts[:tags]
|
|
611
|
-
|
|
612
|
-
http_body[:test] = opts[:test_resource_uri] if opts[:test_resource_uri]
|
|
613
|
-
|
|
614
|
-
minimum_severity = opts[:minimum_severity].to_s.strip.chomp.scrub.downcase.capitalize
|
|
615
|
-
case minimum_severity
|
|
616
|
-
when '', 'Info', 'Low', 'Medium', 'High', 'Critical'
|
|
617
|
-
# Defaults to 'Info'
|
|
618
|
-
minimum_severity == '' ? (http_body[:minimum_severity] = 'Info') : (http_body[:minimum_severity] = minimum_severity)
|
|
619
|
-
else
|
|
620
|
-
raise "Unknown minimum severity: #{opts[:minimum_severity]}. Options are Info||Low||Medium||High||Critical'"
|
|
621
|
-
end
|
|
622
|
-
|
|
623
|
-
# Defaults to Time.now.strftime('%Y-%m-%d')
|
|
624
|
-
opts[:scan_date] ? (http_body[:scan_date] = opts[:scan_date]) : (http_body[:scan_date] = Time.now.strftime('%Y/%m/%d'))
|
|
625
|
-
|
|
626
|
-
# Defaults to false
|
|
627
|
-
opts[:verified] ? (http_body[:verified] = true) : (http_body[:verified] = false)
|
|
628
|
-
|
|
629
|
-
opts[:create_finding_groups] ? (http_body[:create_finding_groups_for_all_findings] = true) : (http_body[:create_finding_groups_for_all_findings] = false)
|
|
630
|
-
|
|
631
|
-
opts[:close_old_findings_product_scope] ? (http_body[:close_old_findings_product_scope] = true) : (http_body[:close_old_findings_product_scope] = false)
|
|
632
|
-
|
|
633
|
-
opts[:close_old_findings] = true if opts[:close_old_findings_product_scope]
|
|
634
|
-
|
|
635
|
-
opts[:close_old_findings] ? (http_body[:close_old_findings] = true) : (http_body[:close_old_findings] = false)
|
|
636
|
-
|
|
637
|
-
opts[:push_to_jira] ? (http_body[:push_to_jira] = true) : (http_body[:push_to_jira] = false)
|
|
638
|
-
|
|
639
|
-
api_path = 'reimport-scan/'
|
|
640
|
-
api_path = 'reimportscan/' if api_version == 'v1'
|
|
641
|
-
|
|
642
|
-
rest_call(
|
|
643
|
-
dd_obj: dd_obj,
|
|
644
|
-
rest_call: api_path,
|
|
645
|
-
http_method: :post,
|
|
646
|
-
http_body: http_body
|
|
647
|
-
)
|
|
648
|
-
rescue StandardError => e
|
|
649
|
-
raise e
|
|
650
|
-
end
|
|
651
|
-
|
|
652
|
-
# Supported Method Parameters::
|
|
653
|
-
# finding_list = PWN::Plugins::DefectDojo.finding_list(
|
|
654
|
-
# dd_obj: 'required dd_obj returned from #login method',
|
|
655
|
-
# id: 'optional - retrieve single finding by id, otherwise return all'
|
|
656
|
-
# )
|
|
657
|
-
|
|
658
|
-
public_class_method def self.finding_list(opts = {})
|
|
659
|
-
dd_obj = opts[:dd_obj]
|
|
660
|
-
opts[:id] ? (rest_call = "findings/#{opts[:id].to_i}") : (rest_call = 'findings')
|
|
661
|
-
|
|
662
|
-
response = rest_call(
|
|
663
|
-
dd_obj: dd_obj,
|
|
664
|
-
rest_call: rest_call
|
|
665
|
-
)
|
|
666
|
-
|
|
667
|
-
# Return array containing the post-authenticated DefectDojo REST API token
|
|
668
|
-
JSON.parse(response, symbolize_names: true)
|
|
669
|
-
rescue StandardError => e
|
|
670
|
-
raise e
|
|
671
|
-
end
|
|
672
|
-
|
|
673
|
-
# Supported Method Parameters::
|
|
674
|
-
# user_list = PWN::Plugins::DefectDojo.user_list(
|
|
675
|
-
# dd_obj: 'required dd_obj returned from #login method',
|
|
676
|
-
# id: 'optional - retrieve single user by id, otherwise return all'
|
|
677
|
-
# )
|
|
678
|
-
|
|
679
|
-
public_class_method def self.user_list(opts = {})
|
|
680
|
-
dd_obj = opts[:dd_obj]
|
|
681
|
-
opts[:id] ? (rest_call = "users/#{opts[:id].to_i}") : (rest_call = 'users')
|
|
682
|
-
|
|
683
|
-
response = rest_call(
|
|
684
|
-
dd_obj: dd_obj,
|
|
685
|
-
rest_call: rest_call
|
|
686
|
-
)
|
|
687
|
-
|
|
688
|
-
# Return array containing the post-authenticated DefectDojo REST API token
|
|
689
|
-
JSON.parse(response, symbolize_names: true)
|
|
690
|
-
rescue StandardError => e
|
|
691
|
-
raise e
|
|
692
|
-
end
|
|
693
|
-
|
|
694
|
-
# Supported Method Parameters::
|
|
695
|
-
# tool_configuration_list = PWN::Plugins::DefectDojo.tool_configuration_list(
|
|
696
|
-
# dd_obj: 'required dd_obj returned from #login method',
|
|
697
|
-
# id: 'optional - retrieve single test by id, otherwise return all'
|
|
698
|
-
# )
|
|
699
|
-
|
|
700
|
-
public_class_method def self.tool_configuration_list(opts = {})
|
|
701
|
-
dd_obj = opts[:dd_obj]
|
|
702
|
-
opts[:id] ? (rest_call = "tool_configurations/#{opts[:id].to_i}") : (rest_call = 'tool_configurations')
|
|
703
|
-
|
|
704
|
-
response = rest_call(
|
|
705
|
-
dd_obj: dd_obj,
|
|
706
|
-
rest_call: rest_call
|
|
707
|
-
)
|
|
708
|
-
|
|
709
|
-
# Return array containing the post-authenticated DefectDojo REST API token
|
|
710
|
-
JSON.parse(response, symbolize_names: true)
|
|
711
|
-
rescue StandardError => e
|
|
712
|
-
raise e
|
|
713
|
-
end
|
|
714
|
-
|
|
715
|
-
# Supported Method Parameters::
|
|
716
|
-
# PWN::Plugins::DefectDojo.logout(
|
|
717
|
-
# dd_obj: 'required dd_obj returned from #login method'
|
|
718
|
-
# )
|
|
719
|
-
|
|
720
|
-
public_class_method def self.logout(opts = {})
|
|
721
|
-
dd_obj = opts[:dd_obj]
|
|
722
|
-
@@logger.info('Logging out...')
|
|
723
|
-
# TODO: Terminate Session if Possible via API Call
|
|
724
|
-
dd_obj = nil
|
|
725
|
-
rescue StandardError => e
|
|
726
|
-
raise e
|
|
727
|
-
end
|
|
728
|
-
|
|
729
|
-
# Author(s):: 0day Inc. <support@0dayinc.com>
|
|
730
|
-
|
|
731
|
-
public_class_method def self.authors
|
|
732
|
-
"AUTHOR(S):
|
|
733
|
-
0day Inc. <support@0dayinc.com>
|
|
734
|
-
"
|
|
735
|
-
end
|
|
736
|
-
|
|
737
|
-
# Display Usage for this Module
|
|
738
|
-
|
|
739
|
-
public_class_method def self.help
|
|
740
|
-
puts "USAGE:
|
|
741
|
-
dd_obj = #{self}.login(
|
|
742
|
-
url: 'required - url of DefectDojo Server',
|
|
743
|
-
api_version: 'required - api version to use v1 || v2',
|
|
744
|
-
username: 'required - username to AuthN w/ api v1)',
|
|
745
|
-
api_key: 'optional - defect dojo api key (will prompt if nil)',
|
|
746
|
-
proxy: 'optional - proxy all traffic through MITM proxy (defaults to nil)'
|
|
747
|
-
)
|
|
748
|
-
|
|
749
|
-
product_list = #{self}.product_list(
|
|
750
|
-
dd_obj: 'required dd_obj returned from #login_v1 method',
|
|
751
|
-
id: 'optional - retrieve single product by id, otherwise return all'
|
|
752
|
-
)
|
|
753
|
-
|
|
754
|
-
engagement_list = #{self}.engagement_list(
|
|
755
|
-
dd_obj: 'required dd_obj returned from #login_v1 method',
|
|
756
|
-
id: 'optional - retrieve single engagement by id, otherwise return all'
|
|
757
|
-
)
|
|
758
|
-
|
|
759
|
-
engagement_create_response = #{self}.engagement_create(
|
|
760
|
-
dd_obj: 'required - dd_obj returned from #login_v1 method',
|
|
761
|
-
name: 'required - name of the engagement',
|
|
762
|
-
description: 'optional - description of engagement',
|
|
763
|
-
engagement_type: 'optional - type of engagement Interactive||CI/CD (defaults to CI/CD)',
|
|
764
|
-
status: 'optional - status of the engagement In Progress || On Hold (defaults to In Progress)',
|
|
765
|
-
lead_username: 'required - username of lead to tie to engagement',
|
|
766
|
-
product_name: 'required - product name in which to create engagement',
|
|
767
|
-
test_strategy: 'required - URL of test strategy documentation (e.g. OWASP ASVS URL)',
|
|
768
|
-
orchestration_engine: 'optional - name of orchestration engine tied to CI/CD engagement',
|
|
769
|
-
build_server: 'optional - name of build server tied to CI/CD engagement',
|
|
770
|
-
scm_server: 'optional - name of SCM server tied to CI/CD engagement',
|
|
771
|
-
api_test: 'optional - boolean to set an engagement as an api assessment (defaults to false)',
|
|
772
|
-
pen_test: 'optional - boolean to set an engagement as a manual penetration test (defaults to false)',
|
|
773
|
-
threat_model: 'optional - boolean to set an engagement as a threat model (defaults to false)',
|
|
774
|
-
check_list: 'optional - boolean to set an engagement as a checkbox assessment (defaults to false)',
|
|
775
|
-
first_contacted: 'optional - date of engagement request e.g. 2018-06-18 (Defaults to current day)',
|
|
776
|
-
target_start: 'optional - date to start enagement e.g. 2018-06-19 (Defaults to current day)',
|
|
777
|
-
target_end: 'optional - date of engagement completion e.g. 2018-06-20 (Defaults to current day)'
|
|
778
|
-
)
|
|
779
|
-
|
|
780
|
-
test_list = #{self}.test_list(
|
|
781
|
-
dd_obj: 'required dd_obj returned from #login_v1 method',
|
|
782
|
-
id: 'optional - retrieve single test by id, otherwise return all'
|
|
783
|
-
)
|
|
784
|
-
|
|
785
|
-
importscan_response = #{self}.importscan(
|
|
786
|
-
dd_obj: 'required - dd_obj returned from #login_v1 method',
|
|
787
|
-
engagement_name: 'required - name of engagement to associate w/ scan',
|
|
788
|
-
scan_type: 'required - type of scan importing (see <DEFECTDOJO_URL>/admin/dojo/test_type/ for listing)',
|
|
789
|
-
file: 'required - path of scan results file',
|
|
790
|
-
lead_username: 'required - username of lead to tie to scan',
|
|
791
|
-
tags: 'optional - comma-delimited list of tag names to tie to scan',
|
|
792
|
-
minimum_severity: 'optional - minimum finding severity Info||Low||Medium||High||Critical (Defaults to Info)',
|
|
793
|
-
scan_date: 'optional - date in which scan was kicked off (defaults to now)',
|
|
794
|
-
verified: 'optional - flag finding as verified by a tester (defaults to false)',
|
|
795
|
-
create_finding_groups: 'optional - flag to create finding groups (defaults to false)',
|
|
796
|
-
close_old_findings_product_scope: 'optional - flag to close old findings from engagement (defaults to false)',
|
|
797
|
-
close_old_findings: 'optional - flag to close old findings, regardless of engagement (defaults to false)',
|
|
798
|
-
push_to_jira: 'optional - flag to push findings to JIRA (defaults to false)'
|
|
799
|
-
)
|
|
800
|
-
|
|
801
|
-
reimportscan_response = #{self}.reimportscan(
|
|
802
|
-
dd_obj: 'required - dd_obj returned from #login_v1 method',
|
|
803
|
-
engagement_name: 'required - name of engagement to associate w/ scan',
|
|
804
|
-
scan_type: 'required - type of scan importing (see <DEFECTDOJO_URL>/admin/dojo/test_type/ for listing)',
|
|
805
|
-
file: 'required - path of scan results file',
|
|
806
|
-
tags: 'optional - comma-delimited list of tag names to tie to scan for unique test resource_uri retrival',
|
|
807
|
-
test_resource_uri: 'optional - alternative to tag names to know which test to reimport',
|
|
808
|
-
minimum_severity: 'optional - minimum finding severity Info||Low||Medium||High||Critical (Defaults to Info)',
|
|
809
|
-
scan_date: 'optional - date in which scan was kicked off (defaults to now)',
|
|
810
|
-
verified: 'optional - flag finding as verified by a tester (defaults to false)',
|
|
811
|
-
create_finding_groups: 'optional - flag to create finding groups (defaults to false)',
|
|
812
|
-
close_old_findings_product_scope: 'optional - flag to close old findings from engagement (defaults to false)',
|
|
813
|
-
close_old_findings: 'optional - flag to close old findings, regardless of engagement (defaults to false)',
|
|
814
|
-
push_to_jira: 'optional - flag to push findings to JIRA (defaults to false)'
|
|
815
|
-
)
|
|
816
|
-
|
|
817
|
-
finding_list = #{self}.finding_list(
|
|
818
|
-
dd_obj: 'required dd_obj returned from #login_v1 method',
|
|
819
|
-
id: 'optional - retrieve single finding by id, otherwise return all'
|
|
820
|
-
)
|
|
821
|
-
|
|
822
|
-
user_list = #{self}.user_list(
|
|
823
|
-
dd_obj: 'required dd_obj returned from #login_v1 method',
|
|
824
|
-
id: 'optional - retrieve single user by id, otherwise return all'
|
|
825
|
-
)
|
|
826
|
-
|
|
827
|
-
tool_configuration_list = #{self}.tool_configuration_list(
|
|
828
|
-
dd_obj: 'required dd_obj returned from #login_v1 method',
|
|
829
|
-
id: 'optional - retrieve single test by id, otherwise return all'
|
|
830
|
-
)
|
|
831
|
-
|
|
832
|
-
#{self}.logout(
|
|
833
|
-
dd_obj: 'required dd_obj returned from #login_v1 or #login_v2 method'
|
|
834
|
-
)
|
|
835
|
-
|
|
836
|
-
#{self}.authors
|
|
837
|
-
"
|
|
838
|
-
end
|
|
839
|
-
end
|
|
840
|
-
end
|
|
841
|
-
end
|