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/aws/waf_regional.rb
CHANGED
|
@@ -72,20 +72,23 @@ module PWN
|
|
|
72
72
|
|
|
73
73
|
public_class_method def self.help
|
|
74
74
|
puts "USAGE:
|
|
75
|
-
|
|
75
|
+
# Run connect and return its result
|
|
76
|
+
#{self}.connect(
|
|
76
77
|
region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
|
|
77
78
|
access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
|
|
78
79
|
secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
|
|
79
80
|
sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
|
|
80
81
|
)
|
|
81
|
-
puts waf_regional_obj.public_methods
|
|
82
82
|
|
|
83
|
+
# Run disconnect and return its result
|
|
83
84
|
#{self}.disconnect(
|
|
84
85
|
waf_regional_obj: 'required - waf_regional_obj returned from #connect method'
|
|
85
86
|
)
|
|
86
87
|
|
|
88
|
+
# Print the AUTHOR(S) string for this module.
|
|
87
89
|
#{self}.authors
|
|
88
90
|
"
|
|
91
|
+
constants.sort
|
|
89
92
|
end
|
|
90
93
|
end
|
|
91
94
|
end
|
data/lib/pwn/aws/workspaces.rb
CHANGED
|
@@ -72,20 +72,23 @@ module PWN
|
|
|
72
72
|
|
|
73
73
|
public_class_method def self.help
|
|
74
74
|
puts "USAGE:
|
|
75
|
-
|
|
75
|
+
# Run connect and return its result
|
|
76
|
+
#{self}.connect(
|
|
76
77
|
region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
|
|
77
78
|
access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
|
|
78
79
|
secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
|
|
79
80
|
sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
|
|
80
81
|
)
|
|
81
|
-
puts workspaces_obj.public_methods
|
|
82
82
|
|
|
83
|
+
# Run disconnect and return its result
|
|
83
84
|
#{self}.disconnect(
|
|
84
85
|
workspaces_obj: 'required - workspaces_obj returned from #connect method'
|
|
85
86
|
)
|
|
86
87
|
|
|
88
|
+
# Print the AUTHOR(S) string for this module.
|
|
87
89
|
#{self}.authors
|
|
88
90
|
"
|
|
91
|
+
constants.sort
|
|
89
92
|
end
|
|
90
93
|
end
|
|
91
94
|
end
|
data/lib/pwn/aws/x_ray.rb
CHANGED
|
@@ -72,20 +72,23 @@ module PWN
|
|
|
72
72
|
|
|
73
73
|
public_class_method def self.help
|
|
74
74
|
puts "USAGE:
|
|
75
|
-
|
|
75
|
+
# Run connect and return its result
|
|
76
|
+
#{self}.connect(
|
|
76
77
|
region: 'required - region name to connect (eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, ap-northeast-2, ap-northeast-1, us-east-1, sa-east-1, us-west-1, us-west-2)',
|
|
77
78
|
access_key_id: 'required - Use AWS STS for best privacy (i.e. temporary access key id)',
|
|
78
79
|
secret_access_key: 'required - Use AWS STS for best privacy (i.e. temporary secret access key',
|
|
79
80
|
sts_session_token: 'optional - Temporary token returned by STS client for best privacy'
|
|
80
81
|
)
|
|
81
|
-
puts x_ray_obj.public_methods
|
|
82
82
|
|
|
83
|
+
# Run disconnect and return its result
|
|
83
84
|
#{self}.disconnect(
|
|
84
85
|
x_ray_obj: 'required - x_ray_obj returned from #connect method'
|
|
85
86
|
)
|
|
86
87
|
|
|
88
|
+
# Print the AUTHOR(S) string for this module.
|
|
87
89
|
#{self}.authors
|
|
88
90
|
"
|
|
91
|
+
constants.sort
|
|
89
92
|
end
|
|
90
93
|
end
|
|
91
94
|
end
|
data/lib/pwn/aws.rb
CHANGED
data/lib/pwn/banner/anon.rb
CHANGED
data/lib/pwn/banner/bubble.rb
CHANGED
data/lib/pwn/banner/cheshire.rb
CHANGED
data/lib/pwn/banner/code_cave.rb
CHANGED
|
@@ -1025,10 +1025,13 @@ module PWN
|
|
|
1025
1025
|
|
|
1026
1026
|
public_class_method def self.help
|
|
1027
1027
|
puts "USAGE:
|
|
1028
|
+
# Run get and return its result
|
|
1028
1029
|
#{self}.get
|
|
1029
1030
|
|
|
1031
|
+
# Print the AUTHOR(S) string for this module.
|
|
1030
1032
|
#{self}.authors
|
|
1031
1033
|
"
|
|
1034
|
+
constants.sort
|
|
1032
1035
|
end
|
|
1033
1036
|
end
|
|
1034
1037
|
end
|
data/lib/pwn/banner/f_society.rb
CHANGED
data/lib/pwn/banner/fork_bomb.rb
CHANGED
data/lib/pwn/banner/jmp_esp.rb
CHANGED
data/lib/pwn/banner/matrix.rb
CHANGED
|
@@ -194,12 +194,16 @@ module PWN
|
|
|
194
194
|
|
|
195
195
|
public_class_method def self.help
|
|
196
196
|
puts "USAGE:
|
|
197
|
+
# Run get and return its result
|
|
197
198
|
#{self}.get
|
|
198
199
|
|
|
199
|
-
#
|
|
200
|
+
# Run you and return its result
|
|
201
|
+
#{self}.you?
|
|
200
202
|
|
|
203
|
+
# Print the AUTHOR(S) string for this module.
|
|
201
204
|
#{self}.authors
|
|
202
205
|
"
|
|
206
|
+
constants.sort
|
|
203
207
|
end
|
|
204
208
|
end
|
|
205
209
|
end
|
data/lib/pwn/banner/ninja.rb
CHANGED
data/lib/pwn/banner/pirate.rb
CHANGED
data/lib/pwn/banner/radare2.rb
CHANGED
|
@@ -106,10 +106,13 @@ module PWN
|
|
|
106
106
|
|
|
107
107
|
public_class_method def self.help
|
|
108
108
|
puts "USAGE:
|
|
109
|
+
# Run get and return its result
|
|
109
110
|
#{self}.get
|
|
110
111
|
|
|
112
|
+
# Print the AUTHOR(S) string for this module.
|
|
111
113
|
#{self}.authors
|
|
112
114
|
"
|
|
115
|
+
constants.sort
|
|
113
116
|
end
|
|
114
117
|
end
|
|
115
118
|
end
|
data/lib/pwn/banner.rb
CHANGED
|
@@ -95,14 +95,18 @@ module PWN
|
|
|
95
95
|
|
|
96
96
|
public_class_method def self.help
|
|
97
97
|
puts "USAGE:
|
|
98
|
-
|
|
98
|
+
# Run get and return its result
|
|
99
|
+
#{self}.get(
|
|
99
100
|
index: 'optional - defaults to random banner index'
|
|
100
101
|
)
|
|
101
102
|
|
|
102
|
-
|
|
103
|
+
# Run welcome and return its result
|
|
104
|
+
#{self}.welcome
|
|
103
105
|
|
|
106
|
+
# Print the AUTHOR(S) string for this module.
|
|
104
107
|
#{self}.authors
|
|
105
108
|
"
|
|
109
|
+
constants.sort
|
|
106
110
|
end
|
|
107
111
|
end
|
|
108
112
|
end
|
data/lib/pwn/blockchain/btc.rb
CHANGED
|
@@ -261,19 +261,24 @@ module PWN
|
|
|
261
261
|
|
|
262
262
|
public_class_method def self.help
|
|
263
263
|
puts "USAGE:
|
|
264
|
-
|
|
264
|
+
# Run get latest block and return its result
|
|
265
|
+
#{self}.get_latest_block
|
|
265
266
|
|
|
266
|
-
|
|
267
|
+
# Run get block details and return its result
|
|
268
|
+
#{self}.get_block_details(
|
|
267
269
|
height: 'required - block height as an integer (0 for genesis block / Defaults to latest block)'
|
|
268
270
|
)
|
|
269
271
|
|
|
270
|
-
transactions
|
|
272
|
+
# Run get transactions and return its result
|
|
273
|
+
#{self}.get_transactions(
|
|
271
274
|
from: 'required - start date in YYYY-MM-DD format',
|
|
272
275
|
to: 'required - end date in YYYY-MM-DD format'
|
|
273
276
|
)
|
|
274
277
|
|
|
278
|
+
# Print the AUTHOR(S) string for this module.
|
|
275
279
|
#{self}.authors
|
|
276
280
|
"
|
|
281
|
+
constants.sort
|
|
277
282
|
end
|
|
278
283
|
end
|
|
279
284
|
end
|
data/lib/pwn/blockchain/eth.rb
CHANGED
|
@@ -142,14 +142,21 @@ module PWN
|
|
|
142
142
|
|
|
143
143
|
public_class_method def self.help
|
|
144
144
|
puts "USAGE:
|
|
145
|
-
|
|
145
|
+
# Run get latest block and return its result
|
|
146
|
+
#{self}.get_latest_block(
|
|
147
|
+
token: 'optional - API token for higher rate limits'
|
|
148
|
+
)
|
|
146
149
|
|
|
147
|
-
|
|
148
|
-
|
|
150
|
+
# Run get block details and return its result
|
|
151
|
+
#{self}.get_block_details(
|
|
152
|
+
height: 'required - block height number',
|
|
153
|
+
token: 'optional - API token for higher rate limits'
|
|
149
154
|
)
|
|
150
155
|
|
|
156
|
+
# Print the AUTHOR(S) string for this module.
|
|
151
157
|
#{self}.authors
|
|
152
158
|
"
|
|
159
|
+
constants.sort
|
|
153
160
|
end
|
|
154
161
|
end
|
|
155
162
|
end
|
data/lib/pwn/blockchain.rb
CHANGED
|
@@ -248,33 +248,52 @@ module PWN
|
|
|
248
248
|
# Display Usage Information
|
|
249
249
|
|
|
250
250
|
public_class_method def self.help
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
251
|
+
puts "USAGE:
|
|
252
|
+
# Run load plan and return its result
|
|
253
|
+
#{self}.load_plan(
|
|
254
|
+
yaml_path: 'required - /path/to/lifecycle_authz_replay.yaml'
|
|
255
|
+
)
|
|
256
|
+
|
|
257
|
+
# Run start run and return its result
|
|
258
|
+
#{self}.start_run(
|
|
259
|
+
yaml_path: 'optional - /path/to/lifecycle_authz_replay.yaml',
|
|
260
|
+
output_dir: 'required - /tmp/evidence_bundle',
|
|
261
|
+
plan: 'required - normalized_plan_hash',
|
|
262
|
+
run_id: 'required - run id value consumed by #start_run'
|
|
263
|
+
)
|
|
264
|
+
|
|
265
|
+
# Run record observation and return its result
|
|
266
|
+
#{self}.record_observation(
|
|
267
|
+
run_obj: 'required - run obj value consumed by #record_observation',
|
|
268
|
+
checkpoint: 'required - checkpoint value consumed by #record_observation',
|
|
269
|
+
actor: 'required - actor value consumed by #record_observation',
|
|
270
|
+
surface: 'required - repo_settings_page',
|
|
271
|
+
status: 'required - status value consumed by #record_observation',
|
|
272
|
+
request: 'optional - { method: GET, path: /org/repo/settings }',
|
|
273
|
+
response: 'optional - { http_status: 200 }',
|
|
274
|
+
notes: 'optional - Still reachable after collaborator removal',
|
|
275
|
+
artifact_paths: 'optional - Array [/tmp/screen.png]'
|
|
276
|
+
)
|
|
277
|
+
|
|
278
|
+
# Run finalize run and return its result
|
|
279
|
+
#{self}.finalize_run(
|
|
280
|
+
run_obj: 'required - run obj value consumed by #finalize_run'
|
|
281
|
+
)
|
|
282
|
+
|
|
283
|
+
# Run normalize plan and return its result
|
|
284
|
+
#{self}.normalize_plan(
|
|
285
|
+
plan: 'optional - plan value consumed by #normalize_plan',
|
|
286
|
+
campaign: 'required - { id: acme-revoke }',
|
|
287
|
+
actors: 'optional - [owner, revoked_user]',
|
|
288
|
+
surfaces: 'optional - surfaces value consumed by #normalize_plan',
|
|
289
|
+
checkpoints: 'required - [pre_change, post_change_t0]',
|
|
290
|
+
plan_id_hint: 'required - plan id hint value consumed by #normalize_plan'
|
|
291
|
+
)
|
|
292
|
+
|
|
293
|
+
# Print the AUTHOR(S) string for this module.
|
|
294
|
+
#{self}.authors
|
|
295
|
+
"
|
|
296
|
+
constants.sort
|
|
278
297
|
end
|
|
279
298
|
|
|
280
299
|
private_class_method def self.find_stale_access_findings(opts = {})
|
data/lib/pwn/bounty.rb
CHANGED
data/lib/pwn/config.rb
CHANGED
|
@@ -1050,39 +1050,105 @@ module PWN
|
|
|
1050
1050
|
|
|
1051
1051
|
public_class_method def self.help
|
|
1052
1052
|
puts "USAGE:
|
|
1053
|
+
# Run env template and return its result
|
|
1054
|
+
#{self}.env_template
|
|
1055
|
+
|
|
1056
|
+
# Run default env and return its result
|
|
1053
1057
|
#{self}.default_env(
|
|
1054
1058
|
pwn_env_path: 'optional - Path to pwn.yaml file. Defaults to ~/.pwn/pwn.yaml'
|
|
1055
1059
|
)
|
|
1056
1060
|
|
|
1061
|
+
# Run redact sensitive artifacts and return its result
|
|
1057
1062
|
#{self}.redact_sensitive_artifacts(
|
|
1058
1063
|
config: 'optional - Hash to redact sensitive artifacts from. Defaults to PWN::Env'
|
|
1059
1064
|
)
|
|
1060
1065
|
|
|
1061
|
-
#
|
|
1066
|
+
# Run init driver options and return its result
|
|
1067
|
+
#{self}.init_driver_options
|
|
1068
|
+
|
|
1069
|
+
# Run refresh env and return its result
|
|
1070
|
+
#{self}.refresh_env(
|
|
1071
|
+
pwn_env_path: 'required - pwn env path value consumed by #refresh_env',
|
|
1072
|
+
pwn_dec_path: 'required - pwn dec path value consumed by #refresh_env',
|
|
1073
|
+
key: 'optional - key value consumed by #refresh_env',
|
|
1074
|
+
iv: 'optional - iv value consumed by #refresh_env'
|
|
1075
|
+
)
|
|
1062
1076
|
|
|
1063
|
-
#
|
|
1077
|
+
# Run pwn skills path and return its result
|
|
1078
|
+
#{self}.pwn_skills_path(
|
|
1079
|
+
pwn_env_path: 'optional - Path to pwn.yaml file. Defaults to ~/.pwn/pwn.yaml'
|
|
1080
|
+
)
|
|
1064
1081
|
|
|
1082
|
+
# Run sanitize skill name and return its result
|
|
1083
|
+
#{self}.sanitize_skill_name(
|
|
1084
|
+
name: 'required - binary or identifier name'
|
|
1085
|
+
)
|
|
1086
|
+
|
|
1087
|
+
# Run parse skill frontmatter and return its result
|
|
1088
|
+
#{self}.parse_skill_frontmatter(
|
|
1089
|
+
content: 'optional - content value consumed by #parse_skill_frontmatter'
|
|
1090
|
+
)
|
|
1091
|
+
|
|
1092
|
+
# Run parse skill references and return its result
|
|
1093
|
+
#{self}.parse_skill_references(
|
|
1094
|
+
content: 'optional - content value consumed by #parse_skill_references'
|
|
1095
|
+
)
|
|
1096
|
+
|
|
1097
|
+
# Run write skill and return its result
|
|
1065
1098
|
#{self}.write_skill(
|
|
1066
|
-
name: 'required
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1099
|
+
name: 'required - free-form; sanitised to [a-z0-9-]',
|
|
1100
|
+
content: 'required - markdown body (WITHOUT frontmatter)',
|
|
1101
|
+
description: 'optional - 1..1024 chars; derived from body when omitted',
|
|
1102
|
+
references: 'optional - Array of URLs / CWE / CVE / ATT&CK / NIST ids',
|
|
1103
|
+
license: 'optional - SPDX id or free text',
|
|
1104
|
+
metadata: 'optional - Hash of arbitrary metadata',
|
|
1105
|
+
allowed_tools: 'optional - Array of toolset names',
|
|
1106
|
+
pwn_skills_path: 'optional - override skills root (defaults to pwn_skills_path)'
|
|
1070
1107
|
)
|
|
1071
1108
|
|
|
1072
|
-
#
|
|
1109
|
+
# Run migrate legacy skills and return its result
|
|
1110
|
+
#{self}.migrate_legacy_skills(
|
|
1111
|
+
pwn_skills_path: 'optional - override skills root (defaults to pwn_skills_path)',
|
|
1112
|
+
delete_legacy: 'optional - remove flat file after migration (default true)'
|
|
1113
|
+
)
|
|
1073
1114
|
|
|
1074
|
-
#
|
|
1115
|
+
# Run default skill names and return its result
|
|
1116
|
+
#{self}.default_skill_names(
|
|
1117
|
+
source: 'optional - source value consumed by #default_skill_names',
|
|
1118
|
+
root: 'optional - root value consumed by #default_skill_names'
|
|
1119
|
+
)
|
|
1075
1120
|
|
|
1076
|
-
#
|
|
1077
|
-
#{self}.
|
|
1121
|
+
# Run default skills dir and return its result
|
|
1122
|
+
#{self}.default_skills_dir
|
|
1078
1123
|
|
|
1079
|
-
#
|
|
1080
|
-
|
|
1081
|
-
|
|
1124
|
+
# Seed bundled skills into ~/.pwn/skills (or pwn_skills_path:)
|
|
1125
|
+
#{self}.install_default_skills(
|
|
1126
|
+
pwn_skills_path: 'optional - pwn skills path value consumed by #install_default_skills',
|
|
1127
|
+
source: 'optional - source value consumed by #install_default_skills'
|
|
1128
|
+
)
|
|
1129
|
+
|
|
1130
|
+
# Run load skills and return its result
|
|
1131
|
+
#{self}.load_skills(
|
|
1132
|
+
pwn_skills_path: 'optional - Path to skills folder. Defaults to ~/.pwn/skills',
|
|
1133
|
+
references: 'optional - frontmatter:, loaded:?, error:? }'
|
|
1082
1134
|
)
|
|
1083
1135
|
|
|
1136
|
+
# Run pwn memory path and return its result
|
|
1137
|
+
#{self}.pwn_memory_path
|
|
1138
|
+
|
|
1139
|
+
# Run load memory and return its result
|
|
1140
|
+
#{self}.load_memory
|
|
1141
|
+
|
|
1142
|
+
# Run pwn sessions path and return its result
|
|
1143
|
+
#{self}.pwn_sessions_path
|
|
1144
|
+
|
|
1145
|
+
# Run pwn cron path and return its result
|
|
1146
|
+
#{self}.pwn_cron_path
|
|
1147
|
+
|
|
1148
|
+
# Print the AUTHOR(S) string for this module.
|
|
1084
1149
|
#{self}.authors
|
|
1085
1150
|
"
|
|
1151
|
+
constants.sort
|
|
1086
1152
|
end
|
|
1087
1153
|
end
|
|
1088
1154
|
end
|