pwn 0.5.708 → 0.5.710
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
- data/Gemfile +2 -2
- data/documentation/Installation.md +1 -0
- data/etc/default_skills/exploitdev/SKILL.md +38 -0
- data/etc/default_skills/pwn/ai/agent/extrospection/osint/bridges/SKILL.md +30 -8
- data/etc/default_skills/pwn/ai/agent/extrospection/osint/social/SKILL.md +30 -8
- data/etc/default_skills/pwn/ai/agent/extrospection/osint/social/references/urls.md +1 -1
- data/etc/default_skills/pwn/ai/agent/extrospection/references/urls.md +0 -1
- data/etc/default_skills/pwn/memory_index/SKILL.md +0 -4
- data/etc/default_skills/pwn/plugins/aflplusplus/SKILL.md +49 -0
- data/etc/default_skills/pwn/plugins/android/SKILL.md +1 -0
- data/etc/default_skills/pwn/plugins/artifact_registry/SKILL.md +49 -0
- data/etc/default_skills/pwn/plugins/binary_parser/SKILL.md +54 -0
- data/etc/default_skills/pwn/plugins/credential_attack/SKILL.md +58 -0
- data/etc/default_skills/pwn/plugins/credential_attack/references/urls.md +3 -0
- data/etc/default_skills/pwn/plugins/exploit_db/SKILL.md +49 -0
- data/etc/default_skills/pwn/plugins/exploit_dev/SKILL.md +63 -0
- data/etc/default_skills/pwn/plugins/frida/SKILL.md +51 -0
- data/etc/default_skills/pwn/plugins/fuzz/SKILL.md +2 -0
- data/etc/default_skills/pwn/plugins/gdb/SKILL.md +53 -0
- data/etc/default_skills/pwn/plugins/jobs/SKILL.md +51 -0
- data/etc/default_skills/pwn/plugins/k8s/SKILL.md +51 -0
- data/etc/default_skills/pwn/plugins/nuclei/SKILL.md +50 -0
- data/etc/default_skills/pwn/plugins/preflight_checker/SKILL.md +59 -0
- data/etc/default_skills/pwn/plugins/process_tube/SKILL.md +53 -0
- data/etc/default_skills/pwn/plugins/radare2/SKILL.md +59 -0
- data/etc/default_skills/pwn/plugins/recon/SKILL.md +57 -0
- data/etc/default_skills/pwn/plugins/recon/references/urls.md +6 -0
- data/etc/default_skills/pwn/plugins/semgrep/SKILL.md +48 -0
- data/etc/default_skills/pwn/plugins/sqlmap/SKILL.md +48 -0
- data/etc/default_skills/pwn/plugins/transparent_browser/SKILL.md +0 -4
- data/etc/default_skills/pwn/plugins/volatility/SKILL.md +49 -0
- data/lib/pwn/ai/agent/assembly.rb +4 -1
- data/lib/pwn/ai/agent/btc.rb +4 -1
- data/lib/pwn/ai/agent/burp_suite.rb +5 -2
- data/lib/pwn/ai/agent/curriculum.rb +89 -30
- data/lib/pwn/ai/agent/dispatch.rb +27 -16
- data/lib/pwn/ai/agent/extrospection/osint/bridges.rb +9 -18
- data/lib/pwn/ai/agent/extrospection/osint/social.rb +9 -18
- data/lib/pwn/ai/agent/extrospection.rb +185 -60
- data/lib/pwn/ai/agent/gqrx.rb +4 -1
- data/lib/pwn/ai/agent/hacker_one.rb +5 -2
- data/lib/pwn/ai/agent/learning.rb +142 -25
- data/lib/pwn/ai/agent/loop.rb +53 -46
- data/lib/pwn/ai/agent/metrics.rb +133 -23
- data/lib/pwn/ai/agent/mistakes.rb +126 -17
- data/lib/pwn/ai/agent/open_goal.rb +25 -9
- data/lib/pwn/ai/agent/policy.rb +158 -18
- data/lib/pwn/ai/agent/prompt_builder.rb +21 -11
- data/lib/pwn/ai/agent/prompt_cache.rb +44 -13
- data/lib/pwn/ai/agent/reflect.rb +9 -5
- data/lib/pwn/ai/agent/registry.rb +65 -12
- data/lib/pwn/ai/agent/result.rb +19 -10
- data/lib/pwn/ai/agent/reward.rb +150 -32
- data/lib/pwn/ai/agent/sast.rb +4 -1
- data/lib/pwn/ai/agent/swarm.rb +72 -36
- data/lib/pwn/ai/agent/task_summarizer.rb +165 -36
- data/lib/pwn/ai/agent/tool_guard.rb +105 -6
- data/lib/pwn/ai/agent/tools/sessions.rb +8 -1
- data/lib/pwn/ai/agent/transparent_browser.rb +4 -1
- data/lib/pwn/ai/agent/turn_finalizer.rb +41 -21
- data/lib/pwn/ai/agent/vuln_gen.rb +6 -3
- data/lib/pwn/ai/agent.rb +4 -0
- data/lib/pwn/ai/anthropic.rb +41 -7
- data/lib/pwn/ai/gemini.rb +21 -11
- data/lib/pwn/ai/grok.rb +44 -6
- data/lib/pwn/ai/http_retry.rb +40 -12
- data/lib/pwn/ai/ollama.rb +19 -10
- data/lib/pwn/ai/open_ai.rb +81 -30
- data/lib/pwn/ai/open_web_ui.rb +20 -14
- data/lib/pwn/ai/red_team/agent_protocol_abuse.rb +7 -1
- data/lib/pwn/ai/red_team/data_and_model_poisoning.rb +7 -1
- data/lib/pwn/ai/red_team/excessive_agency.rb +7 -1
- data/lib/pwn/ai/red_team/hidden_context_exposure.rb +7 -1
- data/lib/pwn/ai/red_team/insecure_output_handling.rb +7 -1
- data/lib/pwn/ai/red_team/jailbreak.rb +7 -1
- data/lib/pwn/ai/red_team/memory_poisoning.rb +7 -1
- data/lib/pwn/ai/red_team/multimodal_injection.rb +7 -1
- data/lib/pwn/ai/red_team/overreliance.rb +7 -1
- data/lib/pwn/ai/red_team/payload_splitting.rb +7 -1
- data/lib/pwn/ai/red_team/prompt_injection.rb +7 -1
- data/lib/pwn/ai/red_team/rag_poisoning.rb +7 -1
- data/lib/pwn/ai/red_team/sensitive_information_disclosure.rb +7 -1
- data/lib/pwn/ai/red_team/supply_chain.rb +7 -1
- data/lib/pwn/ai/red_team/system_prompt_extraction.rb +7 -1
- data/lib/pwn/ai/red_team/test_case_engine.rb +12 -9
- data/lib/pwn/ai/red_team/token_smuggling.rb +7 -1
- data/lib/pwn/ai/red_team/unbounded_consumption.rb +7 -1
- data/lib/pwn/ai/red_team/vector_and_embedding_weaknesses.rb +7 -1
- data/lib/pwn/ai/red_team.rb +4 -0
- data/lib/pwn/ai.rb +4 -0
- data/lib/pwn/aws/acm.rb +5 -2
- data/lib/pwn/aws/api_gateway.rb +10 -7
- data/lib/pwn/aws/app_stream.rb +5 -2
- data/lib/pwn/aws/application_auto_scaling.rb +5 -2
- data/lib/pwn/aws/application_discovery_service.rb +5 -2
- data/lib/pwn/aws/auto_scaling.rb +5 -2
- data/lib/pwn/aws/batch.rb +5 -2
- data/lib/pwn/aws/budgets.rb +5 -2
- data/lib/pwn/aws/cloud_formation.rb +5 -2
- data/lib/pwn/aws/cloud_front.rb +7 -4
- data/lib/pwn/aws/cloud_hsm.rb +5 -2
- data/lib/pwn/aws/cloud_search.rb +5 -2
- data/lib/pwn/aws/cloud_search_domain.rb +5 -2
- data/lib/pwn/aws/cloud_trail.rb +5 -2
- data/lib/pwn/aws/cloud_watch.rb +5 -2
- data/lib/pwn/aws/cloud_watch_events.rb +5 -2
- data/lib/pwn/aws/cloud_watch_logs.rb +5 -2
- data/lib/pwn/aws/code_build.rb +5 -2
- data/lib/pwn/aws/code_commit.rb +5 -2
- data/lib/pwn/aws/code_deploy.rb +5 -2
- data/lib/pwn/aws/code_pipeline.rb +5 -2
- data/lib/pwn/aws/cognito_identity.rb +5 -2
- data/lib/pwn/aws/cognito_identity_provider.rb +5 -2
- data/lib/pwn/aws/cognito_sync.rb +5 -2
- data/lib/pwn/aws/config_service.rb +5 -2
- data/lib/pwn/aws/data_pipleline.rb +5 -2
- data/lib/pwn/aws/database_migration_service.rb +5 -2
- data/lib/pwn/aws/device_farm.rb +5 -2
- data/lib/pwn/aws/direct_connect.rb +5 -2
- data/lib/pwn/aws/directory_service.rb +5 -2
- data/lib/pwn/aws/dynamo_db.rb +5 -2
- data/lib/pwn/aws/dynamo_db_streams.rb +5 -2
- data/lib/pwn/aws/ec2.rb +5 -2
- data/lib/pwn/aws/ecr.rb +5 -2
- data/lib/pwn/aws/ecs.rb +5 -2
- data/lib/pwn/aws/efs.rb +5 -2
- data/lib/pwn/aws/elasti_cache.rb +5 -2
- data/lib/pwn/aws/elastic_beanstalk.rb +8 -5
- data/lib/pwn/aws/elastic_load_balancing.rb +5 -2
- data/lib/pwn/aws/elastic_load_balancing_v2.rb +6 -3
- data/lib/pwn/aws/elastic_transcoder.rb +5 -2
- data/lib/pwn/aws/elasticsearch_service.rb +5 -2
- data/lib/pwn/aws/emr.rb +5 -2
- data/lib/pwn/aws/firehose.rb +5 -2
- data/lib/pwn/aws/game_lift.rb +5 -2
- data/lib/pwn/aws/glacier.rb +6 -3
- data/lib/pwn/aws/health.rb +5 -2
- data/lib/pwn/aws/iam.rb +10 -4
- data/lib/pwn/aws/import_export.rb +5 -2
- data/lib/pwn/aws/inspector.rb +5 -2
- data/lib/pwn/aws/iot.rb +5 -2
- data/lib/pwn/aws/iot_data_plane.rb +5 -2
- data/lib/pwn/aws/kinesis.rb +5 -2
- data/lib/pwn/aws/kinesis_analytics.rb +5 -2
- data/lib/pwn/aws/kms.rb +5 -2
- data/lib/pwn/aws/lambda.rb +5 -2
- data/lib/pwn/aws/lambda_preview.rb +5 -2
- data/lib/pwn/aws/lex.rb +5 -2
- data/lib/pwn/aws/lightsail.rb +5 -2
- data/lib/pwn/aws/machine_learning.rb +5 -2
- data/lib/pwn/aws/marketplace_commerce_analytics.rb +5 -2
- data/lib/pwn/aws/marketplace_metering.rb +5 -2
- data/lib/pwn/aws/ops_works.rb +5 -2
- data/lib/pwn/aws/ops_works_cm.rb +5 -2
- data/lib/pwn/aws/pinpoint.rb +5 -2
- data/lib/pwn/aws/polly.rb +5 -2
- data/lib/pwn/aws/rds.rb +5 -2
- data/lib/pwn/aws/redshift.rb +5 -2
- data/lib/pwn/aws/rekognition.rb +5 -2
- data/lib/pwn/aws/route53.rb +5 -2
- data/lib/pwn/aws/route53_domains.rb +5 -2
- data/lib/pwn/aws/s3.rb +5 -2
- data/lib/pwn/aws/service_catalog.rb +5 -2
- data/lib/pwn/aws/ses.rb +5 -2
- data/lib/pwn/aws/shield.rb +5 -2
- data/lib/pwn/aws/simple_db.rb +5 -2
- data/lib/pwn/aws/sms.rb +5 -2
- data/lib/pwn/aws/snowball.rb +5 -2
- data/lib/pwn/aws/sns.rb +5 -2
- data/lib/pwn/aws/sqs.rb +5 -2
- data/lib/pwn/aws/ssm.rb +5 -2
- data/lib/pwn/aws/states.rb +5 -2
- data/lib/pwn/aws/storage_gateway.rb +5 -2
- data/lib/pwn/aws/sts.rb +4 -1
- data/lib/pwn/aws/support.rb +5 -2
- data/lib/pwn/aws/swf.rb +5 -2
- data/lib/pwn/aws/waf.rb +5 -2
- data/lib/pwn/aws/waf_regional.rb +5 -2
- data/lib/pwn/aws/workspaces.rb +5 -2
- data/lib/pwn/aws/x_ray.rb +5 -2
- data/lib/pwn/aws.rb +4 -0
- data/lib/pwn/banner/anon.rb +3 -0
- data/lib/pwn/banner/bubble.rb +3 -0
- data/lib/pwn/banner/cheshire.rb +3 -0
- data/lib/pwn/banner/code_cave.rb +3 -0
- data/lib/pwn/banner/dont_panic.rb +3 -0
- data/lib/pwn/banner/f_society.rb +3 -0
- data/lib/pwn/banner/fork_bomb.rb +3 -0
- data/lib/pwn/banner/jmp_esp.rb +3 -0
- data/lib/pwn/banner/matrix.rb +5 -1
- data/lib/pwn/banner/ninja.rb +3 -0
- data/lib/pwn/banner/off_the_air.rb +3 -0
- data/lib/pwn/banner/pirate.rb +3 -0
- data/lib/pwn/banner/radare2.rb +3 -0
- data/lib/pwn/banner/radare2_ai.rb +3 -0
- data/lib/pwn/banner/white_rabbit.rb +3 -0
- data/lib/pwn/banner.rb +6 -2
- data/lib/pwn/blockchain/btc.rb +8 -3
- data/lib/pwn/blockchain/eth.rb +10 -3
- data/lib/pwn/blockchain.rb +4 -0
- data/lib/pwn/bounty/lifecycle_authz_replay.rb +46 -27
- data/lib/pwn/bounty.rb +4 -0
- data/lib/pwn/config.rb +79 -13
- data/lib/pwn/cron.rb +297 -20
- data/lib/pwn/driver.rb +2 -18
- data/lib/pwn/ffi/adalm_pluto.rb +65 -11
- data/lib/pwn/ffi/fftw.rb +31 -6
- data/lib/pwn/ffi/hack_rf.rb +59 -8
- data/lib/pwn/ffi/liquid.rb +63 -10
- data/lib/pwn/ffi/rtl_sdr.rb +35 -5
- data/lib/pwn/ffi/soapy_sdr.rb +60 -10
- data/lib/pwn/ffi/stdio.rb +7 -8
- data/lib/pwn/ffi/volk.rb +36 -7
- data/lib/pwn/ffi.rb +12 -0
- data/lib/pwn/memory.rb +136 -16
- data/lib/pwn/memory_index.rb +34 -19
- data/lib/pwn/migrate.rb +34 -24
- data/lib/pwn/module_skills.rb +39 -8
- data/lib/pwn/plugins/aflplusplus.rb +72 -0
- data/lib/pwn/plugins/android.rb +71 -245
- data/lib/pwn/plugins/artifact_registry.rb +71 -0
- data/lib/pwn/plugins/assembly.rb +9 -4
- data/lib/pwn/plugins/authentication_helper.rb +8 -5
- data/lib/pwn/plugins/baresip.rb +59 -12
- data/lib/pwn/plugins/basic_auth.rb +9 -3
- data/lib/pwn/plugins/beef.rb +28 -18
- data/lib/pwn/plugins/binary_parser.rb +133 -0
- data/lib/pwn/plugins/black_duck_binary_analysis.rb +63 -39
- data/lib/pwn/plugins/burp_suite.rb +98 -68
- data/lib/pwn/plugins/bus_pirate.rb +15 -8
- data/lib/pwn/plugins/char.rb +33 -3
- data/lib/pwn/plugins/credential_attack.rb +158 -0
- data/lib/pwn/plugins/credit_card.rb +6 -1
- data/lib/pwn/plugins/dao_ldap.rb +19 -13
- data/lib/pwn/plugins/dao_mongo.rb +11 -5
- data/lib/pwn/plugins/dao_postgres.rb +28 -19
- data/lib/pwn/plugins/dao_sqlite3.rb +15 -6
- data/lib/pwn/plugins/defect_dojo.rb +38 -22
- data/lib/pwn/plugins/detect_os.rb +5 -0
- data/lib/pwn/plugins/ein.rb +3 -0
- data/lib/pwn/plugins/exploit_db.rb +69 -0
- data/lib/pwn/plugins/exploit_dev.rb +330 -0
- data/lib/pwn/plugins/file_fu.rb +11 -8
- data/lib/pwn/plugins/frida.rb +112 -0
- data/lib/pwn/plugins/fuzz.rb +42 -6
- data/lib/pwn/plugins/gdb.rb +115 -0
- data/lib/pwn/plugins/git.rb +19 -14
- data/lib/pwn/plugins/github.rb +38 -15
- data/lib/pwn/plugins/google_workspace.rb +188 -45
- data/lib/pwn/plugins/hacker_one.rb +159 -35
- data/lib/pwn/plugins/hunter.rb +6 -3
- data/lib/pwn/plugins/ip_info.rb +9 -4
- data/lib/pwn/plugins/irc.rb +28 -15
- data/lib/pwn/plugins/jenkins.rb +65 -57
- data/lib/pwn/plugins/jira_data_center.rb +30 -22
- data/lib/pwn/plugins/jobs.rb +110 -0
- data/lib/pwn/plugins/json_pathify.rb +9 -5
- data/lib/pwn/plugins/k8s.rb +73 -0
- data/lib/pwn/plugins/log.rb +113 -13
- data/lib/pwn/plugins/mail_agent.rb +87 -79
- data/lib/pwn/plugins/metasploit.rb +11 -6
- data/lib/pwn/plugins/monkey_patch.rb +3 -0
- data/lib/pwn/plugins/msr206.rb +42 -28
- data/lib/pwn/plugins/nessus_cloud.rb +44 -4
- data/lib/pwn/plugins/nexpose_vuln_scan.rb +40 -24
- data/lib/pwn/plugins/nmap_it.rb +14 -34
- data/lib/pwn/plugins/nuclei.rb +90 -0
- data/lib/pwn/plugins/oauth2.rb +11 -5
- data/lib/pwn/plugins/ocr.rb +3 -0
- data/lib/pwn/plugins/open_api.rb +5 -2
- data/lib/pwn/plugins/openvas.rb +33 -25
- data/lib/pwn/plugins/packet.rb +152 -31
- data/lib/pwn/plugins/pdf_parse.rb +5 -2
- data/lib/pwn/plugins/pony.rb +86 -1
- data/lib/pwn/plugins/preflight_checker.rb +166 -0
- data/lib/pwn/plugins/process_tube.rb +139 -0
- data/lib/pwn/plugins/ps.rb +7 -1
- data/lib/pwn/plugins/pwn_logger.rb +6 -2
- data/lib/pwn/plugins/rabbit_mq.rb +12 -7
- data/lib/pwn/plugins/radare2.rb +253 -0
- data/lib/pwn/plugins/recon.rb +196 -0
- data/lib/pwn/plugins/repl.rb +122 -1
- data/lib/pwn/plugins/scannable_codes.rb +5 -1
- data/lib/pwn/plugins/semgrep.rb +61 -0
- data/lib/pwn/plugins/serial.rb +24 -14
- data/lib/pwn/plugins/shodan.rb +54 -35
- data/lib/pwn/plugins/slack_client.rb +11 -6
- data/lib/pwn/plugins/sock.rb +17 -8
- data/lib/pwn/plugins/spider.rb +5 -2
- data/lib/pwn/plugins/sqlmap.rb +49 -0
- data/lib/pwn/plugins/ssn.rb +3 -0
- data/lib/pwn/plugins/thread_pool.rb +6 -9
- data/lib/pwn/plugins/tor.rb +9 -4
- data/lib/pwn/plugins/transparent_browser.rb +62 -107
- data/lib/pwn/plugins/tty_spinner.rb +16 -2
- data/lib/pwn/plugins/twitter_api.rb +6 -2
- data/lib/pwn/plugins/uri_scheme.rb +4 -1
- data/lib/pwn/plugins/vault.rb +12 -3
- data/lib/pwn/plugins/vin.rb +24 -12
- data/lib/pwn/plugins/voice.rb +7 -2
- data/lib/pwn/plugins/volatility.rb +67 -0
- data/lib/pwn/plugins/vsphere.rb +9 -5
- data/lib/pwn/plugins/xxd.rb +12 -43
- data/lib/pwn/plugins/zaproxy.rb +30 -16
- data/lib/pwn/plugins.rb +22 -0
- data/lib/pwn/reports/ai_red_team.rb +6 -2
- data/lib/pwn/reports/csv.rb +8 -1
- data/lib/pwn/reports/fuzz.rb +5 -2
- data/lib/pwn/reports/html.rb +8 -1
- data/lib/pwn/reports/html_footer.rb +4 -3
- data/lib/pwn/reports/html_header.rb +6 -2
- data/lib/pwn/reports/json.rb +8 -1
- data/lib/pwn/reports/markdown.rb +8 -1
- data/lib/pwn/reports/pdf.rb +8 -1
- data/lib/pwn/reports/phone.rb +5 -2
- data/lib/pwn/reports/sast.rb +6 -2
- data/lib/pwn/reports/uri_buster.rb +5 -2
- data/lib/pwn/reports/xml.rb +8 -1
- data/lib/pwn/reports.rb +19 -0
- data/lib/pwn/sast/amqp_connect_as_guest.rb +9 -3
- data/lib/pwn/sast/apache_file_system_util_api.rb +9 -3
- data/lib/pwn/sast/aws.rb +9 -3
- data/lib/pwn/sast/banned_function_calls_c.rb +9 -3
- data/lib/pwn/sast/base64.rb +9 -3
- data/lib/pwn/sast/beef_hook.rb +9 -3
- data/lib/pwn/sast/cmd_execution_go_lang.rb +9 -3
- data/lib/pwn/sast/cmd_execution_java.rb +9 -3
- data/lib/pwn/sast/cmd_execution_python.rb +9 -3
- data/lib/pwn/sast/cmd_execution_ruby.rb +9 -3
- data/lib/pwn/sast/cmd_execution_scala.rb +9 -3
- data/lib/pwn/sast/csrf.rb +9 -3
- data/lib/pwn/sast/deserial_java.rb +9 -3
- data/lib/pwn/sast/emoticon.rb +9 -3
- data/lib/pwn/sast/eval.rb +9 -3
- data/lib/pwn/sast/factory.rb +9 -3
- data/lib/pwn/sast/http_authorization_header.rb +9 -3
- data/lib/pwn/sast/inner_html.rb +9 -3
- data/lib/pwn/sast/keystore.rb +9 -3
- data/lib/pwn/sast/local_storage.rb +9 -3
- data/lib/pwn/sast/location_hash.rb +9 -3
- data/lib/pwn/sast/log4j.rb +9 -3
- data/lib/pwn/sast/logger.rb +9 -3
- data/lib/pwn/sast/md5.rb +9 -3
- data/lib/pwn/sast/outer_html.rb +9 -3
- data/lib/pwn/sast/padding_oracle.rb +9 -3
- data/lib/pwn/sast/password.rb +9 -3
- data/lib/pwn/sast/php_input_mechanisms.rb +9 -3
- data/lib/pwn/sast/php_type_juggling.rb +9 -3
- data/lib/pwn/sast/pom_version.rb +9 -3
- data/lib/pwn/sast/port.rb +9 -3
- data/lib/pwn/sast/post_message.rb +9 -3
- data/lib/pwn/sast/private_key.rb +9 -3
- data/lib/pwn/sast/redirect.rb +9 -3
- data/lib/pwn/sast/redos.rb +9 -3
- data/lib/pwn/sast/shell.rb +9 -3
- data/lib/pwn/sast/signature.rb +9 -3
- data/lib/pwn/sast/sql.rb +9 -3
- data/lib/pwn/sast/ssl.rb +9 -3
- data/lib/pwn/sast/sudo.rb +9 -3
- data/lib/pwn/sast/task_tag.rb +9 -3
- data/lib/pwn/sast/test_case_engine.rb +11 -7
- data/lib/pwn/sast/throw_errors.rb +9 -3
- data/lib/pwn/sast/token.rb +9 -3
- data/lib/pwn/sast/type_script_type_juggling.rb +9 -3
- data/lib/pwn/sast/use_after_free.rb +9 -3
- data/lib/pwn/sast/version.rb +9 -3
- data/lib/pwn/sast/window_location_hash.rb +9 -3
- data/lib/pwn/sast.rb +4 -0
- data/lib/pwn/sdr/decoder/adsb.rb +36 -5
- data/lib/pwn/sdr/decoder/apt.rb +9 -6
- data/lib/pwn/sdr/decoder/base.rb +74 -22
- data/lib/pwn/sdr/decoder/bluetooth.rb +17 -5
- data/lib/pwn/sdr/decoder/dect.rb +12 -3
- data/lib/pwn/sdr/decoder/dsp.rb +229 -39
- data/lib/pwn/sdr/decoder/flex.rb +59 -11
- data/lib/pwn/sdr/decoder/gps.rb +12 -3
- data/lib/pwn/sdr/decoder/gsm.rb +24 -4
- data/lib/pwn/sdr/decoder/iridium.rb +12 -3
- data/lib/pwn/sdr/decoder/lora.rb +13 -4
- data/lib/pwn/sdr/decoder/lte.rb +27 -3
- data/lib/pwn/sdr/decoder/morse.rb +12 -3
- data/lib/pwn/sdr/decoder/p25.rb +12 -3
- data/lib/pwn/sdr/decoder/pager.rb +8 -5
- data/lib/pwn/sdr/decoder/pocsag.rb +29 -9
- data/lib/pwn/sdr/decoder/rds.rb +14 -8
- data/lib/pwn/sdr/decoder/rfid.rb +12 -3
- data/lib/pwn/sdr/decoder/rtl433.rb +12 -3
- data/lib/pwn/sdr/decoder/rtty.rb +8 -5
- data/lib/pwn/sdr/decoder/wifi.rb +12 -3
- data/lib/pwn/sdr/decoder/zigbee.rb +12 -3
- data/lib/pwn/sdr/decoder.rb +9 -0
- data/lib/pwn/sdr/flipper_zero.rb +17 -10
- data/lib/pwn/sdr/frequency_allocation.rb +4 -1
- data/lib/pwn/sdr/gqrx.rb +178 -119
- data/lib/pwn/sdr/rfidler.rb +4 -1
- data/lib/pwn/sdr/son_micro_rfid.rb +37 -24
- data/lib/pwn/sdr.rb +14 -0
- data/lib/pwn/sessions.rb +86 -16
- data/lib/pwn/setup.rb +106 -37
- data/lib/pwn/version.rb +1 -1
- data/lib/pwn/www/app_cobalt_io.rb +11 -5
- data/lib/pwn/www/bing.rb +10 -5
- data/lib/pwn/www/bug_crowd.rb +11 -5
- data/lib/pwn/www/checkip.rb +8 -4
- data/lib/pwn/www/coinbase_pro.rb +11 -5
- data/lib/pwn/www/duckduckgo.rb +12 -6
- data/lib/pwn/www/facebook.rb +11 -5
- data/lib/pwn/www/github.rb +11 -5
- data/lib/pwn/www/google.rb +11 -5
- data/lib/pwn/www/hacker_one.rb +20 -9
- data/lib/pwn/www/linkedin.rb +11 -5
- data/lib/pwn/www/pandora.rb +11 -5
- data/lib/pwn/www/pastebin.rb +9 -4
- data/lib/pwn/www/paypal.rb +19 -11
- data/lib/pwn/www/synack.rb +11 -5
- data/lib/pwn/www/torch.rb +13 -8
- data/lib/pwn/www/trading_view.rb +11 -5
- data/lib/pwn/www/twitter.rb +11 -5
- data/lib/pwn/www/uber.rb +11 -5
- data/lib/pwn/www/upwork.rb +11 -5
- data/lib/pwn/www/wayback_machine.rb +12 -6
- data/lib/pwn/www/youtube.rb +10 -5
- data/lib/pwn/www.rb +4 -0
- data/spec/conventions_spec.rb +118 -2
- data/spec/integration/help_contract_spec.rb +2 -0
- data/spec/lib/pwn/ai/agent/reward_spec.rb +9 -0
- data/spec/lib/pwn/plugins/aflplusplus_spec.rb +13 -0
- data/spec/lib/pwn/plugins/artifact_registry_spec.rb +13 -0
- data/spec/lib/pwn/plugins/binary_parser_spec.rb +21 -0
- data/spec/lib/pwn/plugins/credential_attack_spec.rb +13 -0
- data/spec/lib/pwn/plugins/exploit_db_spec.rb +13 -0
- data/spec/lib/pwn/plugins/exploit_dev_spec.rb +23 -0
- data/spec/lib/pwn/plugins/frida_spec.rb +13 -0
- data/spec/lib/pwn/plugins/gdb_spec.rb +13 -0
- data/spec/lib/pwn/plugins/jobs_spec.rb +13 -0
- data/spec/lib/pwn/plugins/k8s_spec.rb +13 -0
- data/spec/lib/pwn/plugins/nuclei_spec.rb +13 -0
- data/spec/lib/pwn/plugins/preflight_checker_spec.rb +23 -0
- data/spec/lib/pwn/plugins/process_tube_spec.rb +13 -0
- data/spec/lib/pwn/plugins/radare2_spec.rb +13 -0
- data/spec/lib/pwn/plugins/recon_spec.rb +26 -0
- data/spec/lib/pwn/plugins/semgrep_spec.rb +13 -0
- data/spec/lib/pwn/plugins/sqlmap_spec.rb +13 -0
- data/spec/lib/pwn/plugins/volatility_spec.rb +13 -0
- data/spec/lib/pwn/req_queue_spec.rb +168 -0
- data/third_party/pwn_rdoc.jsonl +160 -5
- metadata +63 -7
- data/etc/default_skills/pwn/memory_index/references/urls.md +0 -4
- data/etc/default_skills/pwn/plugins/transparent_browser/references/urls.md +0 -3
data/lib/pwn/plugins/xxd.rb
CHANGED
|
@@ -95,6 +95,7 @@ module PWN
|
|
|
95
95
|
# start_addr: 'required - start address to evaluate',
|
|
96
96
|
# target_addr: 'required - memory address to set breakpoint'
|
|
97
97
|
# )
|
|
98
|
+
# Run calc addr offset and return its result
|
|
98
99
|
# ^^^ Instructions for #{self}.calc_addr_offset:
|
|
99
100
|
# This is useful for calculating address offsets of known functions in debuggers
|
|
100
101
|
# to set breakpoints of instructions that are not known at runtime.
|
|
@@ -247,75 +248,43 @@ module PWN
|
|
|
247
248
|
|
|
248
249
|
public_class_method def self.help
|
|
249
250
|
puts "USAGE:
|
|
250
|
-
|
|
251
|
+
# Run dump and return its result
|
|
252
|
+
#{self}.dump(
|
|
251
253
|
file: 'required - path to binary file to dump',
|
|
252
254
|
hashed: 'optional - return hexdump as hash instead of string (default: false)'
|
|
253
255
|
)
|
|
254
256
|
|
|
255
|
-
|
|
257
|
+
# Run fill range w byte and return its result
|
|
258
|
+
#{self}.fill_range_w_byte(
|
|
256
259
|
hexdump: 'required - hexdump returned from #dump method',
|
|
257
260
|
start_addr: 'required - start address to fill with byte',
|
|
258
261
|
end_addr: 'required - end address to fill with byte',
|
|
259
262
|
byte: 'required - byte to fill range with'
|
|
260
263
|
)
|
|
261
264
|
|
|
262
|
-
|
|
265
|
+
# Run calc addr offset and return its result
|
|
266
|
+
#{self}.calc_addr_offset(
|
|
263
267
|
start_addr: 'required - start address to evaluate',
|
|
264
268
|
target_addr: 'required - memory address to set breakpoint'
|
|
265
269
|
)
|
|
266
270
|
|
|
267
|
-
#
|
|
268
|
-
# This is useful for calculating address offsets of known functions in debuggers
|
|
269
|
-
# to set breakpoints of instructions that are not known at runtime.
|
|
270
|
-
# 1. Set a breakpoint at main and record its address - this is the start_addr.
|
|
271
|
-
# For example in r2:
|
|
272
|
-
# ```
|
|
273
|
-
# [0x00001050]> db main
|
|
274
|
-
# [0x00001050]> ood
|
|
275
|
-
# [0x7fd16122b360]> dc
|
|
276
|
-
# INFO: hit breakpoint at: 0x562e8547d139
|
|
277
|
-
# [0x562e8547d139]> db
|
|
278
|
-
# ```
|
|
279
|
-
# 2. Populate start_addr w/ address (i.e. '0x562e8547d139') of a known function (i.e. main)
|
|
280
|
-
# 3. Step down to the instruction where you want to set a breakpoint. Record its address...
|
|
281
|
-
# this is the target_addr.
|
|
282
|
-
# ```
|
|
283
|
-
# [0x562e8547d139]> v
|
|
284
|
-
# <step through to the target instruction via F7/F8>
|
|
285
|
-
# ```
|
|
286
|
-
# 4. Get the hex offset value by calling #{self}.calc_addr_offset method
|
|
287
|
-
# 5. Future breakpoints can be calculated by adding the hex offset to the
|
|
288
|
-
# updated start_addr (which changes every time the binary is executed).
|
|
289
|
-
# If the offset returned is `0x00000ec2`, a breakpoint for the target
|
|
290
|
-
# instruction can be set in r2 via:
|
|
291
|
-
# ```
|
|
292
|
-
# [0x00001050]> ood
|
|
293
|
-
# [0x7f1a45bea360]> db main
|
|
294
|
-
# [0x7f1a45bea360]> db (main)+0x00000ec2
|
|
295
|
-
# [0x7f1a45bea360]> db
|
|
296
|
-
# 0x558eebd75139 - 0x558eebd7513a 1 --x sw break enabled valid ...
|
|
297
|
-
# 0x558eebd75ffb - 0x558eebd75ffc 1 --x sw break enabled valid ...
|
|
298
|
-
# [0x7f1a45bea360]> dc
|
|
299
|
-
# INFO: hit breakpoint at: 0x55ee0a0e5139
|
|
300
|
-
# [0x55ee0a0e5139]> dc
|
|
301
|
-
# INFO: hit breakpoint at: 0x5558c3101ffb
|
|
302
|
-
# [0x5558c3101ffb]> v
|
|
303
|
-
# <step through via F7, F8, F9, etc. to get to desired instruction>
|
|
304
|
-
# ```
|
|
305
|
-
|
|
271
|
+
# Run reverse hex string and return its result
|
|
306
272
|
#{self}.reverse_hex_string(
|
|
307
|
-
string: 'required - continuous hex string to reverse (i.e.
|
|
273
|
+
string: 'required - continuous hex string to reverse (i.e. 68656c6c6f)',
|
|
308
274
|
file: 'required - path to binary file to dump'
|
|
309
275
|
)
|
|
310
276
|
|
|
277
|
+
# Run reverse dump and return its result
|
|
311
278
|
#{self}.reverse_dump(
|
|
312
279
|
hexdump: 'required - hexdump returned from #dump method',
|
|
313
280
|
file: 'required - path to binary file to dump',
|
|
314
281
|
byte_chunks: 'optional - if set, will write n byte chunks of hexdump to multiple files'
|
|
315
282
|
)
|
|
316
283
|
|
|
284
|
+
# Print the AUTHOR(S) string for this module.
|
|
317
285
|
#{self}.authors
|
|
318
286
|
"
|
|
287
|
+
constants.sort
|
|
319
288
|
end
|
|
320
289
|
end
|
|
321
290
|
end
|
data/lib/pwn/plugins/zaproxy.rb
CHANGED
|
@@ -749,18 +749,18 @@ module PWN
|
|
|
749
749
|
|
|
750
750
|
public_class_method def self.help
|
|
751
751
|
puts "USAGE:
|
|
752
|
-
|
|
752
|
+
# Run start and return its result
|
|
753
|
+
#{self}.start(
|
|
753
754
|
api_key: 'required - api key for API authorization',
|
|
754
755
|
zap_bin_path: 'optional - path to zap.sh file',
|
|
755
|
-
headless: 'optional - run zap headless if set to true',
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
zap_obj: 'required - zap_obj returned from #open method',
|
|
761
|
-
target_url: 'required - url to spider'
|
|
756
|
+
headless: 'optional - run zap headless if set to true (defaults to false)',
|
|
757
|
+
browser_type: 'optional - defaults to :firefox. See PWN::Plugins::TransparentBrowser.help for a list of types',
|
|
758
|
+
proxy: 'optional - change local zap proxy listener (defaults to http://127.0.0.1:<Random 1024-65535>)',
|
|
759
|
+
zap_ip: 'optional - zap ip value consumed by #start',
|
|
760
|
+
zap_port: 'optional - zap port value consumed by #start'
|
|
762
761
|
)
|
|
763
762
|
|
|
763
|
+
# Run import openapi to sitemap and return its result
|
|
764
764
|
#{self}.import_openapi_to_sitemap(
|
|
765
765
|
zap_obj: 'required - zap_obj returned from #open method',
|
|
766
766
|
openapi_spec: 'required - path to OpenAPI JSON or YAML spec file',
|
|
@@ -768,52 +768,62 @@ module PWN
|
|
|
768
768
|
target_regex: 'optional - url regex to inject additional_http_headers into (e.g. https://test.domain.local.*)'
|
|
769
769
|
)
|
|
770
770
|
|
|
771
|
+
# Run get sitemap and return its result
|
|
771
772
|
#{self}.get_sitemap(
|
|
772
773
|
zap_obj: 'required - zap_obj returned from #open method',
|
|
773
774
|
keyword: 'optional - string to search for in the sitemap entries (defaults to nil)',
|
|
774
775
|
return_as: 'optional - :base64 or :har (defaults to :base64)'
|
|
775
776
|
)
|
|
776
777
|
|
|
778
|
+
# Run add to scope and return its result
|
|
777
779
|
#{self}.add_to_scope(
|
|
778
780
|
zap_obj: 'required - zap_obj returned from #open method',
|
|
779
781
|
target_regex: 'required - url regex to add to scope (e.g. https://test.domain.local.*)',
|
|
780
782
|
context_name: 'optional - context name to add target_regex to (defaults to Default Context)'
|
|
781
783
|
)
|
|
782
784
|
|
|
785
|
+
# Run requester and return its result
|
|
783
786
|
#{self}.requester(
|
|
784
787
|
zap_obj: 'required - zap_obj returned from #open method',
|
|
785
788
|
har_entry: 'required - har entry (e.g. from #get_sitemap method method)',
|
|
786
|
-
redirect: 'optional - follow redirects if set to true (defaults to
|
|
789
|
+
redirect: 'optional - follow redirects if set to true (defaults to false)'
|
|
787
790
|
)
|
|
788
791
|
|
|
789
|
-
|
|
790
|
-
|
|
792
|
+
# Run spider and return its result
|
|
793
|
+
#{self}.spider(
|
|
794
|
+
zap_obj: 'required - zap_obj returned from #open method',
|
|
795
|
+
target_url: 'required - url to spider'
|
|
791
796
|
)
|
|
792
797
|
|
|
798
|
+
# Run inject additional http headers and return its result
|
|
793
799
|
#{self}.inject_additional_http_headers(
|
|
794
800
|
zap_obj: 'required - zap_obj returned from #open method',
|
|
795
801
|
target_regex: 'required - url regex to inject headers into (e.g. https://test.domain.local.*)',
|
|
796
802
|
headers: 'required - hash of additional headers to inject into each request'
|
|
797
803
|
)
|
|
798
804
|
|
|
805
|
+
# Run active scan and return its result
|
|
799
806
|
#{self}.active_scan(
|
|
800
|
-
zap_obj: 'required - zap_obj returned from #open method'
|
|
807
|
+
zap_obj: 'required - zap_obj returned from #open method',
|
|
801
808
|
target_url: 'required - url to scan',
|
|
802
809
|
exclude_paths: 'optional - array of paths to exclude from scan (default: [])',
|
|
803
810
|
scan_policy: 'optional - scan policy to use (defaults to Default Policy)'
|
|
804
811
|
)
|
|
805
812
|
|
|
806
|
-
|
|
807
|
-
|
|
813
|
+
# Run get alerts and return its result
|
|
814
|
+
#{self}.get_alerts(
|
|
815
|
+
zap_obj: 'required - zap_obj returned from #open method',
|
|
808
816
|
target_url: 'required - base url to return alerts'
|
|
809
817
|
)
|
|
810
818
|
|
|
811
|
-
|
|
819
|
+
# Run generate scan report and return its result
|
|
820
|
+
#{self}.generate_scan_report(
|
|
812
821
|
zap_obj: 'required - zap_obj returned from #open method',
|
|
813
822
|
output_dir: 'required - directory to save report',
|
|
814
823
|
report_type: 'required - <:html|:markdown|:xml>'
|
|
815
824
|
)
|
|
816
825
|
|
|
826
|
+
# Run breakpoint and return its result
|
|
817
827
|
#{self}.breakpoint(
|
|
818
828
|
zap_obj: 'required - zap_obj returned from #open method',
|
|
819
829
|
regex_type: 'required - :url, :request_header, :request_body, :response_header or :response_body',
|
|
@@ -821,18 +831,22 @@ module PWN
|
|
|
821
831
|
enabled: 'optional - boolean (defaults to true)'
|
|
822
832
|
)
|
|
823
833
|
|
|
834
|
+
# Run tamper and return its result
|
|
824
835
|
#{self}.tamper(
|
|
825
836
|
zap_obj: 'required - zap_obj returned from #open method',
|
|
826
837
|
domain: 'required - FQDN to tamper (e.g. test.domain.local)',
|
|
827
838
|
enabled: 'optional - boolean (defaults to true)'
|
|
828
839
|
)
|
|
829
840
|
|
|
841
|
+
# Run stop and return its result
|
|
830
842
|
#{self}.stop(
|
|
831
|
-
zap_obj: 'required - zap_obj returned from #
|
|
843
|
+
zap_obj: 'required - zap_obj returned from #open method'
|
|
832
844
|
)
|
|
833
845
|
|
|
846
|
+
# Print the AUTHOR(S) string for this module.
|
|
834
847
|
#{self}.authors
|
|
835
848
|
"
|
|
849
|
+
constants.sort
|
|
836
850
|
end
|
|
837
851
|
end
|
|
838
852
|
end
|
data/lib/pwn/plugins.rb
CHANGED
|
@@ -6,7 +6,10 @@ module PWN
|
|
|
6
6
|
# http://www.rubyinside.com/ruby-techniques-revealed-autoload-1652.html
|
|
7
7
|
module Plugins
|
|
8
8
|
autoload :Android, 'pwn/plugins/android'
|
|
9
|
+
autoload :AFLplusplus, 'pwn/plugins/aflplusplus'
|
|
10
|
+
autoload :ArtifactRegistry, 'pwn/plugins/artifact_registry'
|
|
9
11
|
autoload :Assembly, 'pwn/plugins/assembly'
|
|
12
|
+
autoload :BinaryParser, 'pwn/plugins/binary_parser'
|
|
10
13
|
autoload :AuthenticationHelper, 'pwn/plugins/authentication_helper'
|
|
11
14
|
autoload :BareSIP, 'pwn/plugins/baresip'
|
|
12
15
|
autoload :BasicAuth, 'pwn/plugins/basic_auth'
|
|
@@ -16,6 +19,8 @@ module PWN
|
|
|
16
19
|
autoload :BusPirate, 'pwn/plugins/bus_pirate'
|
|
17
20
|
autoload :Char, 'pwn/plugins/char'
|
|
18
21
|
autoload :CreditCard, 'pwn/plugins/credit_card'
|
|
22
|
+
autoload :CredentialAttack, 'pwn/plugins/credential_attack'
|
|
23
|
+
autoload :PreflightChecker, 'pwn/plugins/preflight_checker'
|
|
19
24
|
autoload :PWNLogger, 'pwn/plugins/pwn_logger'
|
|
20
25
|
autoload :DAOLDAP, 'pwn/plugins/dao_ldap'
|
|
21
26
|
autoload :DAOMongo, 'pwn/plugins/dao_mongo'
|
|
@@ -24,9 +29,13 @@ module PWN
|
|
|
24
29
|
autoload :DefectDojo, 'pwn/plugins/defect_dojo'
|
|
25
30
|
autoload :DetectOS, 'pwn/plugins/detect_os'
|
|
26
31
|
autoload :EIN, 'pwn/plugins/ein'
|
|
32
|
+
autoload :ExploitDB, 'pwn/plugins/exploit_db'
|
|
27
33
|
autoload :FileFu, 'pwn/plugins/file_fu'
|
|
28
34
|
autoload :Fuzz, 'pwn/plugins/fuzz'
|
|
35
|
+
autoload :Frida, 'pwn/plugins/frida'
|
|
36
|
+
autoload :ExploitDev, 'pwn/plugins/exploit_dev'
|
|
29
37
|
autoload :Git, 'pwn/plugins/git'
|
|
38
|
+
autoload :GDB, 'pwn/plugins/gdb'
|
|
30
39
|
autoload :Github, 'pwn/plugins/github'
|
|
31
40
|
autoload :GoogleWorkspace, 'pwn/plugins/google_workspace'
|
|
32
41
|
autoload :HackerOne, 'pwn/plugins/hacker_one'
|
|
@@ -34,7 +43,9 @@ module PWN
|
|
|
34
43
|
autoload :IPInfo, 'pwn/plugins/ip_info'
|
|
35
44
|
autoload :IRC, 'pwn/plugins/irc'
|
|
36
45
|
autoload :Jenkins, 'pwn/plugins/jenkins'
|
|
46
|
+
autoload :K8s, 'pwn/plugins/k8s'
|
|
37
47
|
autoload :JiraDataCenter, 'pwn/plugins/jira_data_center'
|
|
48
|
+
autoload :Jobs, 'pwn/plugins/jobs'
|
|
38
49
|
autoload :JSONPathify, 'pwn/plugins/json_pathify'
|
|
39
50
|
autoload :Log, 'pwn/plugins/log'
|
|
40
51
|
autoload :MailAgent, 'pwn/plugins/mail_agent'
|
|
@@ -44,6 +55,7 @@ module PWN
|
|
|
44
55
|
autoload :NessusCloud, 'pwn/plugins/nessus_cloud'
|
|
45
56
|
autoload :NexposeVulnScan, 'pwn/plugins/nexpose_vuln_scan'
|
|
46
57
|
autoload :NmapIt, 'pwn/plugins/nmap_it'
|
|
58
|
+
autoload :Nuclei, 'pwn/plugins/nuclei'
|
|
47
59
|
autoload :OAuth2, 'pwn/plugins/oauth2'
|
|
48
60
|
autoload :OCR, 'pwn/plugins/ocr'
|
|
49
61
|
autoload :OpenAPI, 'pwn/plugins/open_api'
|
|
@@ -52,15 +64,20 @@ module PWN
|
|
|
52
64
|
autoload :PDFParse, 'pwn/plugins/pdf_parse'
|
|
53
65
|
autoload :Pony, 'pwn/plugins/pony'
|
|
54
66
|
autoload :PS, 'pwn/plugins/ps'
|
|
67
|
+
autoload :ProcessTube, 'pwn/plugins/process_tube'
|
|
55
68
|
autoload :RabbitMQ, 'pwn/plugins/rabbit_mq'
|
|
69
|
+
autoload :Radare2, 'pwn/plugins/radare2'
|
|
70
|
+
autoload :Recon, 'pwn/plugins/recon'
|
|
56
71
|
autoload :REPL, 'pwn/plugins/repl'
|
|
57
72
|
autoload :ScannableCodes, 'pwn/plugins/scannable_codes'
|
|
73
|
+
autoload :Semgrep, 'pwn/plugins/semgrep'
|
|
58
74
|
autoload :Serial, 'pwn/plugins/serial'
|
|
59
75
|
autoload :Shodan, 'pwn/plugins/shodan'
|
|
60
76
|
autoload :SlackClient, 'pwn/plugins/slack_client'
|
|
61
77
|
autoload :Sock, 'pwn/plugins/sock'
|
|
62
78
|
autoload :Spider, 'pwn/plugins/spider'
|
|
63
79
|
autoload :SSN, 'pwn/plugins/ssn'
|
|
80
|
+
autoload :Sqlmap, 'pwn/plugins/sqlmap'
|
|
64
81
|
autoload :ThreadPool, 'pwn/plugins/thread_pool'
|
|
65
82
|
autoload :Tor, 'pwn/plugins/tor'
|
|
66
83
|
autoload :TransparentBrowser, 'pwn/plugins/transparent_browser'
|
|
@@ -70,6 +87,7 @@ module PWN
|
|
|
70
87
|
autoload :Vault, 'pwn/plugins/vault'
|
|
71
88
|
autoload :VIN, 'pwn/plugins/vin'
|
|
72
89
|
autoload :Voice, 'pwn/plugins/voice'
|
|
90
|
+
autoload :Volatility, 'pwn/plugins/volatility'
|
|
73
91
|
autoload :Vsphere, 'pwn/plugins/vsphere'
|
|
74
92
|
autoload :XXD, 'pwn/plugins/xxd'
|
|
75
93
|
autoload :Zaproxy, 'pwn/plugins/zaproxy'
|
|
@@ -83,6 +101,10 @@ module PWN
|
|
|
83
101
|
end
|
|
84
102
|
|
|
85
103
|
public_class_method def self.help
|
|
104
|
+
puts "USAGE:
|
|
105
|
+
# Display a List of Every PWN::Plugins Module
|
|
106
|
+
#{self}.authors
|
|
107
|
+
"
|
|
86
108
|
constants.sort
|
|
87
109
|
end
|
|
88
110
|
end
|
|
@@ -415,13 +415,17 @@ module PWN
|
|
|
415
415
|
|
|
416
416
|
public_class_method def self.help
|
|
417
417
|
puts "USAGE:
|
|
418
|
+
# Run generate and return its result
|
|
418
419
|
#{self}.generate(
|
|
419
|
-
dir_path:
|
|
420
|
-
results_hash:
|
|
420
|
+
dir_path: 'optional - Directory path to save the report (defaults to .)',
|
|
421
|
+
results_hash: 'optional - Hash containing the results of the AI RedTeam analysis (defaults to empty hash structure)',
|
|
422
|
+
report_name: 'optional - Name of the report file (defaults to current directory name)'
|
|
421
423
|
)
|
|
422
424
|
|
|
425
|
+
# Print the AUTHOR(S) string for this module.
|
|
423
426
|
#{self}.authors
|
|
424
427
|
"
|
|
428
|
+
constants.sort
|
|
425
429
|
end
|
|
426
430
|
end
|
|
427
431
|
end
|
data/lib/pwn/reports/csv.rb
CHANGED
|
@@ -31,7 +31,14 @@ module PWN
|
|
|
31
31
|
end
|
|
32
32
|
|
|
33
33
|
public_class_method def self.help
|
|
34
|
-
puts "USAGE
|
|
34
|
+
puts "USAGE:
|
|
35
|
+
# Run generate and return its result
|
|
36
|
+
#{self}.generate
|
|
37
|
+
|
|
38
|
+
# Print the AUTHOR(S) string for this module.
|
|
39
|
+
#{self}.authors
|
|
40
|
+
"
|
|
41
|
+
constants.sort
|
|
35
42
|
end
|
|
36
43
|
end
|
|
37
44
|
end
|
data/lib/pwn/reports/fuzz.rb
CHANGED
|
@@ -314,14 +314,17 @@ module PWN
|
|
|
314
314
|
|
|
315
315
|
public_class_method def self.help
|
|
316
316
|
puts "USAGE:
|
|
317
|
+
# Run generate and return its result
|
|
317
318
|
#{self}.generate(
|
|
318
|
-
dir_path:
|
|
319
|
-
results_hash:
|
|
319
|
+
dir_path: 'required - dir path value consumed by #generate',
|
|
320
|
+
results_hash: 'optional - results hash value consumed by #generate',
|
|
320
321
|
char_encoding: 'optional - character encoding returned by PWN::Plugins::Char.list_encoders (defaults to UTF-8)'
|
|
321
322
|
)
|
|
322
323
|
|
|
324
|
+
# Print the AUTHOR(S) string for this module.
|
|
323
325
|
#{self}.authors
|
|
324
326
|
"
|
|
327
|
+
constants.sort
|
|
325
328
|
end
|
|
326
329
|
end
|
|
327
330
|
end
|
data/lib/pwn/reports/html.rb
CHANGED
|
@@ -51,7 +51,14 @@ module PWN
|
|
|
51
51
|
end
|
|
52
52
|
|
|
53
53
|
public_class_method def self.help
|
|
54
|
-
puts "USAGE
|
|
54
|
+
puts "USAGE:
|
|
55
|
+
# Run generate and return its result
|
|
56
|
+
#{self}.generate
|
|
57
|
+
|
|
58
|
+
# Print the AUTHOR(S) string for this module.
|
|
59
|
+
#{self}.authors
|
|
60
|
+
"
|
|
61
|
+
constants.sort
|
|
55
62
|
end
|
|
56
63
|
end
|
|
57
64
|
end
|
|
@@ -148,12 +148,13 @@ module PWN
|
|
|
148
148
|
|
|
149
149
|
public_class_method def self.help
|
|
150
150
|
puts "USAGE:
|
|
151
|
-
#
|
|
152
|
-
|
|
153
|
-
driver_src_uri: 're
|
|
151
|
+
# Run generate and return its result
|
|
152
|
+
#{self}.generate
|
|
154
153
|
|
|
154
|
+
# Print the AUTHOR(S) string for this module.
|
|
155
155
|
#{self}.authors
|
|
156
156
|
"
|
|
157
|
+
constants.sort
|
|
157
158
|
end
|
|
158
159
|
end
|
|
159
160
|
end
|
|
@@ -259,12 +259,16 @@ module PWN
|
|
|
259
259
|
|
|
260
260
|
public_class_method def self.help
|
|
261
261
|
puts "USAGE:
|
|
262
|
+
# Run generate and return its result
|
|
262
263
|
#{self}.generate(
|
|
263
|
-
column_names: '
|
|
264
|
-
driver_src_uri: '
|
|
264
|
+
column_names: 'required - array of column names to use in the report table (defaults to [])',
|
|
265
|
+
driver_src_uri: 'required - pwn driver source code uri'
|
|
266
|
+
)
|
|
265
267
|
|
|
268
|
+
# Print the AUTHOR(S) string for this module.
|
|
266
269
|
#{self}.authors
|
|
267
270
|
"
|
|
271
|
+
constants.sort
|
|
268
272
|
end
|
|
269
273
|
end
|
|
270
274
|
end
|
data/lib/pwn/reports/json.rb
CHANGED
|
@@ -25,7 +25,14 @@ module PWN
|
|
|
25
25
|
end
|
|
26
26
|
|
|
27
27
|
public_class_method def self.help
|
|
28
|
-
puts "USAGE
|
|
28
|
+
puts "USAGE:
|
|
29
|
+
# Run generate and return its result
|
|
30
|
+
#{self}.generate
|
|
31
|
+
|
|
32
|
+
# Print the AUTHOR(S) string for this module.
|
|
33
|
+
#{self}.authors
|
|
34
|
+
"
|
|
35
|
+
constants.sort
|
|
29
36
|
end
|
|
30
37
|
end
|
|
31
38
|
end
|
data/lib/pwn/reports/markdown.rb
CHANGED
|
@@ -33,7 +33,14 @@ module PWN
|
|
|
33
33
|
end
|
|
34
34
|
|
|
35
35
|
public_class_method def self.help
|
|
36
|
-
puts "USAGE
|
|
36
|
+
puts "USAGE:
|
|
37
|
+
# Run generate and return its result
|
|
38
|
+
#{self}.generate
|
|
39
|
+
|
|
40
|
+
# Print the AUTHOR(S) string for this module.
|
|
41
|
+
#{self}.authors
|
|
42
|
+
"
|
|
43
|
+
constants.sort
|
|
37
44
|
end
|
|
38
45
|
end
|
|
39
46
|
end
|
data/lib/pwn/reports/pdf.rb
CHANGED
|
@@ -86,7 +86,14 @@ module PWN
|
|
|
86
86
|
end
|
|
87
87
|
|
|
88
88
|
public_class_method def self.help
|
|
89
|
-
puts "USAGE
|
|
89
|
+
puts "USAGE:
|
|
90
|
+
# Run generate and return its result
|
|
91
|
+
#{self}.generate
|
|
92
|
+
|
|
93
|
+
# Print the AUTHOR(S) string for this module.
|
|
94
|
+
#{self}.authors
|
|
95
|
+
"
|
|
96
|
+
constants.sort
|
|
90
97
|
end
|
|
91
98
|
end
|
|
92
99
|
end
|
data/lib/pwn/reports/phone.rb
CHANGED
|
@@ -371,13 +371,16 @@ module PWN
|
|
|
371
371
|
|
|
372
372
|
public_class_method def self.help
|
|
373
373
|
puts "USAGE:
|
|
374
|
+
# Run generate and return its result
|
|
374
375
|
#{self}.generate(
|
|
375
|
-
dir_path:
|
|
376
|
-
results_hash:
|
|
376
|
+
dir_path: 'required - dir path value consumed by #generate',
|
|
377
|
+
results_hash: 'optional - results hash value consumed by #generate'
|
|
377
378
|
)
|
|
378
379
|
|
|
380
|
+
# Print the AUTHOR(S) string for this module.
|
|
379
381
|
#{self}.authors
|
|
380
382
|
"
|
|
383
|
+
constants.sort
|
|
381
384
|
end
|
|
382
385
|
end
|
|
383
386
|
end
|
data/lib/pwn/reports/sast.rb
CHANGED
|
@@ -422,13 +422,17 @@ module PWN
|
|
|
422
422
|
|
|
423
423
|
public_class_method def self.help
|
|
424
424
|
puts "USAGE:
|
|
425
|
+
# Run generate and return its result
|
|
425
426
|
#{self}.generate(
|
|
426
|
-
dir_path:
|
|
427
|
-
results_hash:
|
|
427
|
+
dir_path: 'optional - Directory path to save the report (defaults to .)',
|
|
428
|
+
results_hash: 'optional - Hash containing the results of the SAST analysis (defaults to empty hash structure)',
|
|
429
|
+
report_name: 'optional - Name of the report file (defaults to current directory name)'
|
|
428
430
|
)
|
|
429
431
|
|
|
432
|
+
# Print the AUTHOR(S) string for this module.
|
|
430
433
|
#{self}.authors
|
|
431
434
|
"
|
|
435
|
+
constants.sort
|
|
432
436
|
end
|
|
433
437
|
end
|
|
434
438
|
end
|
|
@@ -322,13 +322,16 @@ module PWN
|
|
|
322
322
|
|
|
323
323
|
public_class_method def self.help
|
|
324
324
|
puts "USAGE:
|
|
325
|
+
# Run generate and return its result
|
|
325
326
|
#{self}.generate(
|
|
326
|
-
dir_path:
|
|
327
|
-
results_hash:
|
|
327
|
+
dir_path: 'required - dir path value consumed by #generate',
|
|
328
|
+
results_hash: 'optional - results hash value consumed by #generate'
|
|
328
329
|
)
|
|
329
330
|
|
|
331
|
+
# Print the AUTHOR(S) string for this module.
|
|
330
332
|
#{self}.authors
|
|
331
333
|
"
|
|
334
|
+
constants.sort
|
|
332
335
|
end
|
|
333
336
|
end
|
|
334
337
|
end
|
data/lib/pwn/reports/xml.rb
CHANGED
|
@@ -37,7 +37,14 @@ module PWN
|
|
|
37
37
|
end
|
|
38
38
|
|
|
39
39
|
public_class_method def self.help
|
|
40
|
-
puts "USAGE
|
|
40
|
+
puts "USAGE:
|
|
41
|
+
# Run generate and return its result
|
|
42
|
+
#{self}.generate
|
|
43
|
+
|
|
44
|
+
# Print the AUTHOR(S) string for this module.
|
|
45
|
+
#{self}.authors
|
|
46
|
+
"
|
|
47
|
+
constants.sort
|
|
41
48
|
end
|
|
42
49
|
end
|
|
43
50
|
end
|
data/lib/pwn/reports.rb
CHANGED
|
@@ -74,6 +74,25 @@ module PWN
|
|
|
74
74
|
end
|
|
75
75
|
|
|
76
76
|
public_class_method def self.help
|
|
77
|
+
puts "USAGE:
|
|
78
|
+
# Run resolve path and return its result
|
|
79
|
+
#{self}.resolve_path(
|
|
80
|
+
path: 'required - filesystem path to read or write',
|
|
81
|
+
ext: 'optional - ext value consumed by #resolve_path',
|
|
82
|
+
dir_path: 'optional - dir path value consumed by #resolve_path',
|
|
83
|
+
report_name: 'optional - report name value consumed by #resolve_path'
|
|
84
|
+
)
|
|
85
|
+
|
|
86
|
+
# Run report payload and return its result
|
|
87
|
+
#{self}.report_payload(
|
|
88
|
+
results_hash: 'optional - results hash value consumed by #report_payload',
|
|
89
|
+
title: 'optional - title value consumed by #report_payload',
|
|
90
|
+
executive_summary: 'optional - executive summary value consumed by #report_payload'
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
# Print the AUTHOR(S) string for this module.
|
|
94
|
+
#{self}.authors
|
|
95
|
+
"
|
|
77
96
|
constants.sort
|
|
78
97
|
end
|
|
79
98
|
end
|
|
@@ -65,13 +65,19 @@ module PWN
|
|
|
65
65
|
|
|
66
66
|
public_class_method def self.help
|
|
67
67
|
puts "USAGE:
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
# Run scan and return its result
|
|
69
|
+
#{self}.scan(
|
|
70
|
+
dir_path: 'optional - optional path to dir defaults to .',
|
|
71
|
+
git_repo_root_uri: 'optional - optional http uri of git repo scanned'
|
|
71
72
|
)
|
|
72
73
|
|
|
74
|
+
# Used primarily to map NIST 800-53 Revision 4 Security Controls
|
|
75
|
+
#{self}.security_references
|
|
76
|
+
|
|
77
|
+
# Print the AUTHOR(S) string for this module.
|
|
73
78
|
#{self}.authors
|
|
74
79
|
"
|
|
80
|
+
constants.sort
|
|
75
81
|
end
|
|
76
82
|
end
|
|
77
83
|
end
|
|
@@ -63,13 +63,19 @@ module PWN
|
|
|
63
63
|
|
|
64
64
|
public_class_method def self.help
|
|
65
65
|
puts "USAGE:
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
:
|
|
66
|
+
# :dir_path => optional path to dir defaults to .
|
|
67
|
+
#{self}.scan(
|
|
68
|
+
dir_path: 'optional - dir path value consumed by #scan',
|
|
69
|
+
git_repo_root_uri: 'optional - git repo root uri value consumed by #scan'
|
|
69
70
|
)
|
|
70
71
|
|
|
72
|
+
# Used primarily to map NIST 800-53 Revision 4 Security Controls
|
|
73
|
+
#{self}.security_references
|
|
74
|
+
|
|
75
|
+
# Print the AUTHOR(S) string for this module.
|
|
71
76
|
#{self}.authors
|
|
72
77
|
"
|
|
78
|
+
constants.sort
|
|
73
79
|
end
|
|
74
80
|
end
|
|
75
81
|
end
|
data/lib/pwn/sast/aws.rb
CHANGED
|
@@ -64,13 +64,19 @@ module PWN
|
|
|
64
64
|
|
|
65
65
|
public_class_method def self.help
|
|
66
66
|
puts "USAGE:
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
67
|
+
# Run scan and return its result
|
|
68
|
+
#{self}.scan(
|
|
69
|
+
dir_path: 'optional - optional path to dir defaults to .',
|
|
70
|
+
git_repo_root_uri: 'optional - optional http uri of git repo scanned'
|
|
70
71
|
)
|
|
71
72
|
|
|
73
|
+
# Used primarily to map NIST 800-53 Revision 4 Security Controls
|
|
74
|
+
#{self}.security_references
|
|
75
|
+
|
|
76
|
+
# Print the AUTHOR(S) string for this module.
|
|
72
77
|
#{self}.authors
|
|
73
78
|
"
|
|
79
|
+
constants.sort
|
|
74
80
|
end
|
|
75
81
|
end
|
|
76
82
|
end
|