pwn 0.5.708 → 0.5.709
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/documentation/Installation.md +1 -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 +48 -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 +51 -0
- data/etc/default_skills/pwn/plugins/doctor/SKILL.md +57 -0
- data/etc/default_skills/pwn/plugins/exploit_dev/SKILL.md +61 -0
- data/etc/default_skills/pwn/plugins/frida/SKILL.md +49 -0
- data/etc/default_skills/pwn/plugins/gdb/SKILL.md +52 -0
- data/etc/default_skills/pwn/plugins/jobs/SKILL.md +51 -0
- data/etc/default_skills/pwn/plugins/nuclei/SKILL.md +48 -0
- data/etc/default_skills/pwn/plugins/process_tube/SKILL.md +52 -0
- data/etc/default_skills/pwn/plugins/radare2/SKILL.md +59 -0
- data/etc/default_skills/pwn/plugins/recon/SKILL.md +55 -0
- data/etc/default_skills/pwn/plugins/recon/references/urls.md +5 -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 +48 -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/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 +5 -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 +52 -0
- data/lib/pwn/plugins/android.rb +65 -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 +99 -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/doctor.rb +149 -0
- data/lib/pwn/plugins/ein.rb +3 -0
- data/lib/pwn/plugins/exploit_dev.rb +264 -0
- data/lib/pwn/plugins/file_fu.rb +11 -8
- data/lib/pwn/plugins/frida.rb +61 -0
- data/lib/pwn/plugins/fuzz.rb +9 -6
- data/lib/pwn/plugins/gdb.rb +95 -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 +109 -0
- data/lib/pwn/plugins/json_pathify.rb +9 -5
- 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 +57 -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/process_tube.rb +120 -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 +161 -0
- data/lib/pwn/plugins/repl.rb +122 -1
- data/lib/pwn/plugins/scannable_codes.rb +5 -1
- 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 +16 -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 +48 -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 +19 -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 +94 -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/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/doctor_spec.rb +23 -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/nuclei_spec.rb +13 -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/sqlmap_spec.rb +13 -0
- data/spec/lib/pwn/plugins/volatility_spec.rb +13 -0
- data/third_party/pwn_rdoc.jsonl +126 -5
- metadata +47 -3
- 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/setup.rb
CHANGED
|
@@ -236,6 +236,55 @@ module PWN
|
|
|
236
236
|
'jq' => {
|
|
237
237
|
apt: %w[jq], dnf: %w[jq], pacman: %w[jq], brew: %w[jq], port: %w[jq],
|
|
238
238
|
plugins: %w[extro_osint]
|
|
239
|
+
},
|
|
240
|
+
'gdb' => {
|
|
241
|
+
apt: %w[gdb], dnf: %w[gdb], pacman: %w[gdb], brew: %w[gdb], port: %w[gdb],
|
|
242
|
+
plugins: %w[PWN::Plugins::GDB]
|
|
243
|
+
},
|
|
244
|
+
'r2' => {
|
|
245
|
+
apt: %w[radare2], dnf: %w[radare2], pacman: %w[radare2], brew: %w[radare2], port: %w[radare2],
|
|
246
|
+
plugins: %w[PWN::Plugins::Radare2]
|
|
247
|
+
},
|
|
248
|
+
'checksec' => {
|
|
249
|
+
apt: %w[], dnf: %w[], pacman: %w[], brew: %w[], port: %w[],
|
|
250
|
+
plugins: %w[PWN::Plugins::GDB PWN::Plugins::ExploitDev]
|
|
251
|
+
},
|
|
252
|
+
'ROPgadget' => {
|
|
253
|
+
apt: %w[], dnf: %w[], pacman: %w[], brew: %w[], port: %w[],
|
|
254
|
+
plugins: %w[PWN::Plugins::ExploitDev]
|
|
255
|
+
},
|
|
256
|
+
'one_gadget' => {
|
|
257
|
+
apt: %w[], dnf: %w[], pacman: %w[], brew: %w[], port: %w[],
|
|
258
|
+
plugins: %w[PWN::Plugins::ExploitDev]
|
|
259
|
+
},
|
|
260
|
+
'qemu-x86_64' => {
|
|
261
|
+
apt: %w[qemu-user-static], dnf: %w[qemu-user-static], pacman: %w[qemu-user-static],
|
|
262
|
+
brew: %w[], port: %w[],
|
|
263
|
+
plugins: %w[PWN::Plugins::GDB]
|
|
264
|
+
},
|
|
265
|
+
'yara' => {
|
|
266
|
+
apt: %w[yara], dnf: %w[yara], pacman: %w[yara], brew: %w[yara], port: %w[yara],
|
|
267
|
+
plugins: %w[PWN::Plugins::Volatility]
|
|
268
|
+
},
|
|
269
|
+
'frida' => {
|
|
270
|
+
apt: %w[], dnf: %w[], pacman: %w[], brew: %w[], port: %w[],
|
|
271
|
+
plugins: %w[PWN::Plugins::Frida]
|
|
272
|
+
},
|
|
273
|
+
'apktool' => {
|
|
274
|
+
apt: %w[apktool], dnf: %w[], pacman: %w[apktool], brew: %w[apktool], port: %w[],
|
|
275
|
+
plugins: %w[PWN::Plugins::Android]
|
|
276
|
+
},
|
|
277
|
+
'jadx' => {
|
|
278
|
+
apt: %w[jadx], dnf: %w[], pacman: %w[jadx], brew: %w[], port: %w[],
|
|
279
|
+
plugins: %w[PWN::Plugins::Android]
|
|
280
|
+
},
|
|
281
|
+
'nuclei' => {
|
|
282
|
+
apt: %w[nuclei], dnf: %w[], pacman: %w[nuclei], brew: %w[nuclei], port: %w[],
|
|
283
|
+
plugins: %w[PWN::Plugins::Nuclei]
|
|
284
|
+
},
|
|
285
|
+
'hydra' => {
|
|
286
|
+
apt: %w[hydra], dnf: %w[hydra], pacman: %w[hydra], brew: %w[thc-hydra], port: %w[],
|
|
287
|
+
plugins: %w[PWN::Plugins::CredentialAttack]
|
|
239
288
|
}
|
|
240
289
|
}.freeze
|
|
241
290
|
|
|
@@ -292,6 +341,11 @@ module PWN
|
|
|
292
341
|
gems: %w[libusb],
|
|
293
342
|
bins: %w[adb baresip]
|
|
294
343
|
},
|
|
344
|
+
re: {
|
|
345
|
+
desc: 'Radare2 · GDB · ExploitDev · Frida · Android RE tier',
|
|
346
|
+
gems: %w[],
|
|
347
|
+
bins: %w[gdb r2 checksec ROPgadget one_gadget qemu-x86_64 yara frida apktool jadx]
|
|
348
|
+
},
|
|
295
349
|
full: {
|
|
296
350
|
desc: 'everything above',
|
|
297
351
|
gems: NATIVE_GEMS.keys,
|
|
@@ -869,53 +923,56 @@ module PWN
|
|
|
869
923
|
|
|
870
924
|
public_class_method def self.help
|
|
871
925
|
puts "USAGE:
|
|
872
|
-
#
|
|
873
|
-
#{self}.
|
|
926
|
+
# Run pkg manager and return its result
|
|
927
|
+
#{self}.pkg_manager
|
|
874
928
|
|
|
875
|
-
#
|
|
876
|
-
#
|
|
877
|
-
|
|
878
|
-
profile: 'optional -
|
|
879
|
-
yes: 'optional - assume yes (non-interactive)',
|
|
880
|
-
dry_run: 'optional - print commands only'
|
|
929
|
+
# Run check and return its result
|
|
930
|
+
#{self}.check(
|
|
931
|
+
io: 'optional - IO to write the report to (default $stdout)',
|
|
932
|
+
profile: 'optional - profile value consumed by #check'
|
|
881
933
|
)
|
|
882
934
|
|
|
935
|
+
# Run deps and return its result
|
|
936
|
+
#{self}.deps(
|
|
937
|
+
profile: 'optional - one of PROFILES.keys (default :full)',
|
|
938
|
+
yes: 'optional - non-interactive; assume yes to prompts (default false)',
|
|
939
|
+
dry_run: 'optional - print commands only, do not execute (default false)',
|
|
940
|
+
io: 'optional - IO to write to (default $stdout)'
|
|
941
|
+
)
|
|
883
942
|
|
|
884
|
-
# Opt-in SHIFT+ENTER multi-line support
|
|
885
|
-
#{self}.terminal(
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
)
|
|
943
|
+
# Opt-in installer for SHIFT+ENTER multi-line support in the pwn-ai /
|
|
944
|
+
#{self}.terminal(
|
|
945
|
+
yes: 'optional - assume yes; non-interactive (default false)',
|
|
946
|
+
dry_run: 'optional - print what WOULD happen (default false)',
|
|
947
|
+
io: 'optional - IO to write to (default $stdout)'
|
|
948
|
+
)
|
|
889
949
|
|
|
890
|
-
#
|
|
891
|
-
#{self}.list_profiles
|
|
950
|
+
# Run list profiles and return its result
|
|
951
|
+
#{self}.list_profiles(
|
|
952
|
+
io: 'optional - IO to write to (default $stdout)'
|
|
953
|
+
)
|
|
892
954
|
|
|
893
|
-
#
|
|
894
|
-
#{self}.
|
|
955
|
+
# Delegate to PWN::Migrate.run — verify every ~/.pwn state file is
|
|
956
|
+
#{self}.migrate(
|
|
957
|
+
fix: 'optional - also autofix incompatible ~/.pwn files (default false)',
|
|
958
|
+
dry_run: 'optional - print what WOULD happen (default false)',
|
|
959
|
+
yes: 'optional - alias for fix:true (CI-friendly)',
|
|
960
|
+
io: 'optional - IO to write to (default $stdout)'
|
|
961
|
+
)
|
|
895
962
|
|
|
896
|
-
#
|
|
897
|
-
#{self}
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
pwn setup --deps # profile :full
|
|
905
|
-
pwn setup --profile web
|
|
906
|
-
pwn setup --profile sdr --yes
|
|
907
|
-
pwn setup --terminal # opt-in SHIFT+ENTER multi-line (Terminator/tmux)
|
|
908
|
-
pwn setup --list-profiles
|
|
909
|
-
pwn setup --dry-run --profile net
|
|
910
|
-
pwn setup --migrate # verify + upgrade ~/.pwn schema
|
|
911
|
-
pwn setup --migrate --fix # also autofix incompatible files
|
|
912
|
-
# Every non-dry-run `pwn setup` also seeds default jobs and starts
|
|
913
|
-
# (or reuses) the background PWN::Cron worker, then persists it
|
|
914
|
-
# via the OS-native scheduler (systemd --user / launchd / schtasks / crontab).
|
|
915
|
-
# `pwn setup --no-cron` disables that persistence; `--cron` re-enables it.
|
|
963
|
+
# Seed default pwn-ai jobs (idempotent) and start the background
|
|
964
|
+
#{self}.ensure_cron(
|
|
965
|
+
restart: 'optional - replace a live worker (default false = reuse)',
|
|
966
|
+
dry_run: 'optional - do not spawn (default false)',
|
|
967
|
+
interval: 'optional - worker poll seconds (default PWN::Cron::DEFAULT_INTERVAL)',
|
|
968
|
+
io: 'optional - IO to write the status line to (default $stdout)',
|
|
969
|
+
enabled: 'optional - enabled value consumed by #ensure_cron'
|
|
970
|
+
)
|
|
916
971
|
|
|
972
|
+
# Print the AUTHOR(S) string for this module.
|
|
917
973
|
#{self}.authors
|
|
918
974
|
"
|
|
975
|
+
constants.sort
|
|
919
976
|
end
|
|
920
977
|
end
|
|
921
978
|
end
|
data/lib/pwn/version.rb
CHANGED
|
@@ -111,28 +111,34 @@ module PWN
|
|
|
111
111
|
|
|
112
112
|
public_class_method def self.help
|
|
113
113
|
puts "USAGE:
|
|
114
|
-
|
|
114
|
+
# Open a session or connection and return a handle.
|
|
115
|
+
#{self}.open(
|
|
115
116
|
browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
|
|
116
117
|
proxy: 'optional - scheme://proxy_host:port || tor'
|
|
117
118
|
)
|
|
118
119
|
|
|
119
|
-
|
|
120
|
+
# Run login and return its result
|
|
121
|
+
#{self}.login(
|
|
120
122
|
browser_obj: 'required - browser_obj returned from #open method',
|
|
121
|
-
username: 'required - username',
|
|
122
|
-
password: 'optional - passwd (will prompt if blank),
|
|
123
|
+
username: 'required - username value consumed by #login',
|
|
124
|
+
password: 'optional - passwd (will prompt if blank)',
|
|
123
125
|
mfa: 'optional - if true prompt for mfa token (defaults to false)'
|
|
124
126
|
)
|
|
125
127
|
|
|
126
|
-
|
|
128
|
+
# Run logout and return its result
|
|
129
|
+
#{self}.logout(
|
|
127
130
|
browser_obj: 'required - browser_obj returned from #open method'
|
|
128
131
|
)
|
|
129
132
|
|
|
133
|
+
# Close a session previously returned by #open.
|
|
130
134
|
#{self}.close(
|
|
131
135
|
browser_obj: 'required - browser_obj returned from #open method'
|
|
132
136
|
)
|
|
133
137
|
|
|
138
|
+
# Print the AUTHOR(S) string for this module.
|
|
134
139
|
#{self}.authors
|
|
135
140
|
"
|
|
141
|
+
constants.sort
|
|
136
142
|
end
|
|
137
143
|
end
|
|
138
144
|
end
|
data/lib/pwn/www/bing.rb
CHANGED
|
@@ -66,22 +66,27 @@ module PWN
|
|
|
66
66
|
|
|
67
67
|
public_class_method def self.help
|
|
68
68
|
puts "USAGE:
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
69
|
+
# Open a session or connection and return a handle.
|
|
70
|
+
#{self}.open(
|
|
71
|
+
browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
|
|
72
|
+
proxy: 'optional - optional scheme://proxy_host:port || tor'
|
|
72
73
|
)
|
|
73
74
|
|
|
74
|
-
|
|
75
|
+
# Run a search using the open session.
|
|
76
|
+
#{self}.search(
|
|
75
77
|
browser_obj: 'required - browser_obj returned from #open method',
|
|
76
78
|
q: 'required - search string'
|
|
77
79
|
)
|
|
78
80
|
|
|
79
|
-
|
|
81
|
+
# Close a session previously returned by #open.
|
|
82
|
+
#{self}.close(
|
|
80
83
|
browser_obj: 'required - browser_obj returned from #open method'
|
|
81
84
|
)
|
|
82
85
|
|
|
86
|
+
# Print the AUTHOR(S) string for this module.
|
|
83
87
|
#{self}.authors
|
|
84
88
|
"
|
|
89
|
+
constants.sort
|
|
85
90
|
end
|
|
86
91
|
end
|
|
87
92
|
end
|
data/lib/pwn/www/bug_crowd.rb
CHANGED
|
@@ -108,28 +108,34 @@ module PWN
|
|
|
108
108
|
|
|
109
109
|
public_class_method def self.help
|
|
110
110
|
puts "USAGE:
|
|
111
|
-
|
|
111
|
+
# Open a session or connection and return a handle.
|
|
112
|
+
#{self}.open(
|
|
112
113
|
browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
|
|
113
114
|
proxy: 'optional - scheme://proxy_host:port || tor'
|
|
114
115
|
)
|
|
115
116
|
|
|
116
|
-
|
|
117
|
+
# Run login and return its result
|
|
118
|
+
#{self}.login(
|
|
117
119
|
browser_obj: 'required - browser_obj returned from #open method',
|
|
118
|
-
username: 'required - username',
|
|
119
|
-
password: 'optional - passwd (will prompt if blank),
|
|
120
|
+
username: 'required - username value consumed by #login',
|
|
121
|
+
password: 'optional - passwd (will prompt if blank)',
|
|
120
122
|
mfa: 'optional - if true prompt for mfa token (defaults to false)'
|
|
121
123
|
)
|
|
122
124
|
|
|
123
|
-
|
|
125
|
+
# Run logout and return its result
|
|
126
|
+
#{self}.logout(
|
|
124
127
|
browser_obj: 'required - browser_obj returned from #open method'
|
|
125
128
|
)
|
|
126
129
|
|
|
130
|
+
# Close a session previously returned by #open.
|
|
127
131
|
#{self}.close(
|
|
128
132
|
browser_obj: 'required - browser_obj returned from #open method'
|
|
129
133
|
)
|
|
130
134
|
|
|
135
|
+
# Print the AUTHOR(S) string for this module.
|
|
131
136
|
#{self}.authors
|
|
132
137
|
"
|
|
138
|
+
constants.sort
|
|
133
139
|
end
|
|
134
140
|
end
|
|
135
141
|
end
|
data/lib/pwn/www/checkip.rb
CHANGED
|
@@ -52,17 +52,21 @@ module PWN
|
|
|
52
52
|
|
|
53
53
|
public_class_method def self.help
|
|
54
54
|
puts "USAGE:
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
# Open a session or connection and return a handle.
|
|
56
|
+
#{self}.open(
|
|
57
|
+
browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
|
|
57
58
|
proxy: 'optional - scheme://proxy_host:port || tor'
|
|
58
59
|
)
|
|
59
60
|
|
|
60
|
-
|
|
61
|
-
|
|
61
|
+
# Close a session previously returned by #open.
|
|
62
|
+
#{self}.close(
|
|
63
|
+
browser_obj: 'required - browser_obj returned from #open method'
|
|
62
64
|
)
|
|
63
65
|
|
|
66
|
+
# Print the AUTHOR(S) string for this module.
|
|
64
67
|
#{self}.authors
|
|
65
68
|
"
|
|
69
|
+
constants.sort
|
|
66
70
|
end
|
|
67
71
|
end
|
|
68
72
|
end
|
data/lib/pwn/www/coinbase_pro.rb
CHANGED
|
@@ -108,28 +108,34 @@ module PWN
|
|
|
108
108
|
|
|
109
109
|
public_class_method def self.help
|
|
110
110
|
puts "USAGE:
|
|
111
|
-
|
|
111
|
+
# Open a session or connection and return a handle.
|
|
112
|
+
#{self}.open(
|
|
112
113
|
browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
|
|
113
114
|
proxy: 'optional - scheme://proxy_host:port || tor'
|
|
114
115
|
)
|
|
115
116
|
|
|
116
|
-
|
|
117
|
+
# Run login and return its result
|
|
118
|
+
#{self}.login(
|
|
117
119
|
browser_obj: 'required - browser_obj returned from #open method',
|
|
118
|
-
username: 'required - username',
|
|
119
|
-
password: 'optional - passwd (will prompt if blank),
|
|
120
|
+
username: 'required - username value consumed by #login',
|
|
121
|
+
password: 'optional - passwd (will prompt if blank)',
|
|
120
122
|
mfa: 'optional - if true prompt for mfa token (defaults to false)'
|
|
121
123
|
)
|
|
122
124
|
|
|
123
|
-
|
|
125
|
+
# Run logout and return its result
|
|
126
|
+
#{self}.logout(
|
|
124
127
|
browser_obj: 'required - browser_obj returned from #open method'
|
|
125
128
|
)
|
|
126
129
|
|
|
130
|
+
# Close a session previously returned by #open.
|
|
127
131
|
#{self}.close(
|
|
128
132
|
browser_obj: 'required - browser_obj returned from #open method'
|
|
129
133
|
)
|
|
130
134
|
|
|
135
|
+
# Print the AUTHOR(S) string for this module.
|
|
131
136
|
#{self}.authors
|
|
132
137
|
"
|
|
138
|
+
constants.sort
|
|
133
139
|
end
|
|
134
140
|
end
|
|
135
141
|
end
|
data/lib/pwn/www/duckduckgo.rb
CHANGED
|
@@ -88,26 +88,32 @@ module PWN
|
|
|
88
88
|
|
|
89
89
|
public_class_method def self.help
|
|
90
90
|
puts "USAGE:
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
# Open a session or connection and return a handle.
|
|
92
|
+
#{self}.open(
|
|
93
|
+
browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
|
|
93
94
|
proxy: 'optional - scheme://proxy_host:port || tor'
|
|
94
95
|
)
|
|
95
96
|
|
|
96
|
-
|
|
97
|
+
# Run a search using the open session.
|
|
98
|
+
#{self}.search(
|
|
97
99
|
browser_obj: 'required - browser_obj returned from #open method',
|
|
98
|
-
q: 'required search string'
|
|
100
|
+
q: 'required - search string'
|
|
99
101
|
)
|
|
100
102
|
|
|
101
|
-
|
|
103
|
+
# Run onion and return its result
|
|
104
|
+
#{self}.onion(
|
|
102
105
|
browser_obj: 'required - browser_obj returned from #open method'
|
|
103
106
|
)
|
|
104
107
|
|
|
105
|
-
|
|
108
|
+
# Close a session previously returned by #open.
|
|
109
|
+
#{self}.close(
|
|
106
110
|
browser_obj: 'required - browser_obj returned from #open method'
|
|
107
111
|
)
|
|
108
112
|
|
|
113
|
+
# Print the AUTHOR(S) string for this module.
|
|
109
114
|
#{self}.authors
|
|
110
115
|
"
|
|
116
|
+
constants.sort
|
|
111
117
|
end
|
|
112
118
|
end
|
|
113
119
|
end
|
data/lib/pwn/www/facebook.rb
CHANGED
|
@@ -97,27 +97,33 @@ module PWN
|
|
|
97
97
|
|
|
98
98
|
public_class_method def self.help
|
|
99
99
|
puts "USAGE:
|
|
100
|
-
|
|
100
|
+
# Open a session or connection and return a handle.
|
|
101
|
+
#{self}.open(
|
|
101
102
|
browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
|
|
102
103
|
proxy: 'optional - scheme://proxy_host:port || tor'
|
|
103
104
|
)
|
|
104
105
|
|
|
105
|
-
|
|
106
|
+
# Run login and return its result
|
|
107
|
+
#{self}.login(
|
|
106
108
|
browser_obj: 'required - browser_obj returned from #open method',
|
|
107
|
-
username: 'required - username',
|
|
108
|
-
password: 'optional - passwd (will prompt if blank)
|
|
109
|
+
username: 'required - username value consumed by #login',
|
|
110
|
+
password: 'optional - passwd (will prompt if blank)'
|
|
109
111
|
)
|
|
110
112
|
|
|
111
|
-
|
|
113
|
+
# Run logout and return its result
|
|
114
|
+
#{self}.logout(
|
|
112
115
|
browser_obj: 'required - browser_obj returned from #open method'
|
|
113
116
|
)
|
|
114
117
|
|
|
118
|
+
# Close a session previously returned by #open.
|
|
115
119
|
#{self}.close(
|
|
116
120
|
browser_obj: 'required - browser_obj returned from #open method'
|
|
117
121
|
)
|
|
118
122
|
|
|
123
|
+
# Print the AUTHOR(S) string for this module.
|
|
119
124
|
#{self}.authors
|
|
120
125
|
"
|
|
126
|
+
constants.sort
|
|
121
127
|
end
|
|
122
128
|
end
|
|
123
129
|
end
|
data/lib/pwn/www/github.rb
CHANGED
|
@@ -145,29 +145,35 @@ module PWN
|
|
|
145
145
|
|
|
146
146
|
public_class_method def self.help
|
|
147
147
|
puts "USAGE:
|
|
148
|
-
|
|
148
|
+
# Open a session or connection and return a handle.
|
|
149
|
+
#{self}.open(
|
|
149
150
|
browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
|
|
150
151
|
proxy: 'optional - scheme://proxy_host:port || tor'
|
|
151
152
|
)
|
|
152
153
|
|
|
153
|
-
|
|
154
|
+
# Run login and return its result
|
|
155
|
+
#{self}.login(
|
|
154
156
|
browser_obj: 'required - browser_obj returned from #open method',
|
|
155
|
-
username: 'required - username',
|
|
156
|
-
password: 'optional - passwd (will prompt if blank),
|
|
157
|
+
username: 'required - username value consumed by #login',
|
|
158
|
+
password: 'optional - passwd (will prompt if blank)',
|
|
157
159
|
mfa: 'optional - MFA / TOTP token string, or true to prompt (defaults to false)',
|
|
158
160
|
mfa_token: 'optional - MFA / TOTP token used to reach a post-authenticated state'
|
|
159
161
|
)
|
|
160
162
|
|
|
161
|
-
|
|
163
|
+
# Run logout and return its result
|
|
164
|
+
#{self}.logout(
|
|
162
165
|
browser_obj: 'required - browser_obj returned from #open method'
|
|
163
166
|
)
|
|
164
167
|
|
|
168
|
+
# Close a session previously returned by #open.
|
|
165
169
|
#{self}.close(
|
|
166
170
|
browser_obj: 'required - browser_obj returned from #open method'
|
|
167
171
|
)
|
|
168
172
|
|
|
173
|
+
# Print the AUTHOR(S) string for this module.
|
|
169
174
|
#{self}.authors
|
|
170
175
|
"
|
|
176
|
+
constants.sort
|
|
171
177
|
end
|
|
172
178
|
end
|
|
173
179
|
end
|
data/lib/pwn/www/google.rb
CHANGED
|
@@ -87,27 +87,33 @@ module PWN
|
|
|
87
87
|
|
|
88
88
|
public_class_method def self.help
|
|
89
89
|
puts "USAGE:
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
# Open a Watir browser on google.com and return browser_obj.
|
|
91
|
+
#{self}.open(
|
|
92
|
+
browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
|
|
92
93
|
proxy: 'optional - scheme://proxy_host:port || tor'
|
|
93
94
|
)
|
|
94
95
|
|
|
95
|
-
|
|
96
|
+
# Type a query into Google Search and return browser_obj.
|
|
97
|
+
#{self}.search(
|
|
96
98
|
browser_obj: 'required - browser_obj returned from #open method',
|
|
97
99
|
q: 'required - search string'
|
|
98
100
|
)
|
|
99
101
|
|
|
100
|
-
|
|
102
|
+
# Search Google for LinkedIn employee profiles at a given company.
|
|
103
|
+
#{self}.search_linkedin_for_employees_by_company(
|
|
101
104
|
browser_obj: 'required - browser_obj returned from #open method',
|
|
102
105
|
company: 'required - company string'
|
|
103
106
|
)
|
|
104
107
|
|
|
105
|
-
browser_obj
|
|
108
|
+
# Close the browser_obj returned by #open.
|
|
109
|
+
#{self}.close(
|
|
106
110
|
browser_obj: 'required - browser_obj returned from #open method'
|
|
107
111
|
)
|
|
108
112
|
|
|
113
|
+
# Print the AUTHOR(S) string for this module.
|
|
109
114
|
#{self}.authors
|
|
110
115
|
"
|
|
116
|
+
constants.sort
|
|
111
117
|
end
|
|
112
118
|
end
|
|
113
119
|
end
|
data/lib/pwn/www/hacker_one.rb
CHANGED
|
@@ -590,50 +590,61 @@ module PWN
|
|
|
590
590
|
|
|
591
591
|
public_class_method def self.help
|
|
592
592
|
puts "USAGE:
|
|
593
|
-
|
|
593
|
+
# Open a session or connection and return a handle.
|
|
594
|
+
#{self}.open(
|
|
594
595
|
browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
|
|
595
596
|
proxy: 'optional - scheme://proxy_host:port || tor'
|
|
596
597
|
)
|
|
597
598
|
|
|
598
|
-
|
|
599
|
+
# Run get bounty programs and return its result
|
|
600
|
+
#{self}.get_bounty_programs(
|
|
599
601
|
min_payouts_enabled: 'optional - only display programs where payouts are > $0.00 (defaults to false)',
|
|
600
602
|
suppress_progress: 'optional - suppress output (defaults to false)',
|
|
601
603
|
proxy: 'optional - scheme://proxy_host:port || tor'
|
|
602
604
|
)
|
|
603
605
|
|
|
604
|
-
|
|
606
|
+
# Run get scope details and return its result
|
|
607
|
+
#{self}.get_scope_details(
|
|
605
608
|
program_name: 'required - program name from #get_bounty_programs method',
|
|
606
609
|
proxy: 'optional - scheme://proxy_host:port || tor'
|
|
607
610
|
)
|
|
608
611
|
|
|
609
|
-
hacktivity
|
|
612
|
+
# Run get hacktivity and return its result
|
|
613
|
+
#{self}.get_hacktivity(
|
|
610
614
|
program_name: 'required - program name from #get_bounty_programs method',
|
|
611
615
|
proxy: 'optional - scheme://proxy_host:port || tor'
|
|
612
616
|
)
|
|
613
617
|
|
|
618
|
+
# Run save burp target config file and return its result
|
|
614
619
|
#{self}.save_burp_target_config_file(
|
|
615
620
|
programs_arr: 'required - array of hashes returned from #get_bounty_programs method',
|
|
616
621
|
browser_opts: 'optional - opts supported by PWN::Plugins::TransparentBrowser.open method',
|
|
617
622
|
name: 'optional - name of burp target config file (defaults to ALL)',
|
|
618
|
-
root_dir: 'optional - directory to save burp target config files (defaults to
|
|
623
|
+
root_dir: 'optional - directory to save burp target config files (defaults to ./))',
|
|
624
|
+
browser_type: 'optional - :firefox, :chrome, :ie, or :headless (defaults to :firefox)'
|
|
619
625
|
)
|
|
620
626
|
|
|
621
|
-
|
|
627
|
+
# Run login and return its result
|
|
628
|
+
#{self}.login(
|
|
622
629
|
browser_obj: 'required - browser_obj returned from #open method',
|
|
623
|
-
username: 'required - username',
|
|
624
|
-
password: 'optional - passwd (will prompt if blank)
|
|
630
|
+
username: 'required - username value consumed by #login',
|
|
631
|
+
password: 'optional - passwd (will prompt if blank)'
|
|
625
632
|
)
|
|
626
633
|
|
|
627
|
-
|
|
634
|
+
# Run logout and return its result
|
|
635
|
+
#{self}.logout(
|
|
628
636
|
browser_obj: 'required - browser_obj returned from #open method'
|
|
629
637
|
)
|
|
630
638
|
|
|
639
|
+
# Close a session previously returned by #open.
|
|
631
640
|
#{self}.close(
|
|
632
641
|
browser_obj: 'required - browser_obj returned from #open method'
|
|
633
642
|
)
|
|
634
643
|
|
|
644
|
+
# Print the AUTHOR(S) string for this module.
|
|
635
645
|
#{self}.authors
|
|
636
646
|
"
|
|
647
|
+
constants.sort
|
|
637
648
|
end
|
|
638
649
|
end
|
|
639
650
|
end
|
data/lib/pwn/www/linkedin.rb
CHANGED
|
@@ -97,27 +97,33 @@ module PWN
|
|
|
97
97
|
|
|
98
98
|
public_class_method def self.help
|
|
99
99
|
puts "USAGE:
|
|
100
|
-
|
|
100
|
+
# Open a session or connection and return a handle.
|
|
101
|
+
#{self}.open(
|
|
101
102
|
browser_type: 'optional - :firefox|:chrome|:ie|:headless (Defaults to :firefox)',
|
|
102
103
|
proxy: 'optional - scheme://proxy_host:port || tor'
|
|
103
104
|
)
|
|
104
105
|
|
|
105
|
-
|
|
106
|
+
# Run login and return its result
|
|
107
|
+
#{self}.login(
|
|
106
108
|
browser_obj: 'required - browser_obj returned from #open method',
|
|
107
|
-
username: 'required - username',
|
|
108
|
-
password: 'optional - passwd (will prompt if blank)
|
|
109
|
+
username: 'required - username value consumed by #login',
|
|
110
|
+
password: 'optional - passwd (will prompt if blank)'
|
|
109
111
|
)
|
|
110
112
|
|
|
111
|
-
|
|
113
|
+
# Run logout and return its result
|
|
114
|
+
#{self}.logout(
|
|
112
115
|
browser_obj: 'required - browser_obj returned from #open method'
|
|
113
116
|
)
|
|
114
117
|
|
|
118
|
+
# Close a session previously returned by #open.
|
|
115
119
|
#{self}.close(
|
|
116
120
|
browser_obj: 'required - browser_obj returned from #open method'
|
|
117
121
|
)
|
|
118
122
|
|
|
123
|
+
# Print the AUTHOR(S) string for this module.
|
|
119
124
|
#{self}.authors
|
|
120
125
|
"
|
|
126
|
+
constants.sort
|
|
121
127
|
end
|
|
122
128
|
end
|
|
123
129
|
end
|